Skip to main content

CT-AI Security & PII

CT-AI processes call records, device data, and contact information to answer your questions. This page explains how sensitive data is handled before it reaches the LLM, what gets logged, and how administrators control privacy settings.

How PII Redaction Works​

CT-AI applies a redaction pipeline before any data is sent to the LLM provider. The pipeline runs inside Call Telemetry -- the LLM only sees redacted values.

Data flow:

  1. User asks a question (e.g., "Who called 5551234 yesterday?")
  2. CT-AI retrieves matching data from the Call Telemetry database
  3. The PII redaction pipeline processes the data based on your org's policy
  4. Redacted data is sent to the LLM as tool context
  5. The LLM generates a response using redacted values
  6. The response is streamed back to the user

The user always sees the original (unredacted) data in the Call Telemetry UI. Redaction only affects what the external LLM provider receives.

Per-Org PII Policy Settings​

Administrators configure PII redaction under Settings > AI > Privacy. Three independent toggles control what gets redacted:

mask_phone_numbers​

When enabled, phone numbers are masked before being sent to the LLM. The last 4 digits are preserved for context.

OriginalRedacted
151255512341512***1234
+442071234567+4420***4567

mask_caller_names​

When enabled, caller and callee names are replaced with consistent aliases. The same person always gets the same alias within a conversation, so the LLM can still reason about patterns.

OriginalRedacted
John SmithCaller A
Jane DoeCaller B

mask_contact_info​

When enabled, supplementary contact details are stripped before LLM processing:

  • Email addresses
  • Department names
  • Company names
  • Physical addresses

Ollama Exception​

When your organization uses Ollama as the LLM provider, all inference runs on your own infrastructure. No data leaves your network.

In this configuration, PII redaction is still applied by default but administrators can safely relax the redaction policy since there is no external data transfer. This is useful for environments that need full-fidelity AI responses without masking.

Audit Ledger​

Every CT-AI interaction is recorded in a three-table audit ledger:

TableRecords
ai_requestsEach chat request: user, org, timestamp, conversation ID, provider, model
ai_tool_callsEach tool invocation: tool name, arguments (redacted), result summary, duration
ai_usageToken counts: prompt tokens, completion tokens, total tokens, estimated cost

What is logged​

  • User identity -- who asked the question
  • Timestamps -- when each request and tool call occurred
  • Tool activity -- which capabilities were invoked and their arguments (after PII redaction)
  • Token usage -- prompt and completion token counts per request
  • Provider and model -- which LLM handled the request

What is NOT logged​

  • Full LLM responses -- response content is streamed to the user but not persisted in the audit ledger
  • Raw (unredacted) data -- the audit ledger stores redacted versions of tool arguments

Retention policy​

Audit records are automatically purged after 90 days by default. Administrators can adjust this under Settings > AI > Privacy.