Ventanilla handles citizens' questions about government services, so we take privacy and abuse seriously.
| Layer | What it does |
|---|---|
| Browser | Detects cédulas, NIT, phones, emails, plates, accounts and addresses, and blocks sending until removed. No cookies, analytics or third-party requests. |
| Server | Scrubs the same patterns again before anything reaches the model or Croma. |
| History | Assistant turns are HMAC-signed. Unsigned or forged turns are dropped. |
| Abuse | 6 requests a minute and 80 a day per client, keyed by HMAC(secret, day + IP) with IPv6 grouped by /64. Same-origin and Sec-Fetch-Site checks, JSON only, 24 KB body cap. |
| Output | Links render only for https URLs on official domains that the tools returned. Tool output is treated as data, not instructions. |
| Icons | /api/icon serves official domains only, caps size, rate-limits cache misses and responds with a sandbox CSP. |
| Headers | CSP with connect-src 'self', Referrer-Policy: no-referrer, frame denial, a locked-down Permissions-Policy and HSTS (vercel.json). |
| Logs | Timings, tool names and cache hits only. Never message content. |
Please report vulnerabilities privately through GitHub security advisories. Do not open a public issue.
Include the steps to reproduce and the impact. We aim to reply within 3 business days.
- Personal data reaching the model, Croma, logs or caches despite the scrubbers
- Bypassing rate limits, origin checks or the HMAC signing of assistant turns
- Prompt injection that makes the assistant link to non-official URLs or present invented sources as official
- XSS or CSP bypasses, and abuse of
/api/icon
- Wrong or outdated answers. Open a regular issue with the official source instead.
- Volumetric denial of service