Boardroom Answers · Technology & Platform · Enterprise Integration & Interoperability
What is your event architecture? If I build against your webhooks, what guarantees do I actually get?
The question a Chief Enterprise Architect (CEA) asks.
The short answer
Typed event bus with a durable outbox inside, signed versioned webhook envelopes outside, at-least-once with retries and dead-lettering — and internal and external event catalogues are literally the same list in code.
The full executive answer
Internally, every module publishes domain events — an assessment completed, a risk created — onto a typed event bus with a durable outbox. Durable outbox means each event is first written to a database table before any delivery is attempted, so an event is never lost to a process crash; delivery workers then fan out from that table. The catalogue of event types is a single source of truth in code: the internal bus validates against the same published catalogue your webhooks subscribe to, so internal and external views of the platform's events can never drift apart.
What you get as a consumer: every delivery is wrapped in a canonical envelope carrying a unique event ID, the event type, the API version, timestamp and payload — and it is signed with HMAC-SHA256, a keyed cryptographic signature over the exact bytes, sent in a signature header so your receiver can verify the payload came from us and was not altered. Secret rotation is zero-downtime: during rotation we sign with both the new and previous secret, Stripe-style, so a receiver holding either verifies successfully. Verification on our side is constant-time, closing the timing side-channel.
Delivery semantics, stated honestly: at-least-once with retries, exponential backoff, and a dead-letter state for endpoints that keep failing — which means your consumer must be idempotent, deduplicating on the event ID we give you for exactly that purpose. That is the standard contract of every serious eventing system; anyone promising exactly-once delivery over the public internet is selling you something.
Grounded in: Transactional outbox pattern; at-least-once delivery semantics; HMAC-SHA256 (FIPS 198-1)
The natural next questions
Related governed answers
- My engineers will have to build against you. What do they actually get — SDKs, docs, sandboxes — and what is missing?
- If I build integrations against your API today, what is your compatibility promise — and what happened the last time you broke it?
- Describe your API design: versioning, error contracts, idempotency, rate limiting. Convince me it was designed, not accreted.?
Want this answered live, on your data?