Privacy & Compliance 5 min read

Zero-Retention Transcription APIs: What 'No Training' Actually Guarantees

No training is not zero retention. I break down OpenAI, Deepgram, and AssemblyAI retention defaults, then the DPA language and retrieve-after-N-minutes test I require before production audio leaves the VPC.

Zero-Retention Transcription APIs: What 'No Training' Actually Guarantees

I've signed vendor forms that said "we never train on your data" and still found audio in a support bucket two weeks later. A zero-retention transcription API is a deletion clock you can prove, not a slogan. In our complete guide to private speech-to-text, we covered the control boundary. This piece is narrower: what "no training" fails to guarantee, and the contract language I now require before production audio leaves our VPC.

What zero-retention transcription APIs guarantee

A zero-retention transcription API processes audio to produce text, then discards the audio and the transcript from the vendor's durable stores once the response is delivered. The working copy lives in memory or a short-lived buffer. After the request finishes, there is nothing for a later GET to retrieve and nothing for a training job to sample.

Procurement pages collapse that into "we don't train on your audio," which is weaker. OpenAI can skip training on API data and still keep other customer content for abuse monitoring. Deepgram enrolls audio in a model improvement program unless you opt out on the request. AssemblyAI lets paid accounts turn training off and set a TTL, which is scheduled deletion, not immediate discard.

If the recording carries patient speech or deal terms, get the stronger promise in writing. Our privacy policy says we process audio rather than keep it as stored customer content, and that short-lived buffers and security logs can still exist.

Bottom line: "No training" is a model-weights promise. Zero retention is a storage promise. Buy the second one if the first one is all they printed.

Training, retention, and logs are three different promises

I score vendors on three rows because they fail independently.

PromiseWhat it usually coversWhat it usually leaves out
No trainingCustomer audio is not used to update model weightsAudio and transcripts can still sit on disk
Zero-retention transcription APIAudio and transcript are not kept after the request completesBilling metadata, metrics, and legal holds
TTL / scheduled deleteA timer starts a delete job (hours to 30 days)Copies in logs, backups, or a Files-style object store
Self-hosted processingYou own the disks and the delete scriptsYour own SIEM, ticket attachments, and LLM traces

OpenAI's data controls table lists /v1/audio/transcriptions with no abuse-monitoring retention and marks it Zero Data Retention eligible. That beats the 30-day default on chat completions. It is not a free pass: /v1/files retains objects until you delete them, and org-level Zero Data Retention is approval-gated.

Deepgram's Model Improvement Partnership is on unless you send mip_opt_out=true. I have reviewed clients where that flag was on the happy-path SDK and missing on the retry worker. AssemblyAI lets paid customers opt out of training and set a TTL; free accounts cannot opt out, and metadata still sticks around for billing.

GDPR storage limitation says personal data should not be kept in identifiable form longer than the purpose requires. A 30-day abuse window can be lawful. It is not zero retention. HIPAA buyers still need a deletion clause next to the BAA. Masking later also fails if the WAV is still in object storage; see our PII redaction guide.

Contract language I refuse to ship without

I stopped accepting "industry-standard privacy" as a sentence. The DPA has to name audio bytes, transcripts, and derived logs as separate objects with separate clocks.

  • Training: customer audio and transcripts will not train or fine-tune models, including de-identified clones of the same files.
  • Retention: payload is deleted when the HTTP or webhook response is complete, with an upper bound in minutes, not "as soon as practicable."
  • Logs: timestamps, status codes, duration, and byte counts are fine. Audio, transcript text, and filenames that encode a patient or case ID are not.
  • Subprocessors: named STT, storage, and support tools, with the same clocks flowing down.
  • Retrieval test: after N minutes, GET of the transcript id returns not found. "You cannot fetch it" is not the same as "we deleted it."
  • Legal hold: the only exception is a documented legal obligation, scoped rather than a silent 30-day default.

Self-hosted is the cleanest way to make those clocks yours. Cloud still works if the DPA matches the bullets and you keep the transcript in your own store. Privocio's hosted features process audio rather than archive transcripts, and self-hosted is what I use when a security team wants the disk in their VPC. Pricing is fixed per 4 weeks. For EU transfers, see our GDPR transcription guide.

How I verify a vendor's deletion story

Paper is cheap. I run four checks before go-live: transcribe a unique nonce and try to retrieve it after the advertised window; grep our own logs so we are not dumping audio into Datadog or LLM traces; open a dummy support ticket and refuse to attach audio; read the default SDK for Deepgram opt-out flags, AssemblyAI toggles, and OpenAI project-level retention. Defaults are where most leaks live.

If the dashboard can replay last week's calls, someone is storing them. Trial the path in the browser transcribe tool, then keep the transcript on your side. The vendor should not be your backup disk.

Frequently Asked Questions

Is no training the same as zero data retention?

No. No training means the vendor is not updating model weights on your audio. Zero retention means they are not keeping the audio or transcript after the job finishes. Ask for both, in writing, with clocks.

Do zero-retention transcription APIs still keep metadata?

Usually yes. Billing duration, HTTP status, and region show up in invoices even when payload is gone. That can be compatible with GDPR if the metadata is not identifiable. It fails if filenames or error dumps still contain transcript text.

Does the OpenAI Whisper API retain audio by default?

OpenAI's published table lists /v1/audio/transcriptions with no abuse-monitoring retention and as Zero Data Retention eligible. Chat endpoints still default to 30 days, /v1/files retains objects until deleted, and org-level Zero Data Retention is approval-gated. Review those paths before shipping PHI.

What should a HIPAA BAA say about transcription audio?

A HIPAA BAA names the vendor as a Business Associate. It does not automatically delete recordings. I want a retention clause covering audio, transcripts, and support attachments, or self-hosted processing so the covered entity holds the only copy.

Conclusion: Demand deletion, not slogans

I will take a boring deletion clock over a polished "never trains" paragraph every time. If regulated speech is going through a vendor, start with a zero-retention transcription API (or self-hosted) whose DPA names audio, transcripts, and logs as separate objects. Then prove it with a retrieve-after-N-minutes test. Privocio's pricing is a flat 4-week plan, and the free transcribe tool is enough to sanity-check the flow. For the wider privacy architecture, go back to the private speech-to-text guide.


Image Credits:

Cover illustration created with Google Flow Nano Banana.

speech-to-textcomplianceGDPRprivateprivacy