Privacy controls, explained

Zero Data Retention, without the jargon.

Zero Data Retention (ZDR) is a provider-side data control. For eligible API traffic, customer prompts and model outputs are processed to answer the request but are not kept in provider content logs or persistent application state.

Transient processing Provider-specific Eligibility matters
The core idea

What ZDR changes - and what it does not.

01

Processing still happens

The provider must receive and process the prompt to generate a response. ZDR governs what is retained after that processing.

02

Stateful features may change

Files, batches, stored conversations, deferred jobs, and hosted media can require persistence, so providers may disable or exclude them.

03

Your side still matters

ZDR does not erase browser storage, application logs, telemetry, proxies, tools, or third-party services that your own workflow uses.

Two common examples

OpenAI and SpaceXAI

Both providers offer ZDR, but activation scope, verification, and feature tradeoffs differ.

Example 1

OpenAI API

Eligible customers can configure ZDR at the organization or project level after approval. Customer content is excluded from abuse-monitoring logs.

Default
Abuse-monitoring logs may retain customer content for up to 30 days. API data is not used for training unless the customer opts in.
With ZDR
Eligible endpoints avoid customer-content retention for abuse monitoring and application state. For Chat Completions and Responses, store is treated as false.
Watch for
Endpoint eligibility and documented exceptions. Stateful resources such as conversations, files, vector stores, batches, and some media workflows are not ZDR eligible.
Read OpenAI's current data controls
Example 2

SpaceXAI API

Where available, a team administrator enables ZDR for the whole team. It then applies automatically to every API key associated with that team.

Default
Requests and responses are encrypted at rest, kept for 30 days for auditing, and not used for training without explicit permission.
With ZDR
Prompt and output content is never persisted to disk. The x-zero-data-retention response header reports whether ZDR is active.
Watch for
Stateful Responses, Files, Collections, Batch, deferred completions, and provider-hosted media features are unavailable or restricted.
Read SpaceXAI's current security guidance
Before sending sensitive data

Verify the whole path, not just the label.

ZDR is one control in a larger data-handling design. Confirm each layer before relying on it for regulated or confidential workloads.

  1. 1
    Confirm activationCheck the correct OpenAI project or SpaceXAI team, not only the API key name.
  2. 2
    Check eligibilityUse a supported endpoint, model, and capability; avoid features that require provider-side state.
  3. 3
    Inspect your applicationReview browser storage, request logging, telemetry, gateways, MCP servers, and other third parties.
  4. 4
    Re-verify over timeProvider terms and endpoint behavior evolve. Use current documentation and contractual controls.
Tools

Deliver generated media without provider storage.

Deploy a small Azure-hosted handoff service for ZDR-compatible SpaceXAI Imagine Video workflows.

Some ZDR scenarios cannot use provider-hosted output. For example, when a SpaceXAI Imagine Video model runs with ZDR enabled, the request's output.upload_url must point to a customer-controlled URL that accepts an HTTP PUT containing the generated video payload.

This page provides access to an Azure Function App that implements that upload PUT endpoint and a corresponding GET endpoint. Use the two endpoints in the SpaceXAI Imagine Video playground to generate with ZDR enabled, keep the video in storage you control, and let the playground download it automatically when generation completes.

Deployment topology

Azure Function App and storage boundary

Inspect the compute, identity, storage, network, security, and observability resources used by the upload service.

Azure deployment topology for the ZDR video upload Function App.
Focus Function App, managed identity, Blob Storage, networking, and monitoring Keyboard: + / - / 0 / F / arrow keys
Deploy to Azure

The button opens the Azure Portal and starts deployment of the Function App for a ZDR-enabled SpaceXAI Imagine Video model. After deployment completes, open the deployment Outputs section and copy putEndpointUrl and getEndpointUrl. In the Imagine Video playground's Output delivery and storage section, use putEndpointUrl for Output PUT Upload URL and getEndpointUrl for Output GET Download URL.

This page is an implementation guide, not a contractual guarantee or legal advice. The provider's current documentation and your agreement govern.

An unhandled error has occurred. Reload 🗙