Skip to main content
NorthFond signs <unix_timestamp>.<raw_request_body> with HMAC-SHA256 and sends NorthFond-Signature: t=<timestamp>,v1=<hex_digest>.

Verify a signature

1

Read the raw body

Do not parse and reserialize JSON before verification.
2

Check timestamp freshness

Reject events outside your replay window.
3

Compare signatures safely

Calculate HMAC-SHA256 with the endpoint secret and use a constant-time comparison.
4

Deduplicate the event ID

Persist processed event IDs before applying business side effects.
5

Return a 2xx response

Acknowledge promptly and process expensive work asynchronously.
NorthFond retries failed deliveries. Dashboard users can inspect attempts, rotate endpoint secrets, send tests, and replay deliveries.

Delivery contract

  • Event IDs remain stable across retries and manual replays.
  • Delivery order is not guaranteed. Use the transaction’s current state as the source of truth.
  • Return a 2xx response after durable receipt, then process the event asynchronously.
  • Persist the event ID before applying side effects so a retry cannot duplicate work.
  • Rotating an endpoint secret changes the credential used for subsequent deliveries.
The signature must be calculated from the exact raw bytes received. Parsing and serializing the JSON first can change whitespace or field order and invalidate verification.