Skip to main content
Zero Data Retention (ZDR) is a routing constraint that limits ARouter to providers that have formally agreed not to store your prompts, completions, or any request data for training, logging, or any other purpose.

How ZDR Works

When ZDR is enabled for a request, ARouter:
  1. Filters the provider pool to only ZDR-compliant endpoints
  2. Routes the request to a compliant provider
  3. Returns provider.zdr: true in the response metadata
If no ZDR-compliant provider is available for the requested model, the request fails with a 404 error.

Enabling ZDR Per Request

Add zdr: true in the provider object:
{
  "model": "openai/gpt-5.4",
  "messages": [{"role": "user", "content": "Analyze this confidential document..."}],
  "provider": {
    "zdr": true
  }
}
from openai import OpenAI

client = OpenAI(
    base_url="https://api.arouter.ai/v1",
    api_key="lr_live_xxxx",
)

response = client.chat.completions.create(
    model="openai/gpt-5.4",
    messages=[
        {"role": "user", "content": "Analyze this confidential document..."}
    ],
    extra_body={"provider": {"zdr": True}},
)

print(response.choices[0].message.content)

Account-Wide ZDR

Enforce ZDR for all requests made with an API key via the Dashboard or API:
curl -X PATCH https://api.arouter.ai/api/v1/keys/{key_hash} \
  -H "Authorization: Bearer lr_admin_xxxx" \
  -H "Content-Type: application/json" \
  -d '{"enforce_zdr": true}'
With account-wide ZDR, every request using that key automatically routes only to ZDR endpoints.

ZDR vs Data Collection

ConceptScopeWho controls it
ZDRProvider-level: no storage by providerARouter routing policy
Data CollectionARouter-level: what ARouter storesARouter privacy settings
ZDR only governs what the upstream provider does with your data. ARouter itself always stores usage metadata (tokens, cost, timestamps) regardless of ZDR. See Data Collection for what ARouter stores.

Caching and ZDR

ZDR does not prevent prompt caching. Caching is a performance optimization, not a form of data retention — cached prompts are stored ephemerally for latency reduction and are not accessible to other customers or used for training.

ZDR Endpoints

Use GET /api/v1/endpoints/zdr to list all models and provider endpoints that support ZDR:
curl https://api.arouter.ai/api/v1/endpoints/zdr \
  -H "Authorization: Bearer lr_live_xxxx"
{
  "endpoints": [
    {
      "model": "openai/gpt-5.4",
      "provider": "OpenAI",
      "zdr": true,
      "context_length": 128000
    },
    {
      "model": "anthropic/claude-sonnet-4.6",
      "provider": "Anthropic",
      "zdr": true,
      "context_length": 200000
    }
  ]
}