Personal information and the cloud AI
A cloud AI can read a pile of receipts or a customer table in seconds. But those pages are full of names, addresses and account numbers, and the moment they leave your computer you cannot take them back. Here is what counts as personal information, where it goes wrong, and the two protections — a disguise and a promise — that people constantly mix up.
The two protections in one picture
What counts as a personal detail
Some clues name a person outright: a name, a home address, an email, a tax or card number. Others look harmless on their own — a customer number, a postcode, an unusual buying habit — but put a few together and a real person falls out. Both kinds count, and both need protecting.
Under the hood
Personally identifiable information (PII) is anything that can
identify, contact or locate a specific individual, alone or in
combination. In finance it overlaps with PCI (payment card) data and
PHI-style financial identifiers. Direct identifiers:
names, billing addresses, emails, phone numbers, tax IDs (TIN/SSN/IRD),
bank account and card numbers. Indirect identifiers:
customer_id values, transaction IDs, granular postcodes, and rare
purchase patterns that re-identify someone when cross-referenced with
public data. De-identification that only strips the direct kind is not
de-identification.
One click and it’s over the fence
Sending a page to a cloud AI means it leaves your building and lands on servers you do not control. Two things can go wrong at that moment: privacy laws in many countries say you must ask permission before other people’s details travel, and the vendor may keep copies you never see.
Under the hood
Transmitting unredacted customer PII across an organisational boundary without consent can violate GDPR (Europe), CCPA (California), HIPAA (health-adjacent finance) and the New Zealand Privacy Act 2020. And by default, standard API calls and desktop chat sessions may retain prompt logs and file attachments on vendor infrastructure for debugging, context processing or model evaluation — customer records sitting in someone else’s storage.
Where it lingers
Leaks are rarely dramatic. A sentence with a name in it gets written into the vendor’s logs; a receipt pasted into a chat stays in the saved thread, where anyone in the workspace can scroll back to it years later. Deleting your copy does not delete theirs.
Under the hood
The two vectors: prompt/log leakage — raw prompts travel over the API, and if the provider logs inputs for debugging or training, the PII persists in external server logs; and thread persistence — chat products keep conversation history, so an unredacted document dropped into a thread lives on in cloud chat history, visible to everyone with access to that shared workspace or account.
Protection one: code names and a vault
The disguise. Before anything leaves, a small piece of software swaps every real name for a code name and locks the real value in a vault at home. The AI does all its thinking on the code names — it cannot leak what it never had. When the answer comes back, the same software swaps the real names back in, on your screen only.
Under the hood
This is the redaction/rehydration gateway. Redaction:
local tooling (Microsoft Presidio, spaCy NER, regex rules) scans text,
CSVs and receipt images and replaces PII with deterministic tokens, e.g.
<CUSTOMER_001>. Processing: the sanitised
prompt goes to the LLM, which does its structural, logic or
code-generation work on the tokens. Rehydration: the
gateway swaps tokens back to real values using an encrypted, in-memory
mapping vault before rendering the result to the authorised user. The
mapping never crosses the network.
Protection two: a signed promise to keep nothing
The promise. Under a Zero Data Retention agreement, the vendor commits in a contract: your data is worked on in memory, the answer is sent back, and then everything is thrown away. No logs, nothing saved to disk, no training on your data. It is a legal commitment with lawyers behind it, not a checkbox in the settings.
Under the hood
ZDR agreements are offered by enterprise API providers (Anthropic enterprise agreements, AWS Bedrock, Azure OpenAI). The vendor agrees never to log, persist or train on your inputs and outputs; requests are processed strictly in memory and discarded once the response is generated. They typically require enterprise contracts and minimum spend, and they protect the API path — a consumer desktop chat session is usually not covered.
Why you want both
Here is the mix-up this page exists to fix: the promise does not do the disguise’s job. Under ZDR the real names still cross the wire and sit in the vendor’s memory, which some privacy laws forbid regardless of what happens afterwards. And the disguise alone is heavy: the swapping machine must be built, maintained, and tuned so it masks neither too much nor too little. So production systems do both — the disguise protects your customers, the promise protects your business.
Under the hood
ZDR’s limits: it prevents retention and training use, but PII is still transmitted and processed in the provider’s memory in real time, which can fail strict regimes that ban processing PII on unapproved processors at all; and it needs an enterprise contract.
Redaction’s limits: real engineering cost (OCR/NER pipelines, vault state management), plus the twin failure modes: over-redaction masks financial terms the model needed and ruins context; under-redaction lets an edge-case name through.
The recommendation for production financial systems: redact locally so personal attributes never cross the network, and back it with a ZDR agreement so the operational data that does travel is never logged or trained on.