Securing 2M+ accounts & $15B+ in assets, protected & secure·B5 Secure™ — per data-element authorization for .NET platforms

Webhooks and Events

Signed event delivery

Webhooks and Events

Implement signed, replay-safe, idempotent event delivery for authorization, session, credential, policy, licensing, entitlement, incident, and evidence changes.

Production endpoints, credentials, native attestation, cloud integrations, and release certification remain environment-specific.

Working components

Implementation steps

Register an exact HTTPS receiver and accountable owner.
Verify the signature over the raw body and canonical event fields before parsing business data.
Enforce timestamp freshness and atomic replay protection.
Persist the event identifier and make processing idempotent.
Expose delivery health, retry, replay, disablement, and rotation controls.
Test duplicate, delayed, reordered, malformed, revoked-key, and outage scenarios.

Control details

Signature verification

Use the raw received bytes, assigned algorithm, key identifier, canonical timestamp, event identifier, and fixed-time comparison.

Idempotency

Persist the authoritative event identifier before side effects and return success for safely repeated delivery.

Key rotation

Support overlapping verification keys, explicit activation and retirement, audit, and rapid compromise revocation.

Signed events

Verify freshness, signature, and idempotency

ASP.NET Core webhook handler excerpt
bool valid = B5WebhookVerifier.Verify(
    secret,
    eventId: request.Headers["X-B5-Event-Id"],
    timestamp: request.Headers["X-B5-Timestamp"],
    body,
    suppliedSignatureBase64: request.Headers["X-B5-Signature"],
    now: DateTimeOffset.UtcNow,
    maximumAge: TimeSpan.FromMinutes(5));

if (!valid) return Results.Unauthorized();
if (await eventStore.ExistsAsync(eventId)) return Results.Ok();
await eventStore.ProcessOnceAsync(eventId, body);
HeaderUse
X-B5-Event-IdIdempotency and audit identity.
X-B5-TimestampFreshness window and replay control.
X-B5-SignatureHMAC signature over event ID, timestamp, and body digest.
X-B5-Correlation-IdTrace the source action and delivery attempts.
Release boundary: Production endpoints, credentials, native attestation, cloud integrations, and release certification remain environment-specific.
Developer Relations

Talk to a human.

Get architecture guidance, Test Mode access, integration review, or help choosing the right B5 identity and authorization pattern.

Scroll to Top