> ## Documentation Index
> Fetch the complete documentation index at: https://docs.roark.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# PII Redaction

> Mask sensitive caller information in transcripts before it reaches your team or evaluators

Roark can detect and mask personally identifiable information (PII), phone numbers, social security numbers, credit cards, and more, in your call and chat transcripts. When redaction is on, the original PII never leaves the redaction boundary: viewers see masked tokens, evaluator LLMs receive masked text, and search results are sanitized.

Redaction is a per-project setting and applies to both **calls and chats** going forward. Existing conversations keep their original transcripts.

***

## How It Works

<Steps>
  <Step title="Transcript becomes available">
    Whether the transcript came from your integration, your own upload, or Roark's transcription pipeline, redaction kicks in once the transcript is persisted.
  </Step>

  <Step title="Roark scans the transcript for PII">
    A redaction pass identifies the entity types you've enabled (phone numbers, account numbers, addresses, names, etc.) and stores them as redaction spans alongside the transcript.
  </Step>

  <Step title="Masking on display and analysis">
    When you view a conversation, the transcript renders `[REDACTED:PHONE]`-style pills in place of the sensitive content. Evaluators that use LLMs (custom prompts, sentiment, toxicity, emotion, politeness) receive the masked transcript by default.
  </Step>
</Steps>

***

## Enabling Redaction

<Steps>
  <Step title="Open Settings">
    Go to your project's **Settings** page and find the **PII Redaction** section.
  </Step>

  <Step title="Toggle redaction on">
    Flip the master toggle. The entity-type list expands.
  </Step>

  <Step title="Choose entity types">
    Most entity types are on by default. Names and addresses are off by default: they have higher false-positive rates and customers usually opt in deliberately.
  </Step>
</Steps>

***

## Supported Entity Types

| Entity                                | Default | Notes                              |
| ------------------------------------- | ------- | ---------------------------------- |
| Social security numbers               | On      |                                    |
| Credit card number / CVV / expiration | On      | Each is a separate toggle          |
| Bank account numbers                  | On      |                                    |
| Bank routing numbers                  | On      |                                    |
| Phone numbers                         | On      |                                    |
| Email addresses                       | On      |                                    |
| Dates of birth                        | On      |                                    |
| PINs                                  | On      |                                    |
| Passwords                             | On      |                                    |
| Names                                 | Off     | Higher false-positive rate, opt-in |
| Addresses                             | Off     | Higher false-positive rate, opt-in |

***

## Evaluators and Redaction

Evaluator LLM calls (custom prompts, sentiment, toxicity, emotion, politeness) automatically receive the **redacted** transcript when redaction is enabled. This keeps PII from leaving your tenant for analysis.

If your evaluators rely on the original PII to do their job (and you accept the trade-off) you can override this with the **Allow evaluators to see original PII** toggle in the same settings panel. We recommend leaving it off unless you have a specific reason.

***

## What's Stored

* The original transcript is preserved unchanged: storage is non-destructive.
* Redaction spans (entity type, segment, confidence, source) are stored as metadata so masking is consistent across every read path and reproducible if you change the policy later.
* Audio recordings are stored as-is. Audio-level redaction (beep/silence at PII timestamps) is on the roadmap.

***

## Limitations Today

* Masking is applied at the **segment** level when any PII is detected within it, so a turn containing one phone number renders as a single redaction pill, not inline word-level redaction. Word-precise inline masking is on the roadmap.
* Audio recordings are not yet redacted. If you need redacted audio (for sharing recordings outside your team), reach out. It's planned and we're prioritizing based on demand.

***

## Compliance and Boundaries

When redaction is enabled:

* The frontend renders masked tokens in transcripts and exports.
* The GraphQL API returns masked text by default for every segment-returning query (calls and chats).
* LLM evaluators receive masked text unless you explicitly opt out per project.
* OpenSearch event indexing is unaffected (event properties are structured, not transcript-derived).

If you have specific compliance requirements (HIPAA BAA, PCI scope, destructive retention of original transcripts), [reach out to support](/documentation/resources/support). We can scope what's needed for your environment.
