Traffic analysis, audit and retention
Trace decisions, distinguish reports from enforcement and configure retention.
Role: deployment operator. These steps use the operator console. An ordinary hosted account exposes only its own keys and limits; request policy, protection-mode and masking changes from the operator.
Use reports to answer four separate questions: what was detected, which policy decided, what actually happened to the request, and where the evidence is stored. Report controls change the displayed sample; they do not enable or disable inspection.
Trace a request from client to decision
- Record the client’s Request ID, UTC time, tenant and application/model label; omit raw secrets.
- Open Request history → Router requests, select that tenant and time range, then search by request ID.
- Read sensitivity, classes, injection, tier, decision reason and policy/rule identity. Compare actual action and destination with the intended policy.
- Inspect content or replacement evidence only when stored and you have investigation permissions. Missing content is not proof of absent inspection.
- For grouped threats, open Injection alerts; use links back to the same audit record.
What the fields mean
| Field | Interpretation |
|---|---|
| tenant / app / actor | Organization, application and initiator; display selection does not grant permissions. |
| sensitivity / data classes / severity | Privacy category, detected class IDs and threat criticality; different concepts. |
| tier | Cascade stage: 0 prefilter, 1 rules, 2 encoder, 3 LLM arbitration. Availability/version can limit stages. |
| injection_detected | Detected injection, not automatically proof of a blocked request. |
| action / reason / policy_id / rule_id | Decision and winning rule; validate the final processing outcome separately. |
| perimeter / provider / model | Actual route; model hints cannot lower privacy containment. |
| latency / P50 / P95 / P99 | Time and distribution percentiles; classifier latency is different from full model-response latency. |
| hash / original content / KEY_N mapping | Metadata integrity, raw content and replacement dictionary are separate stores. |
Reports, filters and live feed
Period, tenant, action, class, policy and app filters narrow the report. Clear filters to compare against a broader sample; recheck UTC time. Auto-refresh Off/None and live-feed Pause only affect this browser. Clear clears the visible feed buffer; durable audit remains. SSE reconnect may omit previous events, so investigations use persisted audit. No data and HTTP 503 are different outcomes.
Classifier Health requires available historical sources. Check its period, failure/fail-safe ratio and latency alongside the integration’s actual classifier status. A closed breaker means attempts are permitted; it does not prove every request succeeded. A circuit-open or fail-safe event should be investigated with its request ID.
Retention and content access
| Store / control | What it retains | Important boundary |
|---|---|---|
| Ring buffer | Recent decision metadata | Memory-limited and lost on restart; not long-term history. |
| PostgreSQL audit | Durable decision history and analytics | Requires configured storage; reports/export can be unavailable without it. |
| Journal retention: max age in days | Automatic pruning of audit records | 0 disables pruning, not logging. Pruning removes historical records; select the retention required by your organization. |
| Original-content storage | Captured request/answer content if enabled | Separate encryption/access and retention; cannot reconstruct text that was never captured. |
| Masking session TTL | Value ↔ KEY_N mapping | Separate from audit retention; check storage and encryption status. |
| Chain verification | Available audit hash chain | Verify the reported scope/pod; this is not automatically a global cross-replica integrity certificate. |
Open Routing Audit → Journal retention → maximum age → Save to change the supported retention control. Re-read its status. Changing a report’s period does not change retention.
2026-10-15 · Actual staging application. Synthetic client, public definitions or aggregate test-stand metrics only; not customer statistics or a benchmark. Original pixels are unmodified; personal profile and private data excluded. Filtered to the owned synthetic client; one persisted record was verified.
- Search
- Filters
- Route / external result
Worker tasks and gateway calls
Request history separates Router requests from client tasks. A successful worker task is not evidence that a direct /v1 call passed policy. Correlate each source using its own IDs. Route preview checks a decision without calling a model; Playground Chat sends a real request and consumes budget. Content search, response and thinking require captured data and supported model output. Storage settings do not force a model to expose reasoning.