Not the job you came for? Tell me what you need
Export it from your CRM, drop it here, and get back the same file with the names, emails and phone numbers swapped for labels — so you can paste it into an AI or send it to someone outside the business.
A contacts export, run through the same sweep your file goes through — not a recording. Watch the Notes column: a name written in prose is exactly as identifying as one in a Customer column, and that is the half people don't expect.
Customer,Email,Phone,Amount,Notes Priya Raman,priya@example.com,0412 345 678,1450.00,Rang Priya Raman re: renewal Tom Nguyen,tom@example.com,0433 221 004,120.00,Emailed Tom the invoice Alicia Fox,alicia@example.com,0400 118 226,1450.00,Wants a quarterly invoice Priya Raman,priya@example.com,0412 345 678,240.00,
| Customer | Phone | Amount | Notes | |
|---|---|---|---|---|
| Customer 001 | person001@example.invalid | [phone 001] | 1450.00 | Rang Customer 001 re: renewal |
| Customer 002 | person002@example.invalid | [phone 002] | 120.00 | Emailed Customer 002 the invoice |
| Customer 003 | person003@example.invalid | [phone 003] | 1450.00 | Wants a quarterly invoice |
| Customer 001 | person001@example.invalid | [phone 001] | 240.00 |
Customer — replaced.Email — replaced.Phone — replaced.Amount — left alone.Notes — searched and replaced inside.First names count too, which is why Emailed Tom the invoice changed. That cuts both ways: a surname that is also an ordinary word can be replaced where it wasn't a person. We'd rather take out too much than leave a name in, and the report counts those separately so you can see which is which.
| The same file, minus the people | Every date and every amount — untouched. Those are the reason you're sending it anywhere, and only the identifying columns change. Rows that aren't data — a blank row, a total row — are taken out and named on the report, so you can see exactly what came back. |
| Labels, not fake people | Customer 001, never Sarah Chen. A realistic-looking fake gets acted on by whoever receives the file, and invent enough of them and one will be a real person with somebody else's transactions attached. |
| The same label every time | One customer is one label across the whole file, so totals and groupings still work. That's what makes the file still worth analysing. |
| A list of every column | What we did to each one and why — including the ones we left alone. A column missing from that list would read as a column we handled. |
We won't tell you a file is anonymous, safe, or "PII compliant". There's no such standard to be compliant with, and data stops being de-identified the moment someone can work out who it's about. A file is never compliant — how an organisation handles it might be.
What we will tell you is exactly what we did: these columns were replaced, this is what they became, and every value was replaced everywhere it appeared in the file, not just in its own column. A name in a Notes field is every bit as identifying as one in Customer, so we go looking for it there too — including first names on their own.
What we can't do is find a name we were never told about. If a person is mentioned in free text and appears nowhere in a column we recognised, we have no way to know they're a person. Read the file before you send it.
We match whole words, so a name run together with the word beside it — no space between them — isn't found. That's the same rule that keeps a customer called Ali out of the middle of Australia, and it's the right way round: the alternative replaces letters inside ordinary words and quietly ruins the file you're trying to send.
Longer version, including why hashing and fake names are worse than they look: removing customer names before you send a spreadsheet.
Nothing is stored here, and we hand back no key — you don't need one. You still have the file you uploaded, and we leave reference columns like invoice or order numbers alone, so when an answer comes back keyed to Customer 001 you can match it up yourself. An invoice number means nothing to an AI and everything to you.