HMAC signatures

Generate and compare a webhook signature locally.

A match covers the supplied key and bytes. Sender identity, replay protection and server acceptance need separate checks.

Expected signature or header value (optional) · Received signature header
Header ready output
···
Hex · Base64
Hex
···
Base64
···
Redacted debug report
Redacted debug report
···
HMAC debugging boundary

Raw body

Stripe, Slack, Paddle, Razorpay, and similar flows usually require the raw body captured before JSON/body parser reserialization. Whitespace and newline changes alter the signature.

Timestamp and replay

Timestamp hints use this browser clock only. They do not prove server clock correctness, replay-window acceptance, or provider state.

Redacted report

The report omits raw secret, raw payload, signature header text, complete signatures, and complete message id while keeping useful debugging facts.

Server-side verification

Production verification should keep secrets server-side, use official libraries or constant-time comparison, and handle idempotency, time windows, and logging separately.