/ 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

ControlDetailStatus
Raw-prompt rejectionServer-side 422 on any event with prompt contentbuilt · enforced
Secret detection422 on sk-/AKIA/ghp_/private-key patterns in uploadsbuilt · enforced
AuthenticationClerk (Google/GitHub OAuth); RS256 JWTs verified per request; we never handle passwordsbuilt
Tenant scopingEvery query bound to workspace membership; object-level ownership checks on readsbuilt
Edge protectionCloudflare-proxied zone; TLS 1.3; HSTS, CSP, X-Frame-Options, nosniff, Referrer-Policy, Permissions-Policy on all pagesbuilt
Audit logAppend-only record of uploads, analysis, report accessbuilt
Durable storageConvex operating database + Cloudflare R2 independent archive for public forms; D1 + R2 for the control plane; retry state and dead-letter handling for background workbuilt
Analysis safetyUploaded content is parsed as data, never executed; no LLM writes any number in a reportbuilt · by design
CI securitySecret scanning, static analysis, dependency audit, worker tests, and SBOM artifact on the worker pathbuilt
WAF rate limiting + TurnstileEdge rate limits and bot challenge on public formsbuilt
Data export, deletion, purge, retentionAuthenticated Worker APIs for export, trace deletion, workspace purge, and retention; email support remains availablebuilt
SOC 2 programControls are being shaped for it (audit log, access control, DR) ahead of a formal programplanned
SSO/SAML, SCIMEnterprise identityplanned

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.