NotesBefore You Send

Pasting Company Data into ChatGPT — What I Replace First

Before I paste a work email into ChatGPT, I replace the parts the model does not need with labels like [client]. Not deletion — replacement, because cutting too much takes the structure of the text with it. Here is what a pattern can find for you, and what only you can find.

Before You Send Field Note

この記事を日本語で読む

Whether a company allows its data in ChatGPT depends on the service, the contract, and the settings — that part is not mine to answer for you. The narrower question I can answer is the one I ask myself every time: which parts of this text does the model actually need? Usually not the names, the addresses, or the phone numbers. Those I replace with labels before pasting.

I use AI chats to tidy up emails and summarise long meeting notes. When work text goes in as-is, the request I care about arrives together with names, email addresses, phone numbers, client names, project code names, internal system names, and sometimes an API key.

An example

Say I want help rewriting a reply, and I paste this:

Hi Jane Doe,

Thanks for your time earlier.

About the system migration at Acme Logistics, I would like to
set up one more call next week.

You can reach me at jane@example.com or +1 555-0100.

If the request is only "make this read better", the real name, the address and the number are not part of it. So I replace them first:

Hi [contact],

Thanks for your time earlier.

About the system migration at [client], I would like to
set up one more call next week.

You can reach me at [email] or [phone].

The meaning survives. What the model needs in order to rewrite the message is still there; what identifies people is not.

Deleting turned out to be worse than replacing

My first instinct was to strip anything that looked sensitive. That went badly. Once the names are gone, the text stops saying who is writing to whom and which company is involved, and the rewrite comes back just as vague.

Jane Doe          → [contact]
Acme Logistics    → [client]
Project Falcon    → [project]

A label keeps the relationship and drops the identity. The question I try to ask is not "can I remove this word" but "does this request need this particular value?"

What a pattern can find, and what it cannot

I build a browser extension that does this replacement automatically, and writing the detection side is what made the split obvious to me.

KindExamplesCan a pattern find it?
Has a fixed shapeemail addresses, phone numbers, postal codes, card numbers, IP addresses, API keys and tokensUsually yes
Has no fixed shapepersonal names, client names, project names, internal system namesNot on its own

The first row is written in a format. Something sits either side of an @; digits appear in a known length; a key starts with a known prefix. Card numbers can even be checked arithmetically to see whether the digits are plausible.

The second row has no format at all. "Acme Logistics" and "the new membership system" are ordinary words. Only the person doing the work knows which of them should not leave the building. Any automation has to be told, by that person, one term at a time.

So regardless of tooling, proper nouns stay a manual check for me.

The four places I look

1. The greeting and the signature. This is where the name, the company, the department, the phone number and the address sit together. Reading the body carefully is exactly how I miss them.

2. The quoted thread underneath. A reply often carries several earlier messages below it, and those can involve people who have nothing to do with what I am asking about. Scrolling to the bottom of what I just pasted is the step I forget most often.

3. Client names and project names. No pattern, as above. My eyes or nobody's.

4. Logs and configuration. For a technical question it is tempting to paste the error output as it is. API keys and tokens usually have a recognisable prefix, so they belong in the first row of the table — but hostnames, internal URLs and system names in the same log do not. Both kinds sit in the same paste.

On the rules side

Data handling differs between consumer and business plans, and some services let you control whether your conversations are used for training. Which one applies to you is in that provider's terms and privacy policy, not in an article like this one.

Japan's data protection authority, the Personal Information Protection Commission, published a notice on generative AI services on 2 June 2023. For ordinary users it asks them to check the provider's terms of use and privacy policy, and to decide about using the service in light of what they are about to enter. For businesses handling personal data it goes further: if a prompt contains personal data and that data is processed for anything beyond producing the response, the notice warns this may breach Japan's personal data protection law, and asks businesses to confirm that the provider does not use the data for machine learning.

That confirmation is homework on the sender's side, not on the service's. Which is roughly why I settled on the simpler habit: rather than deciding whether AI is safe in general, do not hand over what this particular request does not need.

Doing it by hand did not last

For a short message, manual replacement is fine.

Over weeks of pasting emails, meeting notes and support enquiries, it stopped being fine. The same values, found and retyped every time. I gave up on doing it consistently, which is how the extension started.

It works on what the table calls a fixed shape. Terms only I would recognise — a client, a project — are custom rules I add myself. Detection and replacement happen inside the browser; the text is not sent to a server to be masked.

It is not a substitute for a company DLP or an internal policy. It finds what can be written as a pattern, which is not the same as finding everything sensitive. What actually gets sent is still a decision I make, in front of the text.

One boundary worth naming: all of this is about text pasted into an input field. When a file is attached instead, the information lives inside the file, and that is a different check — I wrote about what is stored in PDF metadata separately.

Try it once by hand

You do not need an extension for this.

The next time you paste work text into an AI chat, stop once and ask whether the request needs that name and that address. If it does not, put [contact], [client] or [project] in their place and paste that instead.

There is no need to suspect the whole message. Only the parts that were never the point.

Tags: ChatGPT・personal data・before you send

← All notes