Signed webhooks
Delivery contract
Section titled “Delivery contract”Emissary produces outbound events using a durable delivery/outbox boundary and records attempts. A delivery is at-least-once from the consumer’s perspective: the receiver must be idempotent and maintain durable event deduplication.
- Read the original request-body bytes before parsing or reserializing JSON.
- Verify the Webhook-Timestamp and Webhook-Signature using the endpoint secret and documented HMAC input.
- Enforce the timestamp tolerance and constant-time signature comparison.
- Store a durable event ID and processing result before acknowledging success.
- Use delivery/attempt reads in the portal/API to diagnose delivery outcomes.
SDK support
Section titled “SDK support”Each official SDK includes a webhook verification example. Signature verification authenticates the event body; it does not authorize your application’s business action by itself.