/ trust
Security & data handling, with truth labels.
The same claim discipline we apply to performance numbers applies to our own security posture: what is built is marked built, what is planned is marked planned. Last updated 2026-07-13.
The rule that everything hangs from
We refuse your most sensitive data at the door. The upload API rejects — server-side, before storage — any trace containing raw prompts or credential-shaped strings (API keys, cloud keys, tokens, private keys). Receipts carry hashes and counts, never content. Your provider keys stay on your machines (BYOK); we never ask for them.
Posture today
| Control | Detail | Status |
|---|---|---|
| Raw-prompt rejection | Server-side 422 on any event with prompt content | built · enforced |
| Secret detection | 422 on sk-/AKIA/ghp_/private-key patterns in uploads | built · enforced |
| Authentication | Clerk (Google/GitHub OAuth); RS256 JWTs verified per request; we never handle passwords | built |
| Tenant scoping | Every query bound to workspace membership; object-level ownership checks on reads | built |
| Edge protection | Cloudflare-proxied zone; TLS 1.3; HSTS, CSP, X-Frame-Options, nosniff, Referrer-Policy, Permissions-Policy on all pages | built |
| Audit log | Append-only record of uploads, analysis, report access | built |
| Durable storage | Convex operating database + Cloudflare R2 independent archive for public forms; D1 + R2 for the control plane; retry state and dead-letter handling for background work | built |
| Analysis safety | Uploaded content is parsed as data, never executed; no LLM writes any number in a report | built · by design |
| CI security | Secret scanning, static analysis, dependency audit, worker tests, and SBOM artifact on the worker path | built |
| WAF rate limiting + Turnstile | Edge rate limits and bot challenge on public forms | built |
| Data export, deletion, purge, retention | Authenticated Worker APIs for export, trace deletion, workspace purge, and retention; email support remains available | built |
| SOC 2 program | Controls are being shaped for it (audit log, access control, DR) ahead of a formal program | planned |
| SSO/SAML, SCIM | Enterprise identity | planned |
Deployment modes
Local (default): the InferGuard proxy runs on your machines; keys and prompts never leave them; only redacted telemetry is optionally synced. VPC / air-gapped: the CLI runs fully offline today — reports can be generated without any Touchdown-hosted service. Hosted dashboard: redacted telemetry only, scoped to your workspace, deletable on request.
Subprocessors
Cloudflare (hosting, storage, edge), Convex (public-form operating database and workflow), Clerk (authentication), Google Workspace (optional intake mirror), Resend (optional email notification).
Reporting a vulnerability
Email [email protected] with subject "Security report". A human reads it, we respond fast, and we credit good-faith researchers if you want credit. No safe-harbor lawyering: act in good faith and so will we.