We use essential cookies to make the site work. With your consent, we also use analytics + marketing cookies.
A survey of common webhook-signature mistakes — timestamp windows, cert rotation, HMAC pitfalls — and how we designed ours to be safe by default.
Webhook signatures should be boring. In practice, most CPaaS integrations get them subtly wrong — usually in ways that only bite you six months in, on an outage nobody can reproduce.
Header: X-CPaaS-Signature: t=1734567890,v1=abcd...
signed_payload = "{timestamp}.{raw_body}"
signature = HMAC_SHA256(signing_secret, signed_payload)On the receiver side you reject anything with a timestamp more than 5 minutes off, HMAC the concatenation yourself, and constant-time compare.
When you rotate a signing secret we keep the previous one accepted for 24 hours. That gives you a graceful window to redeploy your verifier code. Both secrets are returned by the API so you can log signature-verification success rate before you flip.
The best webhook signature scheme is one you can rotate at 2 AM without paging anyone.— Every SRE, everywhere
HIPAA does not certify products — it certifies practices. Here is what "HIPAA-ready" means concretely for a messaging platform, and how we support covered entities.
Meta's WhatsApp Business API onboarding still surprises teams. Here is the current playbook — WABA verification, template approval, and messaging limits.
Today we're launching Raftar API — a single messaging platform for WhatsApp, SMS, RCS, Email, Voice, Telegram, and Instagram. Here is what we shipped and why.