Security
Webhook verification
Authenticate delivery bytes, enforce freshness, and process each event once.
- Read the untouched request bytes.
- Pass the bytes and original headers to
verifyDomain0Webhook(). - Let the verifier validate schema version, timestamp, key ID, and signature.
- Insert
eventIdand apply your mutation in one transaction. - Return 2xx for a duplicate already committed event.
Keep a keyring during rotation so in-flight deliveries signed by the previous key remain verifiable. Do not log signatures, signing secrets, or sensitive event attributes.