Data Processors
Last updated 2026-05-10
Property Briefcase relies on a small set of third-party processors. Each one operates under its own published Data Processing Agreement (DPA). This page is the durable reference — what each processor sees, whether your content is persisted with them, and where to read the underlying contract.
| Processor | What we send | Storage at processor | Public DPA |
|---|---|---|---|
| Supabase | account, property + document content (this is our primary store) | PersistedThis is where your data lives. | DPA → |
| Google (Vertex AI / Gemini API) | document content for classification + extraction; chat prompts + retrieved chunks | TransientNot stored beyond the request. | DPA → |
| Anthropic (Claude API) | document content for classification + extraction; chat prompts + retrieved chunks | TransientNot stored beyond the request. | DPA →Anthropic publishes its DPA + compliance posture via the Trust Center — request a signed DPA before commercial launch. |
| Resend | account email + transactional and briefing email bodies | PersistedPersisted for delivery + logs. | DPA → |
| Sentry | error stack traces, request IDs (no document content, no prompts, no auth tokens) | PersistedEvent retention 90 days V1. | DPA → |
| Vercel | request logs, anonymized analytics events (only with analytics consent) | PersistedPer Vercel default log retention. | DPA → |
AI processing invariants
- No document content is sent to Gemini or Claude beyond the duration of a single classification / extraction request. Both providers’ default commercial DPAs include no-training clauses, which we rely on.
- Signed URLs to documents are never passed in AI prompts (architectural — see the signed-URL TTL constants in
lib/constants/storage.ts). - We never log document content, prompts, AI responses, or signed URLs (security baseline §6 — Story 1.11).