Skip to content

christiant.io / reference

Zero Data Retention (ZDR) Endpoints

Live catalog of OpenRouter ZDR-compliant AI model endpoints that don't store your data

🔒 Zero Data Retention (ZDR) Endpoints

Real-time catalog of OpenRouter endpoints that guarantee no data storage. Your prompts are processed and immediately forgotten.

Connecting to OpenRouter API...

🛡️ What is Zero Data Retention?

ZDR-compliant endpoints process your AI requests without storing any data. This means:

  • No prompt logging or training data usage
  • No conversation history retention
  • Maximum privacy for sensitive data
  • Ideal for confidential business information, personal data, or sensitive research

Note on Caching: In-memory caching of prompts is typically not considered "retaining" data (or it is at least of a very different nature than organizations that log prompts, write them to databases, or even use them for additional training or publish prompts). This keeps repeated prompt data in an in-memory cache in the provider's datacenter so that the repeated part of the prompt does not need to be re-processed, leading to considerable cost savings. OpenRouter's stance is that in-memory caching is compatible with ZDR, and therefore allows endpoints/models with implicit caching to be hit when a ZDR routing policy is in effect. If you need complete non-retention (no caching), use the "No Caching" filter.

Read OpenRouter's official ZDR policy →

⚠️ Disclaimer

I have not personally audited this list. This catalog relies on OpenRouter's research and public documentation. While I strive to maintain accurate information, always verify ZDR compliance directly with providers before handling sensitive data.

🌍 About OpenCode Go

OpenCode Go uses ZDR policy providers. This plan is designed primarily for international users, with models hosted in the US, EU, and Singapore for stable global access. Our providers follow a zero-retention policy and do not use your data for model training. See the privacy section →

<div class="filter-group">
  <label for="company-select">🏭 Model Company</label>
  <select id="company-select" class="filter-select" onchange="filter()">
    <option value="">All Companies</option>
  </select>
</div>

<div class="filter-group">
  <label for="provider-select">🏢 Provider</label>
  <select id="provider-select" class="filter-select" onchange="filter()">
    <option value="">All Providers</option>
  </select>
</div>

<div class="filter-group">
  <label for="quant-select">📊 Quantization</label>
  <select id="quant-select" class="filter-select" onchange="filter()">
    <option value="">All Types</option>
    <option value="fp8">FP8</option>
    <option value="bf16">BF16</option>
    <option value="int4">INT4</option>
    <option value="fp4">FP4</option>
    <option value="unknown">Unknown</option>
  </select>
</div>

<div class="filter-group">
  <label for="cache-select">💾 Caching</label>
  <select id="cache-select" class="filter-select" onchange="filter()">
    <option value="">All</option>
    <option value="cached">With Caching</option>
    <option value="not-cached">No Caching</option>
  </select>
</div>

<div class="filter-group">
  <label for="sort-select">🔄 Sort By</label>
  <select id="sort-select" class="filter-select" onchange="filter()">
    <option value="alphabetical">Alphabetical</option>
    <option value="price-desc">Price (Highest to Lowest)</option>
    <option value="price-asc">Price (Lowest to Highest)</option>
    <option value="context-desc">Context Size (Highest to Lowest)</option>
  </select>
</div>
$100
$100