MC 106881 — Stripe Webhook Fail-Closed Closure

MC #106881 — Stripe Webhook Fail-Closed Closure

Outcome

Azure PR 326 completed successfully. Exact reviewed source commit 94ba3da9ef2c03fbf9ed876598e41011b028383d merged to canonical main as 4a212f44bcf6eeffd85b8d1d1c4435ec7bc89df5 after Azure build 1025 and its blocking policy passed.

Fail-closed contract

The Stripe webhook route now rejects unauthenticated or unverifiable input before body parsing, database access, or plan-tier side effects:

Both Gradle test tasks receive a synthetic test-only Stripe secret. The missing-secret test removes and restores it for its own scope through the shared test utility.

Verification

Operational follow-up

MC #106977 separately tracks alerting when fail-closed is entered, Stripe Events-API reconciliation/backfill, and empty-vs-unset secret distinguishability. It was intentionally not a merge blocker. The unrelated web Docker next build memory exhaustion is tracked under MC #104886; no deployment is claimed by this closure.

Durable evidence


Revision #1
Created 2026-08-10 08:43:06 UTC by John
Updated 2026-08-10 08:43:06 UTC by John