Redaction Lab
Transcript privacy, entity masking, and policy design
What Redaction Does
Transcript privacy, entity masking, and policy design
Redaction replaces detected sensitive entities in transcript output with typed placeholders such as [PHONE_NUMBER_1] or [SSN_1]. The original audio remains unchanged and must be governed separately.
Redacted transcript does not mean redacted audio.
Audio follows the application’s independent access, retention, and deletion policy.
Detection reduces exposure; it does not eliminate governance responsibility.
Logs, exports, interim events, downstream systems, and false negatives still need controls.
Deepgram STT → detects configured entity classes
Transcript output → typed redaction placeholders
Downstream systems → policy, access, retention, logging, and audit decisions
Redaction policy builder
Profiles map to verified Deepgram request values; they are not compliance labels.
Off — no redact query values will be sent.
Synthetic transcript playground
Deterministic local fixtures model documented placeholder behavior; they are not live Deepgram results or benchmarks.
Original synthetic fixture
Hello, my demo name is Casey Example. My intentionally invalid card digits are 0000 0000 0000 0001 and my fictional phone is 000 000 0199.
Expected redacted fixture
Hello, my demo name is [NAME_1]. My intentionally invalid card digits are [CREDIT_CARD_1] and my fictional phone is [PHONE_NUMBER_1].
Transcript utility indicator is a transparent local token-replacement ratio, not a Deepgram accuracy or quality metric.
Streaming redaction explorer
Fixture timeline: interim placeholders can change as context stabilizes.
clientno_delay: true prioritizes lower latency and may reduce redaction performance. “Prioritize redaction quality” means using false or omitting the parameter; this lab never silently rewrites an advanced request.
API configuration
Repeated values remain repeated query parameters—not comma-separated values.
Query parameters
# Redaction is off
cURL
curl -X POST "https://api.deepgram.com/v1/listen?model=nova-3" \
+ -H "Authorization: Token YOUR_DEEPGRAM_API_KEY" \
+ -H "Content-Type: application/json" \
+ -d '{"url":"YOUR_AUDIO_URL"}'JavaScript / TypeScript
const url = new URL("https://api.deepgram.com/v1/listen");
url.searchParams.set("model", "nova-3");
// Redaction is offPython
params = [("model", "nova-3")]
# requests preserves repeated tuple keys.Downstream pipeline simulator
Architecture prompt, not legal advice.
Customer call → Deepgram redacted transcript → downstream destinations