Webhook verification is the boundary between an external event and a change inside business software. A reliable checklist covers the exact bytes signed, the secret lifecycle, replay protection, and the response behavior when verification fails.
Identify the trusted provider
Record the provider, endpoint, event types, environment, account or tenant scope, and the secret owner. Do not treat a request as trusted merely because it arrived at an obscure URL.
Verify the exact signed message
Use the raw request body and documented canonicalization rules before parsing or reformatting data. Record the signature header format, algorithm, encoding, and any timestamp or version prefix used by the provider.
Protect against replay
Validate a reasonable timestamp window, track event or delivery identifiers, and make the downstream operation idempotent. Define how delayed but legitimate deliveries are handled without allowing an old message to be reused indefinitely.
The webhook cost guide and webhook replay guide cover the surrounding delivery and recovery work.
Rotate secrets safely
Support an overlap period when the provider allows it, record owners and expiration dates, test the new secret, and revoke the old one after verification. Never print secrets in logs, errors, tickets, or sample payloads.
Return safe failure responses
Reject invalid messages without revealing which verification step failed. Log enough metadata to investigate, alert on unusual failure rates, and make retry behavior clear to the provider and operator.
Test and monitor the boundary
Test valid, altered, delayed, duplicated, malformed, oversized, wrong-environment, and rotated-secret requests. Monitor verification failures, replay attempts, processing latency, duplicate effects, and provider changes.
Webhook events changing data without clear proof? Ask Vertinus to document verification and replay controls.