Every webhook delivery includes anDocumentation Index
Fetch the complete documentation index at: https://docs.notealy.com/llms.txt
Use this file to discover all available pages before exploring further.
X-Notealy-Signature header so your receiver can confirm Notealy sent it and that the payload was not tampered with in transit.
Header format
t— unix timestamp (seconds) at signing timev1— hex-encoded HMAC-SHA256 of"{t}.{rawBody}", keyed by your subscription’s signing secret
Verifying (Node.js)
- Use the raw body, not a re-serialized one. Express middlewares like
express.json()consume the buffer; capture it with averifycallback or usebody-parserraw mode for the webhook route. - Compare in constant time with
timingSafeEqual(or your language’s equivalent) to avoid timing attacks. - Reject stale signatures — we recommend a 5-minute tolerance window. Replay attempts older than that should be rejected even if the HMAC matches.
- Rotate periodically. Use Rotate signing secret in the dashboard; the new secret is shown once and old signatures stop validating immediately.