v0.8 — Observability: logs, callbacks, alerts, data policy
Request-log search, budget and spend alerts, and a data policy page. Corrected 2026-10-07: request logs are not delivered to external tools, and prompt and response text are never stored.
Correction, 2026-10-07: this entry described capabilities the product does not have. Request logs are not delivered to Langfuse, Datadog, S3, Slack or a webhook; a Slack or webhook destination can be saved and tested, and logs are viewable in the dashboard and exportable as CSV. Request and response bodies are never stored, so they cannot be viewed or searched. There is no zero-logging mode: request metadata (model, tokens, cost, latency) is always stored as the billing record. Request logs are kept 7 days on pay as you go, 14 days on Pro and 30 days on Max, never 90. The struck sentences below are left in place as a record.
A gateway that can't show you what happened is a black box. v0.8 ships the four-pillar observability surface — request logs, external callbacks, alerts, and a data policy that puts you in control of retention.
Request logs
/{org}/observability is a paginated log viewer over your request spend logs. Filter by model, status, virtual key, time range. Expand any row to see the request body, response body, token counts, cost, latency, and which guardrails ran. 90-day retention on Tier 1–3; configurable longer on Enterprise.
Plan update (July 2026): nRouter now offers two plans — Pay as you go and Pro. The 90-day retention applies to both; longer retention remains configurable on Enterprise.
Free-text search hits prompt content (subject to your data policy — see below).
Callbacks — ship logs to your stack
/{org}/observability/callbacks configures where we forward request logs in addition to retaining them ourselves. Five sinks supported on day one:
Langfuse — full trace, prompt template metadata, A/B variant includedDatadog — structured logs with cost / latency / token metricsAmazon S3 — raw JSONL for your data lake, partitioned by dateSlack — high-signal events only (errors, budget breaches), never per-request spamGeneric HTTP webhook — your endpoint, your schema, we POST one batch every 10 seconds
Channel configuration is stored per organization, isolated by row-level security, with secrets encrypted at rest.
Alerts — eight types, one toggle
/{org}/observability/alerts lets you switch on alerting for: LLM errors, budget threshold, budget exceeded, daily-spend anomaly, slow response, outage, key compromise heuristic, and guardrail block burst. Each alert routes through your configured notification channels (email / Slack / Teams / webhook — see notification settings).
Alert settings are stored per organization and isolated by row-level security. Defaults are conservative — we'd rather miss a soft signal than wake you up at 3 a.m. for nothing.
Data policy — your call, not ours
/{org}/observability/data-policy picks one of four modes:
Zero logging — store no prompt or completion content. Metadata only (model, tokens, cost, status).- Metadata only —
same as zero, kept for naming consistency. Full logging — store prompt + completion verbatim. Default for new orgs.PII-redacted — store prompt + completion with Presidio redaction applied. Useful for healthcare / fintech orgs that can't justify "full" but want enough content to debug.
The policy applies before the log is persisted, not at read time — so even a compromised viewer role can't pull data the policy excluded.
Platform release verification & compatibility standards
All nRouter release notes reflect changes deployed across our global edge routing infrastructure. Below is our baseline deployment architecture and verification criteria.
Zero-Downtime Rolling Delivery
Releases deploy via immutable container digests with automated health verification. Existing streaming responses complete uninterrupted while new requests seamlessly route to updated instances.
Drop-In API Backward Compatibility
Our interface remains strictly compatible with standard OpenAI client SDKs and wire formats. Enhancements degrade gracefully or fail open with explicit error reporting to protect calling workloads.
How can engineering teams verify capabilities in this release?
Teams can inspect currently supported capabilities and active model deployments programmatically via the authenticated /capabilities endpoint, or review live latency profiles at /models.
Where can edge cases or regressions be reported?
If your team experiences unexpected response behavior, report the issue with the relevant x-nr-request-id header to support@nrouter.ai or via the community Slack at /community.