Skip to main content
AXON implements forensic webhooks through a durable outbox pattern with HMAC-signed delivery.
This is an advanced self-hosted/operator feature. Public launch does not yet include a dashboard UI for webhook configuration.

Events

Delivery Model

  1. Decision flow enqueues events for matching org webhook configs
  2. Dispatcher claims a batch via RPC (claim_event_outbox_batch) using row locks
  3. Each claimed row increments attempts and gets a short lease
  4. Successful delivery marks row delivered
  5. Failed delivery marks row retrying (or dead_letter at max attempts)

Payload Format

Headers

Manual Dispatch

Requires the static operator bearer AXON_DECISION_API_KEY.
Returns delivered and failed counts.

Configuration

Dashboard webhook configuration UI is not implemented. Today, webhook configs are managed directly in the webhook_configs table.

SSRF Protection

AXON validates webhook URLs at dispatch time to prevent server-side request forgery. Blocked destinations:
  • Private IPv4 ranges: 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16
  • Private IPv6 addresses: ::1, fe80::, fc00::, fd00::
  • HTTPS is required in production (HTTP is only permitted in development)
Retry backoff: Failed deliveries use exponential backoff capped at 5 minutes: