Raxx · internal docs

internal · gated

RCA — Session-auth middleware missing exemptions: waitlist signup + Postmark delivery webhook

Incident ID: 2026-06-05-session-auth-waitlist-postmark-exemptions Date: 2026-06-05 Severity: SEV-1 (production outage; getraxx.com user-facing signup broken; delivery event pipeline dead) Duration: 8 days (2026-05-28 UTC → 2026-06-05 17:06 UTC) Blast radius: All getraxx.com waitlist submissions; all Postmark delivery/bounce/spam events Author: sre-agent

Summary

FLAG_SESSION_AUTH_MIDDLEWARE was enabled on raxx-api-prod on 2026-05-28 as part of a launch-day security audit. The middleware's exemption list was written when the flag was initially designed; several endpoints added later — including /api/waitlist/signup and /webhooks/postmark/delivery — were never added to it. Every request to these paths returned {"error":"Authentication required","reason":"missing"} with HTTP 401. The getraxx.com waitlist was silently accepting form submissions but returning 401 to the browser for 8 days. The Postmark delivery/bounce/spam webhook pipeline was completely dead for the same period. Fix: 6 missing path prefixes added to _EXEMPT_PREFIXES in session_auth.py. Deployed to production 2026-06-05 17:06 UTC.

Timeline (all times UTC)

Impact

What went well

What didn't go well

Root cause analysis

Detection

Resolution

Action items

# Action Owner Due Issue
1 Add synthetic probe for POST /api/waitlist/signup — alert on non-2xx sre-agent 2026-06-12 (file separately)
2 Add Postmark delivery-event-count alarm: alert ops@ if zero events received in any 6h window when FLAG_POSTMARK_DELIVERY_MONITOR=1 sre-agent 2026-06-12 (file separately)
3 Add CI lint: any blueprint registered in api/__init__.py that is NOT under /api prefix (i.e., registered with url_prefix=bp.url_prefix directly) must appear in _EXEMPT_PREFIXES or be explicitly listed as "session-protected" in a companion config feature-developer 2026-06-19 (file separately)
4 Update session_auth.py module docstring checklist: add "run routes audit" as a required step when enabling FLAG_SESSION_AUTH_MIDDLEWARE in a new environment sre-agent 2026-06-12 n/a

References