{
  "last_verified": "2026-08-24",
  "scale_direction": "countdown: lower is better",
  "universal_floor": "legal process, CSAM statutory duties, operational metadata apply at every score above 0.0",
  "scores": [
    {
      "score": 4.0,
      "name": "Open intake",
      "definition": "Trains on content by default, or retention undefined/indefinite"
    },
    {
      "score": 3.0,
      "name": "No-training",
      "definition": "No training, but retention unbounded or unspecified"
    },
    {
      "score": 2.0,
      "name": "Bounded retention",
      "definition": "Content retained a defined window (<=90d) for abuse monitoring, possibly human-reviewed, then deleted"
    },
    {
      "score": 1.0,
      "name": "Contractual ZDR",
      "definition": "Paper ZDR: no content retention by agreement, with typed carve-outs in force"
    },
    {
      "score": 0.5,
      "name": "Architectural ZDR",
      "definition": "Nothing durably written by provider; stateful features blocked/rejected; still third-party plaintext processing"
    },
    {
      "score": 0.0,
      "name": "Sovereign",
      "definition": "No external party ever receives plaintext. The badge tier is earned via architectural verification, never purchased"
    }
  ],
  "exception_flags": {
    "s": "safety-flag retention beyond base window",
    "f": "stateful-feature carve-outs (files, batch, threads, caching, grounding)",
    "h": "human review possible",
    "r": "revocable: provider reserves unilateral downgrade",
    "x": "subprocessor exposure"
  },
  "evidence_grades": {
    "V": "cryptographically verified (TEE attestation, transparency logs)",
    "A": "contractual (DPA/agreement-backed)",
    "B": "published documentation",
    "C": "marketing or support-article claims"
  },
  "endpoints": [
    {
      "id": "openai-api-default",
      "provider": "OpenAI",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "first-party API, default",
      "score": 2.0,
      "flags": [
        "f",
        "h"
      ],
      "evidence": "B",
      "default_posture": "abuse logs incl. content <=30d; Responses API stores state 30d (store defaults true); no training",
      "zdr_path": "sales-gated approval; tiers: Modified Abuse Monitoring, ZDR",
      "carve_outs": "stateful endpoints retained until deleted; assistants objects indefinitely",
      "sources": [
        "https://developers.openai.com/api/docs/guides/your-data"
      ]
    },
    {
      "id": "openai-api-zdr",
      "provider": "OpenAI",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "first-party API, ZDR approved",
      "score": 1.0,
      "flags": [
        "s",
        "f",
        "r"
      ],
      "evidence": "A",
      "default_posture": "no content retention; store forced false",
      "zdr_path": null,
      "carve_outs": "CSAM image scan retains flagged inputs; Eyes Off / Safety Retention allow per-model downgrade with notice; stateful endpoints ineligible; videos endpoint blocked",
      "sources": [
        "https://developers.openai.com/api/docs/guides/your-data",
        "https://openai.com/index/offering-zero-data-retention-for-frontier-models/"
      ]
    },
    {
      "id": "anthropic-api-default",
      "provider": "Anthropic",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "first-party API, default",
      "score": 2.0,
      "flags": [
        "s"
      ],
      "evidence": "B",
      "default_posture": "30d auto-delete; no training without permission",
      "zdr_path": "contractual, via sales, per-organization",
      "carve_outs": "flagged content <=2y; classifier scores <=7y",
      "sources": [
        "https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data"
      ]
    },
    {
      "id": "anthropic-api-zdr-noncovered",
      "provider": "Anthropic",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "ZDR org, non-covered models",
      "score": 1.0,
      "flags": [
        "s",
        "f",
        "r"
      ],
      "evidence": "A",
      "default_posture": "no content retention",
      "zdr_path": null,
      "carve_outs": "safety carve-outs survive ZDR; stateful features step outside ZDR and are NOT blocked; classifier results retained",
      "sources": [
        "https://privacy.claude.com/en/articles/8956058-i-have-a-zero-data-retention-agreement-with-anthropic-what-products-does-it-apply-to"
      ]
    },
    {
      "id": "anthropic-covered-models",
      "provider": "Anthropic",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "Fable 5 / Mythos 5, all platforms",
      "score": 2.0,
      "flags": [
        "s",
        "h"
      ],
      "evidence": "A",
      "default_posture": "mandatory 30d retention incl. ZDR orgs; on Bedrock, sharing with Anthropic required",
      "zdr_path": "none (customer-held-storage variant reportedly planned)",
      "carve_outs": "flagged-content human-review path; defining example of flag r",
      "sources": [
        "https://privacy.claude.com/en/articles/15425996-data-retention-practices-for-mythos-class-models"
      ]
    },
    {
      "id": "gemini-api-paid",
      "provider": "Google",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "Gemini Developer API, paid tier",
      "score": 2.0,
      "flags": [
        "f",
        "h"
      ],
      "evidence": "B",
      "default_posture": "abuse logs 55d, storable in any country; no product-improvement use",
      "zdr_path": "per-project ZDR approval (logs sanitized before write)",
      "carve_outs": "search grounding stores 30d non-disablable; Interactions API store defaults true; Live API caches 24h",
      "sources": [
        "https://ai.google.dev/gemini-api/docs/zdr",
        "https://ai.google.dev/gemini-api/docs/logs-policy"
      ]
    },
    {
      "id": "vertex-geap",
      "provider": "Google",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "Vertex / Gemini Enterprise Agent Platform",
      "score": 1.0,
      "flags": [
        "s",
        "f",
        "r"
      ],
      "evidence": "B",
      "default_posture": "flag-triggered abuse logging only, <=90d, in-region; 24h caching on by default",
      "zdr_path": "cache disable per project + abuse-monitoring exception form",
      "carve_outs": "Advanced AI Safety Addendum: ZDR 'may not be possible' on some advanced models; grounding logs 3d non-disablable",
      "sources": [
        "https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/zero-data-retention"
      ]
    },
    {
      "id": "azure-openai-foundry",
      "provider": "Microsoft",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "Azure OpenAI / Foundry, modified abuse monitoring",
      "score": 1.0,
      "flags": [
        "s",
        "f",
        "h",
        "r"
      ],
      "evidence": "B",
      "default_posture": "no OpenAI access; abuse monitoring w/ flagged-sample human review (automated LLM review default); store duration removed from canonical page",
      "zdr_path": "Limited Access form, account-managed customers; verify via ContentLogging:false",
      "carve_outs": "automated review continues under MAM; severe abuse can force monitoring back on; stateful features persist; stricter criteria for advanced models",
      "sources": [
        "https://learn.microsoft.com/en-us/azure/foundry/responsible-ai/openai/data-privacy"
      ]
    },
    {
      "id": "bedrock-none-mode",
      "provider": "AWS",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "Bedrock, data_retention_mode:none, non-covered models",
      "score": 0.5,
      "flags": [],
      "evidence": "A",
      "default_posture": "zero operator access; nothing durably written; providers can't see traffic",
      "zdr_path": "first-class API, SCP-enforceable; retention-requiring models rejected with error",
      "carve_outs": "OpenAI frontier models: flagged traffic <=30d; covered Anthropic models require provider_data_share",
      "sources": [
        "https://docs.aws.amazon.com/bedrock/latest/userguide/data-retention.html"
      ]
    },
    {
      "id": "mistral-zdr",
      "provider": "Mistral",
      "origin": {
        "iso": "FR",
        "name": "France"
      },
      "scope": "ZDR approved",
      "score": 1.0,
      "flags": [
        "f"
      ],
      "evidence": "B",
      "default_posture": "default 30d rolling abuse logs; EU storage",
      "zdr_path": "application: paid plans, stated justification, discretionary approval",
      "carve_outs": "stateless endpoints only; agents/batch/files excluded; Labs models train regardless",
      "sources": [
        "https://docs.mistral.ai/admin/monitor-comply/zero-data-retention"
      ]
    },
    {
      "id": "xai-zdr",
      "provider": "xAI",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "ZDR toggled",
      "score": 0.5,
      "flags": [
        "r"
      ],
      "evidence": "B",
      "default_posture": "default 30d encrypted storage; ZDR self-serve, confirmed via x-zero-data-retention header",
      "zdr_path": null,
      "carve_outs": "disables stateful features wholesale; audit event logs continue",
      "sources": [
        "https://docs.x.ai/developers/faq/security"
      ]
    },
    {
      "id": "groq-zdr",
      "provider": "Groq",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "ZDR toggled",
      "score": 0.5,
      "flags": [],
      "evidence": "B",
      "default_posture": "possible <=30d reliability/abuse logs; toggle disables even those",
      "zdr_path": "self-serve console toggle, all customers",
      "carve_outs": "customer assumes abuse-compliance responsibility; US-region storage for anything retained",
      "sources": [
        "https://console.groq.com/docs/your-data"
      ]
    },
    {
      "id": "together-default",
      "provider": "Together AI",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "serverless default",
      "score": 0.5,
      "flags": [
        "x"
      ],
      "evidence": "C",
      "default_posture": "no storage by default ('supports ZDR'); training/storage opt-in",
      "zdr_path": "default posture; contractual promise requires enterprise agreement",
      "carve_outs": "passthrough models forward to upstream policies; no serverless region selection",
      "sources": [
        "https://docs.together.ai/docs/privacy-and-security"
      ]
    },
    {
      "id": "fireworks-open-models",
      "provider": "Fireworks AI",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "open models",
      "score": 0.5,
      "flags": [
        "f"
      ],
      "evidence": "B",
      "default_posture": "ZDR by default, volatile memory only",
      "zdr_path": null,
      "carve_outs": "Responses API defaults store=true -> 30d; proprietary Fireworks models may log",
      "sources": [
        "https://docs.fireworks.ai/guides/security_compliance/data_handling"
      ]
    },
    {
      "id": "cerebras",
      "provider": "Cerebras",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "inference API",
      "score": 0.5,
      "flags": [],
      "evidence": "C",
      "default_posture": "claims no retention of prompts/outputs; support-article grade, no formal program",
      "zdr_path": null,
      "carve_outs": "absence of a documented safety exception is itself a red flag under the framework",
      "sources": [
        "https://support.cerebras.net/articles/1811589793-does-cerebras-retain-my-data"
      ]
    },
    {
      "id": "meta-model-api",
      "provider": "Meta",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "Meta Model API",
      "score": 3.0,
      "flags": [],
      "evidence": "C",
      "default_posture": "no-training and encryption claims in launch material; no published retention schedule",
      "zdr_path": "none found",
      "sources": [
        "https://developer.meta.com/ai/"
      ]
    },
    {
      "id": "deepseek-api-firstparty",
      "provider": "DeepSeek",
      "origin": {
        "iso": "CN",
        "name": "China"
      },
      "scope": "first-party API",
      "score": 4.0,
      "flags": [],
      "evidence": "B",
      "default_posture": "trains on inputs by default (email opt-out); retention up to life of account; PRC storage; group sharing",
      "zdr_path": "none",
      "carve_outs": "US hosts serving DeepSeek weights are different endpoints with different scores",
      "sources": [
        "https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html"
      ]
    },
    {
      "id": "mistral-default",
      "provider": "Mistral",
      "origin": {
        "iso": "FR",
        "name": "France"
      },
      "scope": "first-party API, default",
      "score": 2.0,
      "flags": [
        "f"
      ],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "30d rolling abuse logs; EU storage; no training on API traffic in the published ZDR docs.",
      "zdr_path": "application: paid plans, stated justification, discretionary approval",
      "carve_outs": "agents, batch, and files sit outside the ZDR path; Labs models train regardless",
      "sources": [
        "https://docs.mistral.ai/admin/monitor-comply/zero-data-retention"
      ]
    },
    {
      "id": "xai-default",
      "provider": "xAI",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "first-party API, default",
      "score": 2.0,
      "flags": [],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "30d encrypted storage of content unless the ZDR toggle is on.",
      "zdr_path": "self-serve ZDR toggle; confirmed via x-zero-data-retention header",
      "carve_outs": "audit event logs continue under both postures",
      "sources": [
        "https://docs.x.ai/developers/faq/security"
      ]
    },
    {
      "id": "groq-default",
      "provider": "Groq",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "first-party API, default",
      "score": 2.0,
      "flags": [],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "possible <=30d reliability and abuse logs unless the ZDR toggle is on.",
      "zdr_path": "self-serve console toggle, all customers",
      "carve_outs": "US-region storage for anything retained",
      "sources": [
        "https://console.groq.com/docs/your-data"
      ]
    },
    {
      "id": "openrouter-default",
      "provider": "OpenRouter",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "hop, default routing",
      "score": 3.0,
      "flags": [
        "x"
      ],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "OpenRouter itself does not store prompts unless you opt in. Default routing can land on providers that retain or train. If a provider policy is unclear, OpenRouter assumes retain-and-train.",
      "zdr_path": "account privacy settings, guardrails, or per-request provider.zdr=true",
      "carve_outs": "plugins and tools are outside ZDR enforcement; anonymous prompt categorization is sampled",
      "sources": [
        "https://openrouter.ai/docs/guides/privacy/data-collection",
        "https://openrouter.ai/docs/guides/features/zdr"
      ]
    },
    {
      "id": "openrouter-zdr",
      "provider": "OpenRouter",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "hop, zdr enforced",
      "score": 0.5,
      "flags": [
        "f",
        "x"
      ],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "Routes only to endpoints OpenRouter marks as zero-retention. OpenRouter itself does not store prompts unless you opt in. Still third-party plaintext.",
      "zdr_path": null,
      "carve_outs": "implicit prompt cache is not treated as retention; plugins and web search keep their own policies; ZDR is claimed by upstream, not verified here",
      "sources": [
        "https://openrouter.ai/docs/guides/features/zdr",
        "https://openrouter.ai/docs/guides/privacy/data-collection"
      ]
    },
    {
      "id": "moonshot-kimi-api",
      "provider": "Moonshot",
      "origin": {
        "iso": "CN",
        "name": "China"
      },
      "scope": "Kimi API, first-party",
      "score": 4.0,
      "flags": [
        "f"
      ],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "OpenPlatform privacy: user content is used to train and refine models, and account, input, and payment information are retained while the account is active. API help page separately claims API data is not used for training. Storage stated as Singapore.",
      "zdr_path": "none found",
      "carve_outs": "Help Center contradicts the privacy policy on training. Files persist until deleted. Content safety review exists. Mainland moonshot.cn not scored separately.",
      "sources": [
        "https://platform.kimi.ai/docs/agreement/userprivacy.md",
        "https://www.kimi.com/en/help/kimi-api/api-data-security"
      ]
    },
    {
      "id": "alibaba-qwen-model-studio",
      "provider": "Alibaba",
      "origin": {
        "iso": "CN",
        "name": "China"
      },
      "scope": "Qwen / Model Studio API",
      "score": 3.0,
      "flags": [
        "f"
      ],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "Privacy notice: will never use your data for model training. FAQ: Model Studio stores data generated from model and application calls. No published deletion window for standard chat traffic.",
      "zdr_path": "none found",
      "carve_outs": "Responses / batch / task APIs store state (batch results 30d; async tasks 24h); region-selectable storage including Beijing",
      "sources": [
        "https://www.alibabacloud.com/help/en/model-studio/privacy-notice",
        "https://www.alibabacloud.com/help/en/model-studio/faq-about-alibaba-cloud-model-studio"
      ]
    },
    {
      "id": "z-ai-api",
      "provider": "Z.AI",
      "origin": {
        "iso": "CN",
        "name": "China"
      },
      "scope": "international Model API (api.z.ai), not mainland BigModel",
      "score": 1.0,
      "flags": [
        "s"
      ],
      "evidence": "A",
      "verified": "2026-08-25",
      "default_posture": "API DPA: inputs and outputs are processed in real time and not saved on servers. Additional Terms: End User Content is not used to develop or improve services unless the customer agrees.",
      "zdr_path": "Default for API Services under the Additional Terms / DPA.",
      "carve_outs": "Consumer chat is a different posture. Abuse and legal uses remain. Mainland bigmodel.cn is not this row. Processing stated as Singapore.",
      "sources": [
        "https://docs.z.ai/legal-agreement/privacy-policy",
        "https://docs.z.ai/legal-agreement/terms-of-use"
      ]
    },
    {
      "id": "nvidia-api-catalog",
      "provider": "NVIDIA",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "API Catalog / hosted NIM trial",
      "score": 4.0,
      "flags": [
        "s",
        "x"
      ],
      "evidence": "A",
      "verified": "2026-08-25",
      "default_posture": "Trial ToS: User Content and Generated Content are collected to improve NVIDIA products and services, including AI models.",
      "zdr_path": null,
      "carve_outs": "Self-hosted NIM is a different endpoint. Fine-tune uploads may be stored 30 days. Abuse and fraud logging uses subprocessors.",
      "sources": [
        "https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf"
      ]
    },
    {
      "id": "cohere-saas-default",
      "provider": "Cohere",
      "origin": {
        "iso": "CA",
        "name": "Canada"
      },
      "scope": "SaaS Platform API, default",
      "score": 4.0,
      "flags": [
        "s",
        "h",
        "r",
        "x"
      ],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "SaaS logs prompts and generations for 30 days. Training use is an opt-out dashboard toggle, so prompts train unless turned off.",
      "zdr_path": "Enterprise-approved ZDR via support@cohere.com",
      "carve_outs": "Enterprise Data Commitments do not apply to trial keys. Flagged misuse may be retained and reviewed. Private deployments receive no prompts.",
      "sources": [
        "https://cohere.com/enterprise-data-commitments"
      ]
    },
    {
      "id": "cohere-zdr",
      "provider": "Cohere",
      "origin": {
        "iso": "CA",
        "name": "Canada"
      },
      "scope": "SaaS API, ZDR approved",
      "score": 1.0,
      "flags": [
        "s",
        "r"
      ],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "Approved enterprise ZDR: Cohere does not log prompts or generations. Usage metadata still collected. Abuse monitoring is weaker.",
      "zdr_path": null,
      "carve_outs": "Not self-serve. Usage data still received. Private and partner deployments are a different isolation path.",
      "sources": [
        "https://cohere.com/enterprise-data-commitments"
      ]
    },
    {
      "id": "perplexity-api",
      "provider": "Perplexity",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "Chat Completions / Sonar API",
      "score": 0.5,
      "flags": [],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "Published ZDR for the Chat Completions API: no prompt or response retain, no training, billing metadata only.",
      "zdr_path": null,
      "carve_outs": "Covers the API only, not the consumer search product. Compute hosted on AWS in North America.",
      "sources": [
        "https://docs.perplexity.ai/docs/resources/privacy-security"
      ]
    },
    {
      "id": "minimax-api",
      "provider": "MiniMax",
      "origin": {
        "iso": "CN",
        "name": "China"
      },
      "scope": "Open Platform first-party API",
      "score": 4.0,
      "flags": [
        "s"
      ],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "Terms authorize use of input and generated content to develop and improve services. Privacy gives no fixed deletion window.",
      "zdr_path": null,
      "carve_outs": "A line about not using personal data to profile consumers is not a no-training promise. No published ZDR.",
      "sources": [
        "https://platform.minimax.io/protocol/terms-of-service",
        "https://platform.minimax.io/protocol/privacy-policy"
      ]
    },
    {
      "id": "huggingface-inference-router",
      "provider": "Hugging Face",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "Inference Providers hop",
      "score": 3.0,
      "flags": [
        "x"
      ],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "Hugging Face does not store request bodies or responses when routing and does not store user data for training. Default routing still forwards plaintext to upstream providers.",
      "zdr_path": null,
      "carve_outs": "Debug logs up to 30 days without user data. Dedicated Inference Endpoints are a different product. Score is the hop, not each partner.",
      "sources": [
        "https://huggingface.co/docs/inference-providers/en/security"
      ]
    },
    {
      "id": "cloudflare-workers-ai",
      "provider": "Cloudflare",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "Workers AI API",
      "score": 3.0,
      "flags": [
        "f"
      ],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "No training and no service-improvement use of Customer Content without consent. Docs do not state a prompt-log deletion window.",
      "zdr_path": null,
      "carve_outs": "R2, KV, Durable Objects, and Vectorize persist content by design. Inference-payload logging is unspecified.",
      "sources": [
        "https://developers.cloudflare.com/workers-ai/platform/data-usage/"
      ]
    },
    {
      "id": "replicate-api",
      "provider": "Replicate",
      "origin": {
        "iso": "US",
        "name": "United States"
      },
      "scope": "Predictions API, not the web UI",
      "score": 2.0,
      "flags": [
        "f"
      ],
      "evidence": "B",
      "verified": "2026-08-25",
      "default_posture": "API prediction inputs, outputs, files, and logs are automatically removed after one hour by default.",
      "zdr_path": null,
      "carve_outs": "Web-interface predictions are kept indefinitely. Fine-tunes are a different store.",
      "sources": [
        "https://replicate.com/docs/topics/predictions/data-retention"
      ]
    }
  ]
}
