Skip to content

Document sensitive data recognition and redaction (DEL-36758) - #345

Open
markotintor-speechmatics wants to merge 2 commits into
mainfrom
DEL-36758-entity-redaction-docs
Open

markotintor-speechmatics wants to merge 2 commits into
mainfrom
DEL-36758-entity-redaction-docs

Conversation

@markotintor-speechmatics

@markotintor-speechmatics markotintor-speechmatics commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Description
Jira: DEL-36758 (epic DEL-36756)

Summary

  • spec/batch.yaml: add entities_config.detect_advanced_entities, enable_redaction, redaction_config.entity_classes (70 values, matching jobs-internal.yaml from openapi-specifications DEL-35715 / DEL-36826) and entity_class on RecognitionResult.
  • Three new pages under Batch → Speech intelligence:
    • Redaction: enable it, choose what to redact (regulation groups, data type groups, specific classes, or a mix), redacted output, using it with recognition, and supported languages.
    • Sensitive data recognition: enable it, output, a comparison with smart formatting entities, and supported languages.
    • Sensitive entity classes: a reference for both pages. It has the groups table, PII, PHI and PCI tables with a Groups column per class, and the classes in each regulation group.
  • formatting.mdx: smart formatting entities are Standard and Enhanced only, with links to the new pages.
  • models.mdx: on Batch, Melia 1 and Oak 1 now list "smart formatting entities" as unsupported instead of "entity detection", because sensitive data recognition works on all models.
  • Python example, terminology entries, and cspell words.

Notes

  • pii isn't used in any example. Limina has no PII group because it doesn't match any regulation, and ours covers broad classes such as date, time, money and organization. The examples use gdpr instead, the pages recommend starting from a regulation group, and pii is documented with a note that it's broad.
  • Smart formatting entities. On Melia 1 and Oak 1, enable_entities is only accepted together with detect_advanced_entities: true, per the transcriber v3 spec tests.
  • Invalid configs. Following existing pages, each rule is stated in one sentence without the error JSON. Schema-level rules are left to the API reference.
  • Unsupported languages. Bashkir, Basque, Esperanto, Galician, Interlingua, Irish, Maltese, Marathi, Mongolian, Urdu, Uyghur and Welsh are not supported, from comparing Limina's languages with ours. For Mandarin, the pages ask for the Simplified output locale (cmn-Hans). Follow-ups:
    • DEL-37143: Mandarin Traditional (cmn-Hant) support
    • DEL-37047: unsupported detected language in Melia jobs
    • DEL-37048: unsupported detected language with language: auto

Add the Batch API fields for advanced entity detection and redaction
(entities_config, enable_redaction, redaction_config, entity_class) from
openapi-specifications, and a new Speech intelligence page covering
configuration, output, entity classes and supported languages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs Ready Ready Preview Nov 10, 2026 1:14pm UTC

Request Review

@mnemitz

mnemitz commented Nov 9, 2026

Copy link
Copy Markdown
Collaborator

@markotintor-speechmatics I have a PR here bringing the batch spec fully in line with production, including the oak-1 availability. Let's merge that one ahead of this: #346

…ages

- Redaction and sensitive data recognition get their own pages; a shared
  reference page lists every entity class with its groups, plus the
  classes in each regulation group (from Limina's entity types).
- Use regulation groups instead of pii in examples, and note that pii is broad.
- Compare sensitive data recognition with smart formatting entities
  (Standard and Enhanced only) and update the Melia 1 / Oak 1 gaps.
- Ask for the Simplified output locale for Mandarin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

When redaction is enabled, the transcript has no `spoken_form` or `written_form`.

## Supported languages for redaction

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rename this section oppositely. It's silly I know but otherwise people skimming (seeing the title and the list) might mistakenly assume it's the list of supported languages.

Suggested change
## Supported languages for redaction
## Unsupported languages for redaction


A job returns one kind or the other, not both. On Melia 1 and Oak 1, `enable_entities` is only accepted with `detect_advanced_entities` set to `true`.

## Supported languages for sensitive data recognition

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here

Suggested change
## Supported languages for sensitive data recognition
## Unsupported languages for sensitive data recognition


## Personally identifiable information (PII)

| Entity class | Description | Example | Groups |

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great to have a comprehensive table for these! Note for later: whenever we move the spec to OpenAPI V3 we can actually put these descriptions and examples directly in the spec/API ref.

"type": "transcription",
"transcription_config": {
"language": "en",
"enable_redaction": true,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"enable_redaction": true,
// highlight-start
"enable_redaction": true,

"enable_redaction": true,
"redaction_config": {
"entity_classes": ["gdpr"]
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
}
}
// highlight-end

"transcription_config": {
"language": "en",
"enable_redaction": true,
"redaction_config": {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"redaction_config": {
// highlight-start
"redaction_config": {

"enable_redaction": true,
"redaction_config": {
"entity_classes": ["gdpr", "name_given", "credit_card"]
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
}
}
// highlight-end


Redaction supports all [transcription languages](/speech-to-text/languages#transcription-languages), except:

- Bashkir

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we include ISO language codes next to these?

This branch was successfully deployed

1 active deployment
Preview — 758043b0 Deployed Nov 10, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants