Every voice deployment needs recordings to improve, and every recording is biometric-adjacent personal data captured from someone who did not read a privacy policy before dialling. Getting this wrong is both a compliance problem and a trust problem.
Announce before capture, not after
The disclosure plays before anything is recorded, and the fact that it played is logged with the call. In two-party-consent jurisdictions an opt-out has to actually work — meaning a path through the call where audio is never written to disk, not one where it is written and flagged.
Store the consent state on the call record itself. Deciding later whether a given recording was permitted, by reasoning about which prompt version was live that month, is not a position you want to be in.
Separate the audio from the transcript
They have different retention needs and different risk. Audio is voluminous and identifiable by voice. Transcripts are small, searchable, and enough for almost all debugging.
calls
id, started_at, consent_state, disclosure_version
audio_ref -- null once expired
audio_expires_at
transcript_ref
transcript_expires_at
Short retention on audio — thirty days covers nearly every investigation. Longer on redacted transcripts, which is what evals and quality review actually consume.
Redact at write time
Card numbers, dates of birth, and health details arrive in transcripts because callers say them. Redacting on export means the raw text sits in the store until someone remembers.
Run redaction as the transcript is written. Keep the spans so a legitimate investigation can request the original under an access control, rather than having it available by default to anyone who can run a query.
For audio, mute the corresponding range during payment capture. Most telephony platforms expose pause-recording for exactly this, and using it is far simpler than defending a store full of spoken card numbers.
The transcript is the debugging artefact
When an agent behaves oddly, the transcript with timings — endpoint decisions, tool calls, latency per stage, what was actually played versus generated — is what makes it diagnosable. Log those alongside the words.
Without it you are reading a text conversation and guessing at the audio behaviour that produced it, which is the hardest possible way to debug a voice system.