hushgate.config.example.json
Rama main · réplica de lectura del repositorio original.
{
"host": "127.0.0.1",
"port": 8787,
"upstreams": {
"openai": "https://api.openai.com",
"anthropic": "https://api.anthropic.com"
},
"redaction": {
"defaultPolicy": "pseudonymize",
"policies": {
"SECRET": "block",
"GERMAN_TAX_ID": "hash",
"IPV4": "allow"
},
"dictionary": {
"names": ["Anna Schmidt"],
"terms": ["Projekt Nordlicht"]
},
"custom": [
{ "name": "employee id", "pattern": "EMP-\\d{5}" }
],
"dobYearRange": { "minYear": 1900, "maxYear": 2012 }
},
"briefing": {
"mode": "auto",
"text": null,
"append": "Sign off as the Acme GmbH support desk."
},
"limits": {
"maxBodyBytes": 16777216,
"upstreamTimeoutMs": 120000,
"requestTimeoutMs": 60000,
"idleTimeoutMs": 60000
},
"attachments": {
"enabled": true,
"maxBytes": 10485760,
"maxTotalBytes": 33554432,
"maxCount": 256,
"maxTextChars": 200000,
"timeoutMs": 20000,
"onUnreadable": "block",
"extractors": [
{
"mediaTypes": ["application/pdf"],
"formats": ["pdf"],
"command": "pdftotext",
"args": ["-q", "-enc", "UTF-8", "-", "-"],
"timeoutMs": 20000
}
]
},
"audit": {
"enabled": true,
"path": "hushgate-audit.jsonl"
},
"organisation": {
"name": "Acme GmbH",
"contact": "datenschutz@acme.example",
"dpo": "A. Datenschutz",
"purposes": [
"Drafting customer support replies",
"Summarising internal documents"
]
},
"tenants": [
{
"id": "support",
"name": "Support desk",
"keyHash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
"quotas": { "requestsPerMinute": 120, "tokensPerDay": 2000000 },
"audit": { "path": "audit/support.jsonl" },
"redaction": {
"policies": { "SECRET": "block" }
},
"briefing": {
"append": "Answer in German unless the customer wrote in another language."
}
}
],
"residency": {
"mode": "sanitize",
"routes": {
"openai.chat.completions": "sanitize",
"anthropic.messages": "sanitize"
},
"categories": {
"GERMAN_TAX_ID": "block"
},
"requireDataControls": false,
"allow": [
{
"endpoint": "https://api.openai.com",
"jurisdiction": "US",
"legalBasis": "EU-US DPF certified; SCCs in the DPA of 2026-01-12",
"note": "reviewed by the DPO; replace with an EU endpoint when feasible"
},
{
"endpoint": "https://api.anthropic.com",
"jurisdiction": "US",
"legalBasis": "SCCs in the commercial agreement of 2026-01-12"
}
],
"endpoints": []
}
}