Configure the targets
Both targets are set per workspace in Settings. Enter one or both:SIEM HTTP endpoint
An HTTP intake for a SIEM such as Splunk, Datadog, or Microsoft Sentinel. Passport POSTs a JSON body of the shape
{ "source": "mcp-passport", "events": [ ... ] }.OTLP endpoint
An OpenTelemetry collector base URL. Passport POSTs OTLP/JSON logs to
<endpoint>/v1/logs, one log record per event, with a resource attribute service.name = mcp-passport.Delivery behavior
Export is durable and causal, tuned so a slow or down endpoint never affects the gateway hot path.- The authoritative audit or security event and one delivery row per configured target commit together. Passport never acknowledges the governed request while only half of that state is durable.
- SIEM, OTLP, and alert-webhook rows are acknowledged independently. A successful SIEM request is not repeated merely because the OTLP collector is unavailable.
- Each row keeps one stable delivery ID across retries and sends it as the HTTP
idempotency-key, closing the provider-accepted/process-restarted window for destinations that honor idempotency keys. - A cross-replica workspace claim ensures two Passport replicas do not intentionally deliver the same row concurrently. Delivery is at least once across process loss, restarts, and rolling deploys.
- Rejections back off from one second to one hour. Each row snapshots a content-free destination generation. A mismatching rolling replica defers the row for a persisted six-hour retirement window so the generation that owns it can drain it. A continuously removed or replaced target then becomes explicit
destination-removedordestination-reconfiguredterminal evidence; it is never reported as provider-accepted and never replays merely because a target is later re-enabled. - After the retry window, Passport replaces the delivery payload with content-free dead-letter evidence. The authoritative audit or security event follows its separate retention policy.
Delivery health is surfaced, not hidden. Aggregate queue depth, oldest age, target outcomes, bounded-batch saturation,
warnings, and recovery transitions come from durable storage without recipient, member, or workspace labels.