- Read raw body before JSON parse
- Compute HMAC with your signing secret
- Compare to header using constant-time equality
- Reject replays with idempotency keys where supported
Integration Hub records delivery attempts; use MCP integrations.list_issues and integrations.replay_delivery for failures.