ChatGPT for Nonprofits: What Donor Data Must Never Be Pasted In

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for ChatGPT for Nonprofits: What Donor Data Must Never Be Pasted In.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for ChatGPT for Nonprofits: What Donor Data Must Never Be Pasted In.

Never paste anything into ChatGPT that identifies a donor or a person you serve: names with contact details, payment or bank details, case notes, health, immigration or safeguarding information, anything about children, or a raw database export. Swap names for codes, strip contact fields, and share summaries and patterns instead of records.

Names aren't the only identifier. A gift amount, a date and a small group can single out a donor without a name, and a case note identifies a person through the story alone. Charities also hold data for a purpose: supporters gave it so you could thank and update them, and beneficiaries gave it to get help. No setting changes that. Turning off model training doesn't delete what you've pasted, and a business plan still stores it, so redaction comes first and settings second.

Follow me on Instagram@sagnikteaches

Red, amber and green: sorting donor and beneficiary data

Three tiers make the rule usable on a busy day. The red list is absolute, the amber list needs redaction first, and the green list is free to use.

Connect on LinkedInSagnik Bhattacharya

Never (red).

Subscribe on YouTube@sagnikteaches
  • Card numbers, bank details, direct-debit mandates and anything used to take or move money.
  • Passwords, one-time codes, API keys and login links. OpenAI's terms also bar sharing account credentials.
  • Case notes, counselling or clinical notes, safeguarding records and incident reports about identifiable people.
  • Anything about a named beneficiary's health, disability, immigration status, criminal record, sexuality, religion, finances or experience of abuse, or enough detail for someone to work out who it is.
  • Names, ages, photos, schools and any other detail about children.
  • Addresses or locations of people at risk, including refuges and safe houses.
  • Donor wealth-screening or capacity ratings attached to a name.
  • A whole database or CRM export, even "just for a quick look".
  • Staff HR files, whistleblowing reports and complaints that name individuals.

Only after redaction (amber). Gift histories, event attendee lists, volunteer rotas, survey free text, email threads, supporter stories and testimonials (which also need the person's consent), board papers, and grant applications that describe beneficiaries.

Fine (green). Published material such as the annual report, website text and past newsletters; policies; template letters with placeholders; job descriptions; made-up scenarios; and aggregated figures that pass the small-number rule later in this tutorial.

Field by field: what a donor export can and can't become

The abstract list is easier to follow when you hold it against the columns in your own CRM. For each field in a typical export:

FieldVerdictPaste this instead
NameNeverA code such as D-0417, with the key kept elsewhere
Email, phone, postal addressNeverDrop the columns
Date of birthNeverAn age band such as 50 to 59
Gift amountRedactA band: $1 to $49, $50 to $199, $200 to $999, $1,000 and over
Gift dateRedactMonth, or just "months since last gift"
Card or bank detailsNeverNever in the dataset at all
Appeal or campaign codeFineAs it is
Call notes and relationship manager commentsNeverOne-line themes you write yourself, with no names or circumstances
Wealth or capacity ratingNeverNothing
Household and family linksNeverDrop
Consent flagsFine as countsCounts by consent type
Beneficiary ID or case referenceNeverDrop; the reference is the key to the whole record
Case notesNeverThemes you write from scratch, with no identifiers

Free-text fields deserve special suspicion. A column called "Notes" can hold a name, a health detail and a phone number in one cell, in the middle of a sentence, where no column filter will find it.

The redaction habit: six steps before any paste

Redaction works when it's a habit and not a decision made fresh each time. Six steps, in order:

  1. Start from the question. Write down what you want: a letter, a segment plan, a summary. Most questions need counts and patterns, not records, and the question decides which data the model needs.
  2. Pull only the columns the question needs. Export them into a new file. Never copy the whole database and delete columns afterwards, because a deleted column is one slip from a restored one.
  3. Replace identifiers with codes, and keep the key apart. D-0417 goes in the chat. The lookup table stays in the CRM or a locked file that never enters a prompt.
  4. Coarsen what's left. Bands instead of amounts, months instead of dates, age ranges instead of birthdates.
  5. Sweep for stragglers. Search the file for "@", for any run of seven or more digits, for titles such as Mr, Mrs, Ms and Dr, and for capitalised words in free-text cells. Names hide in free text.
  6. Paste into a clean chat, and put the results back in your own systems. Use a new chat or a Temporary Chat, copy the output into your CRM or document, and delete the chat if you won't need it. Names return only inside your own tools.

For a fuller method that also covers client records in other sectors, see how to anonymise client data before you paste it into AI.

A worked redaction: 1,200 donors become four lines

A small charity plans a year-end appeal. The database holds 1,200 donors who gave in the last 12 months. The goal is three or four versions of the appeal letter, matched to how much people give, plus a follow-up plan. All figures are invented.

The question needs no names. It needs how many donors give at each level, what a typical gift is, and how recently they gave. Pulling just a gift total, a gift count and months since last gift gives four bands:

BandDonorsAverage giftTotal given
A: $1 to $49620$28$17,360
B: $50 to $199410$96$39,360
C: $200 to $999140$410$57,400
D: $1,000 and over30$2,150$64,500
All1,200$178,620

Even before ChatGPT gets involved, the table says something useful: the 30 donors in band D, 2.5% of the list, gave 36% of the total. That is why band D gets a personal note from the director and not a mass appeal. The model needs only this table and a prompt:

You are helping a small charity plan a year-end appeal. You will see
only grouped figures, never names or contact details.

Donor bands for the last 12 months:
Band A, $1 to $49: 620 donors, average gift $28, most last gave 4 to 9
months ago
Band B, $50 to $199: 410 donors, average gift $96, most last gave 2 to 6
months ago
Band C, $200 to $999: 140 donors, average gift $410, most last gave 1 to 4
months ago
Band D, $1,000 and over: 30 donors, average gift $2,150, all gave in the
last 3 months

Write one appeal letter for each band, 150 words each, using the
placeholders {first_name} and {last_gift}. Do not invent impact figures
or stories. Use [IMPACT: insert from our report] where a result belongs.
Band D is a personal note from the director, not a mass appeal.

A trimmed illustrative extract from the band C letter shows the shape of what comes back:

Dear {first_name}, thank you for your gift of {last_gift} this year. [IMPACT: insert from our report] December is when many of our neighbours need us most, and I'm writing to ask whether you could give again before the year ends. Whatever you decide, you've already made a difference, and I wanted you to hear it from us.

Your CRM or mail-merge replaces {first_name} and {last_gift}. ChatGPT never sees a name. In this illustration the first draft of the band B letter also said "your gift is part of how 410 families were helped last year". The 410 is the number of donors in band B, not families. The model borrowed a figure from the prompt and gave it an impact meaning it didn't have. The fix is a standing rule: every number in a draft that describes your impact comes from your own report, and any number that matches one you pasted in gets a second look.

The sweep in step 5 matters even for a grouped table like this one. Suppose an earlier version of the export had let a "Notes" column survive the column pull, with one cell reading "call back Mrs [surname] re legacy". The search for titles catches it before it reaches the chat. ChatGPT prompts for nonprofits on admin and donors has ten more prompts that fit this data-light approach.

When a code still identifies someone

Redacting names isn't the same as anonymising. Four patterns let a reader work out who a row is about:

  • Unique amounts. A gift of $12,500 in a charity whose largest other gift is $2,000 points at one person to anyone who knows the donor.
  • Small groups. "The three donors who joined through the choir" is a group a committee member could name.
  • Rare attributes. "The only donor over 90" needs no name.
  • Story details. "A widow who gave in memory of her husband, a lifeboat volunteer" identifies her to the whole community that knew him.

My rule of thumb, which is a judgement and not a legal threshold: if fewer than 10 people share a description, merge the group with another or leave it out. Adjust it with your data-protection adviser. And remember what a code is. D-0417 is pseudonymised, not anonymous: if you hold the key, data-protection law such as the GDPR still treats the data as personal data, so the key file stays out of the chat and out of the same folder as the redacted file.

Beneficiary data needs a stricter version of the same thinking. For people who came to you for help, assume that any combination of age, circumstance and place could identify them. Here is a before and after. The original note, which never goes into a chat: "Client A, 58, lost his job in March, two months behind on rent, referred by his doctor, mentions panic attacks, daughter (14) at [school]." The theme, written fresh for a funder summary: "This quarter, several clients came to us with rent arrears after a job loss, and many mentioned anxiety." The second isn't a shortened version of the first. It's a new sentence about a pattern, and it contains nothing from which one client could be picked out.

Sometimes a job genuinely needs names, such as mail-merging a thank-you letter or de-duplicating a list. That isn't a job for pasting. Do it inside your CRM or spreadsheet, or in a tool the charity has chosen deliberately, with written terms on how the vendor handles and keeps data. Choosing such a tool is a procurement decision to make with your data-protection adviser, not something a volunteer settles with a paste. The wider risks, including deepfakes and donor trust, are covered in charity AI risks: data protection, deepfakes and donor trust.

Settings and plans: what each one changes, and what it costs

Settings reduce risk after redaction. They don't replace it. This is what each does, from OpenAI's own data controls and nonprofit help pages as of October 2026:

Setting or planWhat it doesWhat it doesn't do
"Improve the model for everyone" switched off (Settings, then Data controls)Stops your chats being used to improve OpenAI's models, on web and mobileDoesn't delete or hide chats already saved, and doesn't make identifiable data safe to paste
Temporary ChatDoesn't appear in your history, doesn't create memories, isn't used for trainingMay still be kept for up to 30 days for safety, so redaction still applies
MemoryCan keep details from earlier chatsA remembered donor detail is still a stored donor detail. Review what it has saved and delete anything identifying; the controls have changed over time, so check your own settings
ChatGPT BusinessNo training on business content by default, individual seats, admin controls; $20 a user a month on annual billing, $25 monthly, minimum two seatsDoesn't remove your duty of care; the never-paste list still applies
Apps (formerly connectors)Let ChatGPT read from connected services; on Business, admins can turn them offConnecting a CRM or shared drive is the same as pasting from it

The nonprofit price. For validated nonprofits, OpenAI prices Business Standard seats at $8 a user each month on annual billing, or $10 if you pay monthly. Premium seats aren't eligible, API use isn't discounted, and larger nonprofits are pointed to sales for an Enterprise discount of up to 75%. OpenAI validates eligibility through a partner, Goodstack, and its help page doesn't spell out the criteria, so confirm yours first; OpenAI for Nonprofits: who qualifies and what to check first goes through the application. Other assistants make similar offers. Claude's Team plan, for instance, is $8 a seat a month for validated nonprofits with a two-seat minimum, so compare before committing.

A quick sum for a team of six, with Standard seats billed annually: at the nonprofit rate it's 6 x $8 = $48 a month, against 6 x $20 = $120 at the list rate. The difference is $72 a month, or $864 a year. A discount like that can make a managed workspace affordable, which is the useful part: individual seats and admin controls make a rule easier to enforce, even though they don't make pasting donor records any safer.

Grant reports: numbers and themes in, stories only with consent

Funder reports are where charities most often reach for a story, because stories persuade. ChatGPT can structure a report and tighten the writing, and it works well from numbers and themes. Illustrative figures such as 214 people attended the programme, 68% completed every session, and these were the three commonest reasons for dropping out are aggregates, and they can go in.

A client's story is different. Even with the name removed, details of a life can identify the person, and a story told to you in confidence belongs to the person who told it. Use stories only with informed consent, in words the person has approved, and either write the story section yourself or paste only the approved text. When the model asks for a short case study, give it a labelled composite or leave the slot for a person to fill. Ask it to mark every gap with [INSERT APPROVED STORY] and never to invent one, because an invented beneficiary story in a funder report is a false statement, however warmly it's written.

One page for staff and volunteers

Give every person who touches the tool this page, or something like it, in plain words.

  1. Use the green list unless a manager says otherwise: published text, policies, templates, made-up scenarios, aggregated figures.
  2. Never type card or bank details, passwords, case notes, health or immigration details, anything about children, or addresses of people at risk.
  3. Supporter or beneficiary data goes in only after redaction: codes for names, bands for amounts, no contact fields, no free text.
  4. Groups of fewer than 10 are merged or left out.
  5. Write templates with placeholders and let the CRM merge the names.
  6. Use the charity's own seat, not a personal account, and never share a login.
  7. Every number about our impact comes from our own report.
  8. Check each output and remove invented stories, quotes and statistics.
  9. If you pasted something you shouldn't have, tell [data lead] within the hour. Reporting is never punished. A quiet fix is the real risk.

A policy document sits behind that page. How to write an AI policy for a small charity gives a two-page version you can adapt, and the trustees will want to see it.

A volunteer's paste, and the first hour after it

This is an invented but typical case. On a Friday afternoon, a fundraising volunteer pastes 60 rows of a thank-you list, with names, phone numbers and last gift, into a free personal account to "tidy the formatting". Within the hour they notice the phone column and tell the data lead. The steps that follow:

  1. Delete the chat, and note that the text has already been sent to a third party, whatever happens to the chat now.
  2. Check the settings at the time, without assuming. Was "Improve the model for everyone" on or off in that account?
  3. Record the facts: what was pasted, whose data, when, which account, who was told.
  4. Assess the risk with your data-protection adviser. Sixty names and phone numbers with last-gift amounts is a different risk from payment data or case notes, and whether notification duties apply is a question for them, not for this tutorial.
  5. Fix the cause, not the person. Why did a contact list sit in the file? Why was a personal account in use for supporter work? The answer usually changes the one-page rule, a seat or the export process.

Volunteers deserve a word here, because most slips start with a volunteer helping out on a personal phone. If supporter data is involved, either a volunteer uses a seat the charity controls or they work only from the green list. A parallel case from a church setting is in church GDPR and ChatGPT: what member data never goes in.

Questions nonprofits ask about donor data and ChatGPT

Is anonymised donor data safe to paste into ChatGPT?

Only if it is genuinely anonymous. Replacing a name with a code is pseudonymisation, and if you hold the key the data is still personal data. Unique gift amounts, small groups and story details can identify someone without a name. Use bands, merge any group smaller than about 10, and keep the key file out of the chat.

Does switching off training make it safe to paste donor names?

No. The training switch stops chats being used to improve OpenAI's models, but it doesn't delete chats already saved, and the text is still stored by a third party. Treat the setting as a backstop. The main control is not putting identifying details in at all, which is what the redaction habit is for.

Do we need ChatGPT Business, or is a free account enough?

A free or Plus account is enough for public material and redacted figures. If several staff use it regularly, Business gives each person a seat, admin controls and no training on business content by default. It doesn't make identifiable donor data safe to paste, so the never-paste list applies to every plan.

How do we get the nonprofit price for ChatGPT?

OpenAI validates eligibility through a partner called Goodstack. You apply with the email address tied to your ChatGPT Business account, and once approved the discount applies to Standard seats at checkout. Premium seats and the API aren't discounted. Check the eligibility rules on OpenAI's own page before you rely on the price.

Can we connect ChatGPT to our CRM or shared drive?

ChatGPT can connect to some services through apps, which used to be called connectors, depending on plan and admin settings. Connecting your CRM or shared drive is equivalent to pasting from it, so it needs the same approval and the same data rules. On Business, admins can turn apps off.

Further reads

Sources: OpenAI help articles on OpenAI for Nonprofits, ChatGPT data controls, file uploads and Projects; OpenAI's business data page and ChatGPT Business pricing page; OpenAI Terms of Use. All donor figures, bands and scenarios in the examples are invented for illustration.

Want a donor-data rule your whole team will follow?

On a 1:1 call we'll map where donor and beneficiary data actually lives in your charity, decide which jobs ChatGPT can safely help with, and write the never-paste rule your staff and volunteers can follow.

Book a 1:1 call with me