Zellio.io

How to Remove Personal Data Before Pasting Into an AI Chat

7 min readLast updated

The quickest way to understand a broken log is to paste it somewhere that will read it for you. That habit arrived faster than anyone's policy about it, and the text being pasted is rarely the paster's to give away: it belongs to a customer, an employer, a patient, a user who agreed to none of this. This guide is about the thirty seconds between the copy and the paste — what is genuinely at stake, what to take out, and how to take it out without destroying the thing you wanted an answer about.

What is at stake in a paste

The worry is not that a model reads your text and broods on it. It is that a paste cannot be recalled, and that four separate things travel with it, each governed by a different rulebook.

  • Retention. Conversations are kept by default in consumer products, and several keep a copy for a period after you delete one. The durations differ by product and change without much fanfare, so the policy of the specific product is the only reliable source.
  • Training. Consumer tiers commonly improve models from conversations unless the setting is turned off; business, enterprise and API tiers commonly do not, by default or by contract. The switch is in a different place in every product, and it is worth finding before the first paste rather than after.
  • People. Safety and abuse review means a human being can read a flagged conversation. That is a reasonable safeguard, and it is also a route your customer's data can travel.
  • Your own promises. A privacy notice that names your processors, a data-processing agreement with a client, a clause about sub-processors: pasting into an assistant that appears on none of those lists is a contract problem well before it is a security one.

None of that makes the habit reckless. It makes it a decision of the same weight as forwarding the text to an outside contractor — fine for most things, once you have taken out the parts that were never needed to answer the question.

Why plain redaction ruins the answer

The obvious move is to replace everything sensitive with a label. It protects the values perfectly and, often, destroys the question. A tag repeated eleven times in a log could stand for eleven customers or for one, and the interesting fact — that the same address appears in every failed request — is precisely the fact the tag erased.

  • Identity across lines: whether the account on line 40 is the account on line 12 is usually the whole investigation.
  • Kind: a sixteen-digit number that passes its checksum is a payment instrument; an order reference is not. One label over both loses the distinction.
  • Neighbourhood: two addresses in the same subnet, two mailboxes at the same domain, two timestamps a second apart — proximity survives only if something is left to compare.
  • Register: a page of tags reads as a document about redaction, and assistants oblige by commenting on the redaction.

Partial masking — last four digits, domain kept — restores some of that and is the right choice for a spreadsheet a colleague has to read. It is still the wrong choice here, for a different reason: the reply will refer to the masked form, and someone then has to work out which mailbox each one was, by hand, for every mention.

Stand-ins you can reverse

The alternative is substitution. Each real value is swapped for an invented one of the same kind, consistently, and the correspondence between them is kept so that whatever comes back can be translated. Two properties do the work: consistency, meaning one value keeps one stand-in everywhere it occurs, however it was capitalised or spaced; and fidelity of kind, meaning an address is replaced by something that is recognisably an address.

Fidelity matters more than it sounds. It also raises a question the careless version of this trick gets wrong: invented values must be unmistakably fictional, or a plausible-looking replacement becomes somebody's real mailbox in whatever the assistant drafts next. The standards bodies set aside ranges for exactly this.

KindReserved rangeSet aside by
Domains and emailexample.com, example.net, example.orgRFC 2606, with RFC 6761 keeping them unregistrable
IPv4192.0.2.0/24, plus two further blocksRFC 5737, for documentation
IPv62001:db8::/32RFC 3849, the same idea for IPv6
North American phone numbers555-0100 through 555-0199Reserved for fictional use, which is why films use them
US social security numbersAnything beginning 900A range the Social Security Administration has never issued
Ranges reserved so that a made-up value can never belong to anyone.

Payment cards are the instructive exception. There is no reserved block, and a number that fails the Luhn checksum does not read as a card at all, so a stand-in has to be a structurally valid number that belongs to no issuer and no account. The same logic applies to anything carrying a check digit: the replacement passes the arithmetic and refers to nothing.

Where that correspondence lives is therefore the whole security question. It belongs wherever the original data already belongs — on the machine doing the work, under the same access rules — and specifically not in the conversation. Asking the assistant to reverse the substitution for you hands over the one thing the substitution was protecting.

What no detector will find

Automatic detection works on form. Emails, card numbers, IBANs, coordinates, keys and network addresses have a recognisable one; the most identifying sentences in a support ticket generally do not.

  • People's names, and the names of small companies, which identify a person almost as precisely.
  • Street addresses and postcodes written the ordinary way, and dates of birth written in words.
  • A diagnosis, a disciplinary note, a debt, an immigration status — sensitive precisely because of meaning, which is the thing form cannot see.
  • Internal code names for projects, customers and environments, which identify an employer to anyone who has heard them.

There is also the combination problem. Attributes that are unremarkable alone can single one person out together: research on US census data found that a large share of the population is uniquely identified by postcode, date of birth and sex in combination. A ticket describing the only Dutch-speaking account on the enterprise plan has named its subject without using a name, and no scanner will ever flag that sentence.

Which leaves two habits that do more than any detector. List the words that matter — names, companies, code names — so they get substituted like everything else. And send less: the forty lines around the error rather than the file, the disputed invoice line rather than the ledger. Text you never paste needs no cleaning and cannot leak.

A routine that takes a minute

Clean text before pasting it into an AI assistant

  1. Cut it down first

    Keep only the part the question is about. This is the step with the largest effect and it takes the least time.

  2. Scan for the shapes

    Run the remainder through a detector for emails, phone numbers, card numbers, IBANs, network addresses, coordinates, tokens and keys — and read the findings rather than trusting the total.

  3. Add what has no shape

    Type in the names, companies and code names by hand. These are invisible to detection and are usually the most identifying words on the page.

  4. Substitute rather than delete

    Replace each finding with a consistent stand-in of the same kind, so the assistant can still tell two customers apart, and keep the correspondence beside the original data.

  5. Read the cleaned copy as a stranger

    If what remains still points at someone — the only clinic in a small town, the one account on that plan — cut further. The tags are not the finish line.

  6. Translate the reply back

    Bring the answer through the reverse step so the stand-ins become real values again, locally. Never paste the correspondence into the chat to have the model do it.

When the answer is not to paste at all

Some material is not a cleaning problem. Health records, cardholder data under PCI DSS, children's data, anything under legal privilege, and anything covered by an agreement that names its permitted processors: for these the choice is an approved deployment with a signed agreement and a no-training commitment, or doing the task another way. A cleaned copy of a medical record is still a medical record.

One habit is worth breaking early, too. A credentials file pasted in to ask what a setting does is a set of credentials to rotate, whatever the retention policy says — and rotating a key costs an afternoon, while explaining why it was not rotated costs considerably more.

For the ordinary cases the calculation is different and much friendlier. A log, a ticket, an export, a config: a minute of substitution is the difference between a question you can ask and one you have to answer yourself. The Sensitive Data Scanner here does the detection, the stand-ins and the reverse step in the page, with the correspondence held in the tab and nowhere else.

Tools in this guide