
More than a third of consumers have canceled a streaming subscription due to frustrations over a bad app experience. Increasingly, the first place those frustrations land is an AI customer support agent. But before an agent can pinpoint a problem or provide a credit, it has to gather context like the customer's name, email, and billing ZIP code. While customer support is one of the simplest use cases for agentic AI, and one of the first that consumer brands are deploying, it's also one of the highest stakes. How an agent handles these conversations can make or break a subscriber's relationship with the brand.
We saw this firsthand with a large subscription company that brought its support agent's conversations into Conviva Agent Experience Insights (AEI). Before sharing a single chat, the brand's first question wasn't about metrics. It was about what would happen to the personal data inside every conversation.
It's the right first question, and one we built AEI to consider from day one. Personally identifiable information (PII) is masked twice, first in the customer's own environment and again at Conviva's ingest gateway, before anything is stored. Then the customer decides what Conviva keeps.
A support agent can't reverse a charge or fix a login until it finds the account. That means names, emails, phone numbers, and addresses flow through nearly every conversation. Here's a billing chat like the ones that company's agent handles every day, with names and details changed:
Subscriber: I got charged twice this month. Can you reverse one of them?
Agent: Sorry about that. Can you share the name and email address on your account?
Subscriber: It's Dana Woo, and my email is danawoo@email.com.
Agent: Can you confirm the billing ZIP code and phone number on the account?
Subscriber: 90210, and it's 310-555-0142.
Seeing that conversation is core to agent analytics. An analytics solution needs to know what the customer wanted, whether they got it, and where they struggled. But, it doesn't need to know who Dana is. In fact, every one of those signals survives masking.
The first layer runs inside the customer's own stack, so anything caught here never leaves it. The Conviva AEI SDK exposes a hook function to run before sending data out and mask the most critical PII and business-sensitive information. Examples include: emails, usernames, phone numbers, bank accounts, credit card numbers, ID numbers, etc. Conviva provides reference implementation for commonly identifiable patterns. Importantly, the masking hook lets teams add rules for identifiers only they would recognize, like an internal account number format or loyalty program ID. In Dana's chat, her email and phone number are masked before they ever leave the company.
Pattern-based rules struggle with free text. "Dana Woo" doesn't follow a pattern, and neither does an address typed mid-sentence. So when data reaches Conviva's ingest gateway, a masking engine scans it before anything is written to disk. It replaces names and addresses with typed placeholders across languages and catches critical PII that slipped past Layer 1. Here's what Conviva stores:
Subscriber: I got charged twice this month. Can you reverse one of them?
Agent: Sorry about that. Can you share the name and email address on your account?
Subscriber: It's <NAME>, and my email is <EMAIL>.
Agent: Can you confirm the billing ZIP code and phone number on the account?
Subscriber: <ADDRESS>, and it's <PHONE>.
Nothing identifies Dana, but the billing dispute and every step the agent took to resolve it are still there.
After masking, customers choose what Conviva stores. With Option A, which we recommend, Conviva keeps the masked conversation behind every AEI metric, so teams can see what the agent said and did. Coding agents like Claude or Codex can also read those conversations through Conviva's MCP server. With Option B, AEI extracts signals like intent, outcome, struggle, and sentiment, then discards the text.
Teams can send data through the Conviva AEI sensor or SDK, an existing OpenTelemetry exporter, or a batch export from platforms like Zendesk, Langfuse, or Arize. Both masking layers apply on every path.