Skip to main content

Signature format

Verification steps

  1. Read raw request body (before JSON parsing)
  2. Require X-Meum-Signature and X-Meum-Timestamp
  3. Reject timestamps older than 300 seconds
  4. When X-Meum-Integration-Id is present, match your stored int_...
  5. Compare signatures with constant-time equality
  6. Deduplicate on X-Meum-Event-Id before processing

Example (Node.js)

Security checklist

  • Return HTTP 200 only after verification succeeds
  • Never log webhook secrets
  • Rotate secrets immediately if compromised (Incident reporting)