Exactly how Contact Scout is built, what data moves where, and why your IT Director might like it. Oh wait, they don't like anything...
Every request follows this path. No detours, no side channels, no data at rest.
Every layer is locked down. Here's exactly what protects your data.
No persistent background page. Ephemeral service worker with no long-running processes. Minimal permission set.
Contact data is processed in-transit only. Never written to disk, database, or logs on our servers.
Authentication delegated to Google. No password handling. Tokens managed by Chrome, scoped to contacts only.
All traffic over TLS 1.2+. HSTS, X-Content-Type-Options, X-Frame-Options, and strict Referrer-Policy enforced.
Gemini API key stored in Vercel environment variables. Never bundled in the extension or exposed to the client.
Fail-closed quota enforcement (consumed before the AI call, not after). CORS origin restrictions, per-user rate limiting, and SSRF protections on all endpoints.
Zero tracking SDKs, pixel trackers, or fingerprinting. Scoped to activeTab only — no access to other tabs, history, or bookmarks.
The only personal data we store is an email address — for authentication, quotas, and billing. Nothing else.
Billing and quota data isolated per user via Postgres RLS policies.
The complete list. Copy this into your risk assessment.
| Data Type | Collected? | Where Stored |
|---|---|---|
| Google email address | Yes | Supabase (auth, quotas, billing) |
| Contact data you extract | No | Ephemeral — passes through, never stored |
| Payment information | No | Handled entirely by Stripe (PCI DSS Level 1) |
| Browsing history | No | Not accessible — activeTab only |
| Other open tabs | No | Not accessible — activeTab only |
| Cookies / session tokens | No | None created — Chrome manages OAuth tokens |
| Analytics / tracking | No | Zero tracking SDKs in the extension |
IT teams can reach us directly for security reviews, compliance documentation, or technical deep-dives.
Contact Security Team