Context
During the trust-and-safety subprocessor sweep (#2298, #2301), the Trust Center subprocessor row for Supabase was updated to flag "auth confirm/reset/invite emails currently rely on Supabase's built-in mailer." That note exists because no `GOTRUE_SMTP_*` overrides are set in Railway today, which means Supabase routes auth emails through its built-in (default) SMTP transport.
Supabase's built-in mailer:
- Has a low send rate limit (3-4/hour per project) — not production-grade
- Uses Supabase's own infrastructure as the upstream (not visible to the customer)
- Doesn't surface delivery analytics
Decision needed
- Should we wire a contracted SMTP provider for Supabase Auth (Resend is already a subprocessor — natural fit; SendGrid / Postmark are alternatives)?
- If yes — set `GOTRUE_SMTP_HOST`, `GOTRUE_SMTP_PORT`, `GOTRUE_SMTP_USER`, `GOTRUE_SMTP_PASS`, `GOTRUE_SMTP_ADMIN_EMAIL`, `GOTRUE_SMTP_SENDER_NAME` in Railway. Update DPA SUBPROCESSORS to flag the SMTP transport explicitly.
- If no — accept the rate-limit ceiling and document the operational risk (a sign-up burst above 3-4/hr will silently delay confirmation emails).
Why this matters
- DPA accuracy: customers reading `/dpa` need to know what subprocessor handles password-reset emails and account-confirmation emails — those messages contain user PII (email + tenant context).
- Production reliability: free-tier Supabase mailer is the wrong choice if signup volume picks up. Better to rip the bandage now than discover during a launch.
- Resend is already a paid subprocessor for app-level transactional email (contact form, alerts) so adding SMTP routing to the same vendor is low overhead.
Files that depend on the answer
- `frontend/src/app/trust/page.tsx` — subprocessor table
- `frontend/src/app/dpa/page.tsx` — `SUBPROCESSORS` array Supabase row
- `frontend/src/app/privacy/page.tsx` — auth-email disclosure
- Railway env vars — `GOTRUE_SMTP_*` set
Acceptance criteria
Context
During the trust-and-safety subprocessor sweep (#2298, #2301), the Trust Center subprocessor row for Supabase was updated to flag "auth confirm/reset/invite emails currently rely on Supabase's built-in mailer." That note exists because no `GOTRUE_SMTP_*` overrides are set in Railway today, which means Supabase routes auth emails through its built-in (default) SMTP transport.
Supabase's built-in mailer:
Decision needed
Why this matters
Files that depend on the answer
Acceptance criteria