Subprocessors and data access
Every third party that handles your data, and what each one can access.
| Subprocessor | Purpose | What it can access | Plaintext values |
|---|---|---|---|
| AWS KMS | Key wrapping | Key material only. | None |
| Neon (Postgres) | Primary database | Ciphertext and metadata. We encrypt values before they land. | None |
| Vercel | Application hosting and edge | Request routing, a coarse geo hint, and the compute that decrypts a value to serve it. | In memory |
| Google Analytics | Page visit counts, after you accept cookies | Page paths, a truncated IP address and browser details. | None |
| Resend | Transactional email | The recipient address, subject and body. | None |
| Upstash | Rate-limit counters and job locks | A counter and a key derived from an account or source IP address. | None |
| Sentry | Error reports | Error details with account and workspace identifiers, and a masked replay if you accept cookies. Never a value, token, password, request body or IP address. | None |
| GitHub | Copies of error reports, as tickets in a private repository | The same error details. | None |
| Stripe | Payments | Billing and payment data. | None |
| Paystack | Payments, African markets | Billing and payment data. | None |
AWS KMS handles key material and Neon stores ciphertext plus metadata, so plaintext values stay outside both. Regions: United States.