Nautir — DevZero's inference platform

One gateway in front of
every LLM call you make

Point your traffic at a gateway and you get spend attribution, routing control, guardrails and model evaluation over that traffic — with no change to your application beyond a base URL and a key.

How it works

What happens to a request

Each request is served against one immutable snapshot of the gateway's runtime configuration, in a fixed order. The control plane answers the gateway's questions — may this request spend, which profile applies, which trials are armed — and the gateway caches those answers, so a control-plane outage degrades rather than denies.

  1. 01

    Resolve and route

    Normalize the surface, resolve identity, model, key and billing regime. Keyed traffic through a connector resolves its routing profile here and emits a routing decision record.

  2. 02

    Apply the governance gate

    On the decided model, before any cache is consulted — so the gate governs what will actually be served, including a request that named no model at all.

  3. 03

    Check the caches

    The exact-match cache, and the semantic cache where content is permitted to leave the deployment. Coding-client traffic can bypass both.

  4. 04

    Apply the spend gates

    Rate, token and spend ceilings on a provider-bound request, then resolve the credential the request will forward with.

  5. 05

    Transform, then forward

    Deterministic lossless transforms always; content-dropping transforms only where holdout evidence has promoted them. Then forward to the provider.

  6. 06

    Account and record

    Accrue actual usage and cost, write eligible cache entries, and enqueue telemetry without blocking the response.

What comes back

Keyed inference responses carry two join keys: X-Dz-Request-Id, the id the trace and telemetry rows are stored under, and X-Cache, one of MISS, HIT or SEMANTIC-HIT. Passthrough traffic is forwarded byte-identically, so the gateway adds no header there. The full request path →

Where it runs

Your prompts can stay in your network

The gateway is a lightweight HTTP proxy and the only component that sees your prompts. Whether prompt and response text may leave the environment it runs in is one control — content uplink — and it is set by environment configuration only, never from the dashboard.

It defaults from how you deployed: on for a hosted gateway, content-free for every self-hosted method. Content-free is not a telemetry switch — hashes, token counts, costs and outcomes still reach DevZero. What stays local is customer content, and the product says which features that costs you rather than failing quietly.

Self-hosting guide →

Helm / Kubernetes

You run it

The production default. Prompts and retrievable originals stay in your own network.

DevZero-hosted

DevZero runs it

The fastest way to evaluate. Point any client at a provisioned URL.

Docker

You run it

Run anywhere with docker run.

Docker Compose

You run it

Declarative YAML for local machines, VMs or simple server deploys.

What we will and will not claim

A figure that flatters us is worse than no figure

Almost every rule below exists because a plausible-looking number was once wrong by an order of magnitude. They are in the product, not only in the documentation.

Savings

Measured, or labelled an estimate

A measured saving is computed against a holdout control arm — a fraction of your own traffic deliberately served uncompressed. That is the defensible number, and it exists at team scope only.

Everything else is an estimate from token deltas and blended rates: directional, labelled, and never added to a measured figure to make one headline. Per-entity savings — a person, a service — are estimated only, because one person's control arm is often a handful of requests.

Tokens removed are reported in effective units, weighted by the price ratio of the billing stream they came from, beside the raw count. The gap between the two is the evidence; either alone is an assertion.

Most of that value recurs, because it comes largely from the cache-read stream and the transform re-fires on every later turn of the same conversation — measured as roughly 57% to 82% of the value, depending on how un-attributed delta is weighted.

How savings are computed

Guardrails

Shadow mode first, by default

A guardrail is one named bundle — budget, rate ceilings, model and provider access, content rules — bound to a principal. One guardrail governs a request, or none does. They never stack.

Governance runs in one of three modes — off, shadow or enforce — set per gateway deployment by DevZero. A hosted gateway starts in shadow: every decision is evaluated and recorded, and nothing is denied.

Use that window. The known failure mode of an allowlist is a false deny — a non-wildcard entry has to match what the gateway actually sends, byte for byte. Read your shadow window's would-deny decisions and explain every one before asking DevZero to move a gateway to enforce.

How guardrails resolve

Evals

Compared on your traffic, not a brochure

A trial shadows a candidate model against your incumbent on real traffic. It runs beside serving, never inside it: your users keep getting the incumbent's answer throughout, and observing a trial cannot delay or change what a caller receives.

Because the incumbent's answer already reached a user, only the candidate is dispatched — and a verdict from that evidence is the one you may promote from. A corpus you supplied can cover cases your traffic does not, but promotion is refused from it, in the API rather than merely in the interface.

After a promotion, a watch keeps the model you replaced running at a low sample rate and tells you if it starts winning again.

How evals are judged

Agents and coding tools

The sessions your developers already run

A base-URL swap points a coding tool at the gateway on the subscription it already uses. That traffic takes the passthrough path: forwarded byte for byte on your own credential, with no DevZero header added, so nothing about the tool's behaviour changes.

What you get is the part you did not have — utilization and attribution for prepaid seats. Seats are flat fees, so the platform reports capacity and headroom there rather than dollars saved.

  • Claude Code
  • Codex
  • Cursor
  • Continue.dev
Connect a coding tool →

Put one gateway in front of it

Install a gateway, point a client at it, and watch the first request arrive attributed. The quickstart is four steps.