For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

ZDR with Private Safety Processing (PSP)

Enabling privacy-preserving safety review in API workflows

ZDR with PSP enables offline, automated safety review without OpenAI retaining customer prompts or responses. This guide provides an overview of how ZDR with PSP works and your operating responsibilities. For the full architecture and security model, see the Private Safety Processing technical white paper.

Built with Three Principles

  1. Customers control their content
    Customer content is stored in customer-controlled storage. Customers control the permissions and customer-managed Enterprise Key Management (EKM) authorization required to retrieve and decrypt protected safety records.
  2. No human review
    Safety review must not create a new way for OpenAI personnel to read protected customer content. Encrypted customer content is decrypted in an approved, hardware-attested safety runtime that disables human access. Only bounded safety signals and operational metadata leave the PSP protected review in plaintext.
  3. Content retention for safety only
    Content stored in customer-controlled storage serves only approved safety purposes. Customer content cannot be used to train models or be made available to other groups within OpenAI or its partners.

How ZDR with PSP Works

The architecture consists of two flows:

  • The API Request and Retention flow protects and retains eligible API content in a customer-controlled storage container.
  • The Asynchronous Safety Pipeline retrieves records only for approved automated safety review and releases bounded safety decisions.

API Request and Retention

An interaction - your prompt and the model’s response - is selected through a safety classifier referral or an approved sampling policy. A referral does not establish a policy violation.

The system encrypts the record and writes it to your regional cloud storage. OpenAI keeps an index with operational metadata and a storage reference, not a copy of the content. Encryption and storage run asynchronously without blocking inference.

API request flow showing encrypted safety records stored in customer-controlled storage.

Asynchronous Safety Pipeline

ZDR with PSP retrieves encrypted records from your storage and checks their ability to be decrypted. The Safety Review Runtime, a hardware-attested computing environment that disables human access, is designed to be the only workload that can decrypt customer content. It performs automated safety review using an approved reviewer prompt and output schema that does not expose customer content.

Only predefined, bounded safety signals and approved operational metadata may leave the review in plaintext. Detailed results are encrypted before leaving the runtime and stored in your cloud storage with the original record’s expiration. ZDR with PSP encrypts the records and writes them to your regional cloud storage with a TTL of 30 days.

Asynchronous safety-review flow showing encrypted record retrieval, protected review, and bounded outputs.

Customer Content Encryption

Each stored record is doubly encrypted when it is retained in customer storage:

  • OpenAI-managed HPKE encryption: The inner encryption layer restricts decryption of customer content to the authorized Safety Review Runtime.
  • Customer-managed encryption: Enterprise Key Management (EKM) adds an outer layer using your customer-controlled key-management service.

OpenAI’s inner decryption key is not enough to decrypt a stored record when EKM is enabled: your customer-managed key authorization is also required. Revoking that authorization prevents decryption of retained records, but does not delete them or undo completed processing.

We recommend enabling EKM for this additional control. See the EKM technical FAQ for authorization and revocation, and the technical whitepaper for encryption, confidential computing, guardrails, and transparency.

Ongoing Customer Responsibilities

Customers using ZDR with PSP are required to:

  • Register and validate PSP storage. Register and validate storage buckets through OpenAI’s admin API for each PSP-enabled project and data-residency location, and configure PSP-service bucket access in accordance with OpenAI’s published guidance.
  • Retain encrypted records for at least 30 days. Configure storage lifecycle rules so they do not delete PSP records earlier.
  • Maintain storage and key access. Keep regional storage, service permissions, and customer-managed key authorization correctly configured.
  • Repair configuration issues. Correct storage configuration problems after OpenAI provides notification.
  • Respond to notices about safety concerns. Engage with OpenAI to investigate and address the concern.

Resources