read lease.pdf
“The Lessor, Mrs Camille Fontaine, residing at 14 rue des Lilas in Nantes…”
Three values just entered the conversation. Nothing catches them.
MCP connector
Normally you anonymize, then you paste. Here, Anoni is the one that opens the file. Your AI only ever gets the text that comes back out, and the original never enters the conversation.
Ships inside the app · Claude Desktop, Claude Code and any MCP client
Anonymizing afterwards takes nothing back out of what already left.
When a model opens your contract with its usual reading tool, the names, the addresses and the account numbers are in the conversation. They stay there. No later call wipes them, and the service hosting the model has already received them.
The connector reverses the order. The model hands over a path, Anoni reads the file on your machine, and returns only the anonymized text. That is stronger than pseudonymizing and pasting, because there is no instant at which the original text exists anywhere in the exchange.
read lease.pdf
“The Lessor, Mrs Camille Fontaine, residing at 14 rue des Lilas in Nantes…”
Three values just entered the conversation. Nothing catches them.
lire_document_anonymise(lease.pdf)
“The Lessor, Mrs ⟦PERSONNE·1⟧, residing at ⟦ADRESSE·1⟧ in ⟦LIEU·1⟧…”
The model never saw the other version. The title stays, it identifies nobody.
Your AI calls them itself. You have nothing to type.
Says what personal data a document holds, and how much of each kind. Transforms nothing, writes nothing.
The model seesCounts per category. Not one line of the document.
Returns the document's text with every piece of personal data replaced by a marker. The reading tool, instead of its own.
The model seesThe anonymized text, and nothing else.
Writes a copy that keeps the layout. Word and Excel come back in their own format, a PDF keeps its pages.
The model seesThe path of the file that was written.
Writes a copy with real black bars. The hidden text is removed from the file, not merely covered.
The model seesThe path of the file that was written.
The most closed of the four is redaction, against the intuition. The model asks, Anoni writes the file, and it gets back a path. It does not even see the anonymized text.
The connector is already in the app. There is no file to download.
Settings, General tab, “Connect an AI”, then “Copy the configuration”. The connector is already in the app: there is no file to go and find.
Claude Desktop, Claude Code, or any other MCP-compatible client. Open its configuration file, paste, save, restart the client.
The connector goes through Anoni's engine, on your machine. With the app closed it says so and stops, instead of reading the file itself.
What lands in your client
{
"mcpServers": {
"anoni": {
"command": "node",
"args": ["/path/resolved/by/Anoni/anoni-mcp.mjs"]
}
}
}The path is filled in by the app. It differs on macOS, Windows and Linux, and under AppImage it changes on every launch, so nobody can write it for you.
The connector is a program that reads your documents. Shipping it separately would make it a file to download and run, under a name everyone would know. Delivered inside the app, it is signed and notarized along with it, and it cannot be a different version from the one you installed.
Said here rather than discovered in use.
And what it announces on every call: a signature, a stamp or a photo is not text, so no count covers them. Anoni flags them to your AI, and paints over them when it redacts.
The first four we always get.
A standard that lets an AI call tools installed on your own machine. Your AI client starts Anoni's connector when it launches and talks to it locally. Nothing leaves your machine, and no account is created anywhere.
It is a question of order. Copy-paste works, as long as you do it every time and before you have shown the file. The connector removes the condition: the model asks for the document and already receives the anonymized version. There is no moment at which the original text sits in the conversation.
Not on its own every time, and that is a connector's real weak point. Say it once in your standing instructions: when I give you a document that may hold personal data, read it with lire_document_anonymise rather than with your usual file tool. Once a file has been read normally, the names are in the conversation and nothing takes them back out.
Not through this route. The connector writes no vault, so nothing it produces can be decoded. For the full round trip, open the document in Anoni: the mapping is sealed there and your passphrase reopens it. That is also why the connector writes markers rather than believable fake names. With no vault to go back through, a fake name would be impossible to tell apart from real data.
Free, no subscription. Just an email.
No card · no tracker · 100% local