Use these controls when you index content that may contain personal data (tickets, Slack history, uploaded files) or when your compliance team sets limits on how long conversation data may be retained. Both are configured in the dashboard under Workspace → Settings.

Turn on PII masking

BeforeQuery detects and masks personally identifiable information before content is stored or forwarded to any LLM — at ingest time (crawled pages, uploaded files, tickets) and at query time (user messages). Masked tokens are replaced with type placeholders like [EMAIL] and [PHONE], and every masking event is recorded in the audit log. Built-in patterns cover: phone numbers, email addresses, credit card numbers, IBANs, IP addresses, and person names.
1

Enable masking

Open Workspace → Settings → Privacy and turn on PII masking. It applies uniformly across every surface — widget, APIs, bots, and helpdesk automation.
2

Add custom patterns (optional)

Add workspace-level regex patterns for proprietary identifiers — customer IDs, license keys, internal hostnames — that the built-in detectors don’t know about.
3

Verify on your riskiest source

Sync a ticket or Slack source and spot-check the resulting documents under Project → Documents — identifiers should appear as [EMAIL]-style placeholders.
For chat identity, no end-user personal data needs to be stored: the API accepts an opaque user.id, and nothing beyond that opaque identifier is retained.
Enable masking before first indexing PII-heavy sources like resolved tickets — masking applies at ingest, so content indexed earlier is not retroactively masked until re-synced.

Set a conversation retention window

Choose a rolling 30 / 90 / 365-day window in Workspace → Settings → Data Retention. Conversation data older than the window is purged automatically — no manual cleanup jobs.

Zero-data-retention mode

For the strictest environments (Enterprise plan), enable zero-data-retention: no conversation data — messages, citations, or feedback — is persisted beyond the active streaming session. It’s compatible with all widget modes and the public API.
Zero-data-retention disables conversation history, feedback-driven ranking, and conversation-level analytics — those features require persisted data.

Expire time-sensitive documents

Set a TTL per source; expired documents and their chunks are deleted on schedule. Use it for content that goes stale — release announcements, promotions, or ticket-derived knowledge you only want influencing answers for a season.

Plan availability

PII masking is included on Growth and Enterprise plans; zero-data-retention is Enterprise-only. Your plan’s controls are shown in Workspace → Settings — see Billing & Plans.