Expand description
Transcript redaction — sensitive data never reaches the lanes.
A voice caller will read card numbers, one-time passcodes, and account identifiers out loud, and speech recognition will faithfully transcribe them. Anything downstream of the transcript — callbacks, the transcript buffer, extraction, persistence snapshots, application logs — then holds that data unless it is removed first.
A TranscriptRedactor installed on the session
(LiveSessionBuilder::redaction)
is applied at the event router, before either lane sees the text: what
the fast-lane callbacks receive, what the transcript buffer accumulates,
what extractors read, and what a persistence backend stores are all the
redacted form. There is deliberately no unredacted side channel.
Two limits worth knowing:
- Streaming text deltas are not redacted. A card number can straddle
delta boundaries where no single chunk matches anything. Deltas are a
text-mode display stream; voice deployments should treat transcripts
and
TextComplete(both redacted) as the record. - Redaction is pattern-based, applied to each partial and final transcript independently. It removes well-formed sensitive strings; it is a complement to, not a replacement for, infrastructure-level data loss prevention on stored audio.
Structs§
- Transcript
Redactor - Pattern-based transcript scrubber. Build one with the methods below and
install it with
LiveSessionBuilder::redaction.