# PII Redaction for Past Tickets

Turn on PII redaction to remove credit card numbers, SSNs, names, addresses, and more from past helpdesk tickets **before** they're persisted or indexed.

<figure><img src="/files/KGz4kZZlz62IRAg3lD9m" alt=""><figcaption></figcaption></figure>

## What it does

When PII redaction is enabled, every past ticket your agent syncs is run through an AI-based detector before anything is written to the database or sent to the search index. Personally identifiable information is replaced with a typed mask like `[REDACTED:CC]` or `[REDACTED:EMAIL]`.

This means:

* Your agent **cannot** see the original PII when retrieving from past tickets
* Your stored ticket history **does not** contain the original PII
* The search index **does not** contain the original PII

The masked content still has plenty of context for the agent to learn from — only the sensitive substrings are removed.

## What gets redacted

The detector looks for fifteen categories of PII:

| Category                     | Examples                                                          |
| ---------------------------- | ----------------------------------------------------------------- |
| **Credit cards**             | `4532-1234-5678-9010`                                             |
| **Social Security Numbers**  | `123-45-6789`                                                     |
| **Date of birth**            | "DOB: 1984-07-19"                                                 |
| **Bank account / IBAN**      | `GB82 WEST 1234 5698 7654 32`                                     |
| **API keys & secrets**       | AWS keys, Stripe `sk_live_*`, OpenAI `sk-*`, GitHub `ghp_*`, etc. |
| **JSON Web Tokens**          | `eyJhbGciOi…`                                                     |
| **Email addresses**          | `customer@example.com`                                            |
| **Phone numbers**            | `+1 (415) 555-0182`, `+44 20 7946 0958`                           |
| **Person names**             | "John Smith called…"                                              |
| **Physical addresses**       | "742 Evergreen Terrace, Springfield, IL 62701"                    |
| **IP addresses**             | IPv4 and IPv6                                                     |
| **Passport numbers**         | 6–9 alphanumeric                                                  |
| **Driver's licence numbers** |                                                                   |
| **National IDs**             | Aadhaar, NHS number, etc.                                         |
| **Tax IDs**                  | EIN, VAT, etc.                                                    |

The detector knows to ignore well-known **non-PII lookalikes**, including:

* Product, brand, or company names (Salesforce, Stripe, Acme Co.)
* Test card numbers (`4242 4242 4242 4242`, `5555 5555 5555 4444`, etc.)
* Order numbers, invoice IDs, ticket IDs
* Dates that aren't introduced as birth dates

## Where it applies

PII redaction runs on **past helpdesk tickets** that are synced into your agent's knowledge for training. It is **opt-in per integration**.

| Surface                                                     | Redaction applies? |
| ----------------------------------------------------------- | ------------------ |
| Past tickets synced from your helpdesk                      | Yes, when enabled  |
| Help Center articles, macros, knowledge base pages          | No                 |
| Files uploaded to your workspace                            | No                 |
| Conversations the agent has at runtime                      | No                 |
| Tickets that were indexed **before** you enabled the toggle | No (see below)     |

## Turning redaction on or off

Today PII redaction is configurable on the **Zendesk Tickets** path-settings page. (Support for Intercom, Freshdesk, Gorgias, and HubSpot is coming.)

1. In your agent's platform view, open the connected Zendesk integration
2. Click **Tickets** in the integration's sub-menu, then open its settings
3. Scroll to the **Redact PII before indexing** toggle
4. Flip it on (or off) and click **Save Settings**

The default for new Zendesk integrations is **on**. The next time you trigger a past-tickets sync (manually, or automatically after a settings change), tickets that come in will go through the redactor.

## What this doesn't do

* **Existing indexed tickets are not retroactively redacted.** Flipping the toggle only affects tickets ingested from now on. To re-redact older tickets, trigger a fresh past-tickets sync.
* **Runtime tool calls aren't affected.** When the agent fetches a Zendesk ticket live (e.g., to draft a reply), the raw ticket content reaches the model. Redaction only runs on the persistent training corpus.
* **Non-helpdesk knowledge sources aren't affected.** Articles, files, and other sources are not run through the redactor.

## How accurate is it?

Detection runs on a fast, modern LLM (Gemini 3 Flash) with a tuned prompt and a deny-list of common false positives. In our benchmarks against synthetic support tickets the redactor catches the vast majority of obvious PII without flagging things like product names or test card numbers.

That said, no automated detector is perfect:

* A new or unusual PII format may slip through
* A name that's also a common noun may be missed
* Very long tickets may have lower recall than short ones

If you're indexing tickets that contain especially sensitive data (e.g., regulated health information), pair this feature with the usual access controls and consider clearing especially sensitive tickets from your helpdesk before sync.

## FAQ

**Does redaction slow down ticket sync?**

There's an additional \~1–2 seconds per ticket for the LLM call. Past-ticket sync is a background job, so this doesn't affect interactive operations.

**What happens if the redactor's AI service is unavailable?**

The sync **fails closed** — individual tickets that can't be redacted are skipped rather than indexed in their raw form. They'll be retried on the next sync.

**Can I see what was redacted from each ticket?**

Not in the UI today. The number and types of redactions per ticket are logged on our side so support can investigate specific cases on request — contact us.

**Do you store the original ticket content anywhere after redaction?**

No. The redacted version replaces the original before anything is persisted in our database or sent to the search index.

**Will redaction be available for Intercom, Freshdesk, Gorgias, and HubSpot?**

Yes — the underlying detector already supports those integrations. We just need to expose the toggle in each one's past-tickets settings page. Coming soon. In the meantime, the past-tickets sync on those integrations does **not** redact.

## Questions?

For security or privacy questions about PII redaction, or to request the feature on a specific integration ahead of general availability:

* **Email:** <hi@eesel.app>
* **Support:** Contact us


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eesel.ai/security/pii-redaction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
