ADR-058: Webhook security
Estado
Accepted — 2026-08-23
Decisión
Webhooks inbound (Gmail push, Microsoft Graph, futuros Stripe):
- Path
/api/v1/webhooks/:providersin JWT de User. - Verificar firma / token del vendor en el adapter antes del use case.
- Idempotencia por
providerEventId(tabla o Redis). Replays = 200. - Responder 2xx rápido; trabajo pesado (classify) vía outbox (ADR-022).
- No loguear el body crudo en INFO (ADR-028).
- Secrets de webhook en env (ADR-015), rotables.
Fallo de firma → 401/403, audit de seguridad, no crear Message.