Logo
Search
API Docs

Zero Data Retention (ZDR)

Security & Compliance

Zero Data Retention (ZDR)

Overview

Zero Data Retention (ZDR) is an organization-level add-on that stops Sulus from storing call content after a call ends. With ZDR active, Sulus still processes each call in real time — transcription, the LLM response, text-to-speech — but discards that content once the call is over instead of saving it.


What Is and Isn't Retained

DataRetained with ZDR enabled
RecordingsNo
TranscriptsNo
MessagesNo
Call summaryNo
Structured outputsNo
Detailed call logsNo
Call history, cost, latencyYes
Billing and usage metadataYes

Only operational metadata needed for dashboard visibility and billing — call history, cost, and latency — remains available. All call content is discarded after the call ends.


How ZDR Fits Into the Data Flow

With ZDR enabled, the storage step of the normal call pipeline is skipped entirely — recordings, transcripts, messages, and structured outputs are simply never written to Sulus's storage.

This does not change how the call is handled in real time. Orchestration-layer processing — the voice pipeline's endpointing, turn detection, and interruption handling described elsewhere in these docs — is always ephemeral by nature, regardless of whether ZDR is enabled. ZDR specifically governs what happens to content after the call, not the in-call processing itself.

ZDR is an organization-wide setting — it applies across your entire organization once active, it is not configurable per assistant or per call.


Enabling ZDR

ZDR is enabled from the Dashboard only — it is not available as an API setting. In the Sulus Dashboard, navigate to Organization → Settings → Billing & Add-Ons, then toggle Zero Data Retention (ZDR) on.

Keep your own copy of call data before enabling ZDR. Once ZDR is active, any call content that isn't sent to your own systems cannot be recovered. Set these up first:

  • Recordings, transcripts, and logs — configure a storage bucket so these are routed to your own S3, GCS, or equivalent storage instead of Sulus's
  • Structured outputs — subscribe to the end-of-call-report webhook so structured outputs reach your server before the call record is discarded

ZDR and Dynamic Variables

Dynamic variables (values passed via variableValues) are processed normally during the call — they still get substituted into prompts and used in real time — but with ZDR enabled, they are not persisted anywhere after the call ends.


ZDR vs. HIPAA Mode

ZDR and HIPAA mode are mutually exclusive — you must disable one before enabling the other. See the HIPAA & PCI page for full HIPAA configuration details; this section covers only how the two compare.

ZDRHIPAA mode
Stores recordings/transcriptsNoYes, in HIPAA-compliant storage
BAA requiredNoYes
Requires compliant providersNoYes (approved LLM/voice/transcription providers only)
Can retrieve recordings from private storageNo — nothing is storedYes, from your configured HIPAA-compliant storage

In short: choose HIPAA mode when you need to retain PHI-related call content under a signed BAA with restricted providers; choose ZDR when your organization must not retain any call content at all.


Verifying ZDR Is Active

Place a test call, then open it in the Dashboard. If ZDR is active, the call will appear in your call history with cost and latency data populated as usual, but the transcript, recording, and analysis fields will be empty.