# Redacting a document before you paste it

> Take the names, numbers and addresses a task does not need out of a document before it goes into an AI tool, check that the task still works on what is left, and put the values back with a map that never left your computer.

Page: https://schubergphilis.github.io/ai-training/safety/redact-before-you-paste/
License: CC BY-SA 4.0, https://creativecommons.org/licenses/by-sa/4.0/

A customer writes to support about a dishwasher that leaks again after a
repair. You want an assistant to draft the reply. The email holds the
customer's name, phone number, email address, home address, and account
number, and the reply needs none of them. In this lesson we take those
values out before the email goes anywhere and check that the task still
works on what's left. Afterwards a map that never left your computer puts
the values back into the reply.

Every person and company in the email is invented. The redaction boxes on
this page run in your browser and send the text nowhere. The one step that
puts text into an AI tool is optional and uses the redacted version only.

Here is the email.

```text
From: Renske Adelhof <renske.adelhof@example.net>
To: support@norrbeck-appliances.example
Subject: Dishwasher still leaking after repair (account NB-4471-0928)

Hello,

Your technician Tijmen Boskoorn came by on Tuesday to fix the leak in our
dishwasher, a Norrbeck D410. It worked for two days and now the water is
back under the sink. I leave for work at 7:30, so please call me on
+31 6 1234 5678 before that, or write back. My account number is
NB-4471-0928.

Kind regards,
Renske Adelhof
Kastanjelaan 12, Zwolle
```

## What the task needs

The task is "draft a reply that apologizes, offers a free second visit,
and asks for a time window". Read the email once with that task in mind
and mark what the reply depends on: the leak came back after a repair on
Tuesday, and the customer leaves early in the morning. Now mark the facts
that the reply never uses: who the customer is, how to reach them, where they
live, which account they have. Support sends the reply from the ticket,
and the ticket system already has those details.

Everything in the second group is personal data, and the
[first lesson](https://schubergphilis.github.io/ai-training/safety/responsible-use/) of this course said to leave it
out unless the tool is approved for it. Redaction is how you leave it out
without giving up the tool. The AI Fluency framework files this under
diligence, the part of working with AI where you take responsibility for
what you hand over and for what happens with it
(AI Fluency: Framework and foundations, Claude Academy).

## Replace each value with a placeholder that keeps its role

Deleting a name leaves a sentence with a hole in it, and a model drafting
a reply from "Your technician came by" can no longer tell that two people
are in the story. A placeholder keeps the role: `Person 1` for the
customer and `Person 2` for the technician, `[phone]` and `[address]` for
the contact details. The
same placeholder goes everywhere the value appears. Both mentions of the
account number become `[account number]`, and the reader still knows
they're one thing.

The box below holds the email and a map of six rows, each an original
value and its placeholder. Press Redact. Redact replaces every value with
its placeholder, longest value first, so a full name is replaced before a
shorter value it contains.

This is the redacted email.

```text
From: Person 1 <[email]>
To: support@norrbeck-appliances.example
Subject: Dishwasher still leaking after repair (account [account number])

Hello,

Your technician Person 2 came by on Tuesday to fix the leak in our
dishwasher, a Norrbeck D410. It worked for two days and now the water is
back under the sink. I leave for work at 7:30, so please call me on
[phone] before that, or write back. My account number is
[account number].

Kind regards,
Person 1
[address]
```

Read the result as the model would. It's still a complaint about a leak
that came back, from someone who has to leave early. The technician was
there on Tuesday. The support address and the product name are still
in it, because they belong to the company and the task may need them.

## The task works as well on the redacted text

To see this for yourself, put the task and the redacted email into the
chat tool you use at work. That paste is safe
because the people are invented and their details are already replaced.
You can also skip it. The exchange below is illustrative: the author wrote
it to show the pattern, and yours reads a little differently.

#### Prompt (illustrative, not a recorded transcript)

```text
Draft a short reply to the customer email between the triple quotes. Apologize,
offer a free second visit this week, and ask for two time windows that
suit them. Keep the placeholders exactly as written.

"""
[the redacted email, pasted in full]
"""
```

#### Response

```text
Dear Person 1,

Thank you for letting us know, and I am sorry the leak came back so soon
after Person 2's visit. We would like to send a technician again this
week, and we pay for the visit. Could you give us two time windows that
suit you, outside your morning departure? Until then, please keep the
water supply to the dishwasher closed.

Kind regards,
Norrbeck Appliances customer support
```

The reply is as good as one drafted on the original. The model used the
early departure and the visit that didn't hold, and it needed nothing that
was taken out. That's the usual case. Most tasks read the
facts of a document, and the identifiers in it are there for the humans
who file and answer it.

#### Pitfall: Leaving an initial and a city

A colleague redacts the same email by hand. They shorten the name to
"R. A." in both places, remove the phone number and the email address, and
cut the street from the signature but keep the city. The subject line
stays as it was, with the account number in it, and so does the
technician's name. Anyone with access to the company's ticket system, and
anyone who knows the technician's round, can find the customer from that
in a minute. A redaction that leaves one detail per person is a redaction
of nothing. Take out every detail that points at the person, and read the
subject line and the signature as carefully as the body.

The colleague's version is in the box below, with an empty map. Under it
is a list of eight details from the original, in this order: name,
initials, phone, email, account number, street, city, technician. After a
pass, the box prints `still identifying:` and then the labels of the
details it still finds, separated by a comma and a space.

#### Checkpoint: What does the check print?

Read the colleague's version in the box above, including the subject line
and the signature. Before you press Redact, write down what the box prints.

For the colleague's version as it is, the box above prints this line.

```text
still identifying: initials, account number, city, technician
```

Now finish the colleague's redaction. Add a map row for each detail the
line names, such as `Zwolle => [city]`, and press Redact again. When the
line says `none of the listed details`, compare the result with the
redacted email above.

## The redaction map stays with you

The reply says "Dear Person 1", and that isn't the customer's name. The
map that produced the redaction turns it back. The box below holds the
reply from the illustrative response and the same map. Press Restore, and
each placeholder is replaced by the value it stood for.

This is the restored reply.

```text
Dear Renske Adelhof,

Thank you for letting us know, and I am sorry the leak came back so soon
after Tijmen Boskoorn's visit. We would like to send a technician again this
week, and we pay for the visit. Could you give us two time windows that
suit you, outside your morning departure? Until then, please keep the
water supply to the dishwasher closed.

Kind regards,
Norrbeck Appliances customer support
```

The map is the one file in this lesson that holds every identifier in
one place, so it is the one file that never goes into the tool. Keep it
where the original document is kept, in the ticket system or in a folder
your organization already protects, and delete it when the reply has
gone out. Without the map the redacted text is pseudonymized: the people
have placeholders instead of names. It isn't anonymous, because the
dishwasher model, the Tuesday visit and the company address are still in
it, and someone with the ticket system could match them. With the map the
reply is still addressed to a person. For a
document you redact by hand, the map is a two-column table in a text file.
The map box on this page takes one `value => placeholder` per line, and so
does the exercise below.

#### Checkpoint: Ready to paste?

A colleague shows you the prompt they're about to send. The greeting
reads "Dear Person 1", and below the body is the customer's full
signature block: name, job title, employer, mobile number, and office
address. What do you tell them?

- Paste it. The name is gone, and a signature block is public information anyway, printed on every business card.
- Delete the signature block, then paste. The body has no name left in it, so nothing else needs to change.
- Replace every detail that points at the person, in the subject, the body and the signature, with a placeholder from a map kept outside the tool.

## Send what the task needs

Send what the task needs and no more. Before a document goes into a tool, read it with the task in
mind and split it in two: the facts the task uses, and the details that
say who is involved. Replace every detail in the second group with a
placeholder that keeps its role, check the subject line and the
signature, and then keep the map with the original. When the answer comes
back, the map puts the people back in.

## Exercise

The box below holds the full ticket the email came from: the customer's
email, an internal note from the technician, and a message from the
planner, about forty lines in all. Its map is empty. Write a map in the map
box, one `value => placeholder` per line, and press Redact. Read the output
line by line and add a row for every detail that still points at a person,
then press Redact again. Plan on ten minutes. This is the whole procedure,
and after one full pass you can apply it to the next document without
looking anything up.

A good result doesn't name a person or hold a phone number, email address,
account number, ticket number, order number, or street. A reader can still
tell that a door seal was replaced and that the inlet hose is the next
suspect, and that Thursday afternoon is on offer. After your own pass,
compare your map with this one, which leaves none of those details in the
ticket.

```text
Renske Adelhof => Person 1
renske.adelhof@example.net => [email 1]
Tijmen Boskoorn => Person 2
Sander Adelhof => Person 3
Marit Zandvliet-Oosterhuis => Person 4
+31 6 1234 5678 => [phone 1]
+31 6 8765 4321 => [phone 2]
NB-4471-0928 => [account number]
NB-2026-08814 => [ticket number]
55-31972 => [order number]
Kastanjelaan 12, Zwolle => [address]
Kastanjelaan 12 => [address]
Zwolle => [city]
```

Then answer one question: which detail in the ticket did you notice last,
and where in the document was it?

Stretch: Take one document from your own work and do the same on paper: list the values you would replace and their placeholders, without pasting the document anywhere.

## Recap

1. Read the document with the task in mind and split it in two: the facts the task uses, and the details that say who is involved. The reply to a leak needs the leak and the departure time. It doesn't need the identifiers.
2. Replace each identifier with a placeholder that keeps its role, `Person 1`, `Person 2`, `[account number]`, and use the same placeholder everywhere the value appears.
3. The task works as well on the redacted text. Most tasks read the facts of a document, and the identifiers are there for the people who file and answer it.
4. A partial redaction that leaves an initial, a city or an account number in the subject line is a redaction of nothing. Check the subject line and the signature.
5. Keep the redaction map outside the tool, where the original is kept, and use it to put the names back into the answer. Send what the task needs and no more.

## References

- AI Fluency: Framework and foundations, Claude Academy, https://academy.claude.com/courses/ai-fluency-framework-foundations
