← All notes

Voice AI

Recording, consent, and the transcript you will need later

Voice systems produce the most sensitive data you hold and your most useful debugging artefact. Those two facts are in tension, and both are non-negotiable.

  • Invexa Technologies
  • 2 min read

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.

It also has to travel. When the call is handed to a human and the context goes with it, consent state is part of that context. The receiving agent should not be re-establishing it by asking the caller a question they already answered.

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. It is the first schema decision worth getting right on a voice AI deployment, because changing retention once the store is full is a migration nobody volunteers for.

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. The timings are the only way to see whether latency was what the caller actually experienced, because a turn that reads perfectly well in text can have had a two-second hole sitting in front of it.

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.

Next step

Have a project in mind?

A 30-minute call is usually enough to know whether we are the right team for it. If we are not, we will say so.

Start a project

Replies within one working day