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.