No unsigned fallback
A secret-service failure causes delivery to retry; it never causes an unsigned request to leave.
Security
Sign every delivery, protect reserved headers, scope customer portal sessions, rotate secrets with controlled overlap, and restrict where the portal can be embedded.
For platform and security teams reviewing webhook delivery and customer-facing integration controls.
Delivery headers
webhook-id msg_01J…
webhook-timestamp 1783684800
webhook-signature v1,••••••
Secret versions
Why it matters
Security behavior is part of the delivery and portal workflow, not a separate checklist applied after launch.
The other half of that signature runs on code you do not control: webhook signature verification, end to end.
How it works
Create the signature over the message ID, attempt timestamp, and exact body.
Prevent endpoint custom headers from replacing identity, signature, or content headers.
Issue a new secret and optionally keep the previous version signing through a defined overlap.
Scope tokens to one customer and environment and allow embedding only from approved origins.
What you can do
A secret-service failure causes delivery to retry; it never causes an unsigned request to leave.
Multiple eligible signatures allow receivers to move to a new secret without a single-instant cutover.
Cross-customer endpoint, delivery, and secret access returns no resource.
Preview sessions block configuration changes, secret access, and replay.
From schema to delivery