Solutions

Plugs in where
you already work.

Chat, MCP server, browser extension or API. Paste text, upload a CSV, XLSX or PDF, or call it from code — whichever door your team uses, only tokens leave the room.

Each door, up close

Pick a door. Watch a message go through.

Four channels, one mock run each — what you type, what leaves, what comes back.

Synonym · chatsession active
You pasteContact Ján Novák at jan.novak@alfa.sk about invoice SK31 1200 0000 1987 4263 7541.
Mask3 fields found · all validated
Masked — copy into any modelContact <PERSON_1> at <EMAIL_1> about invoice <IBAN_1>.
Copypaste it into ChatGPT, Claude, Gemini…
Claude Desktopsynonym · MCP
youSummarise this client note for me.
toolsynonym.mask → <PERSON_1> <BIRTH_NUMBER_1> <PHONE_1>✓
claudeThe client <PERSON_1> asked to be called back on <PHONE_1> before Friday.
toolsynonym.unmask → Ján Novák, +421 903 123 456✓
you seeThe client Ján Novák asked to be called back on +421 903 123 456 before Friday.
ChatGPTSynonym extension on
sentDebtor <PERSON_1>, birth number <BIRTH_NUMBER_1>. Draft a reminder letter.
replyDear <PERSON_1>, our records under <BIRTH_NUMBER_1> show an outstanding balance…
shown to youDear Ján Novák, our records under 900101/0007 show an outstanding balance…
SynonymDebtor Ján Novák, birth number 900101/0007. Draft a reminder letter.
terminalREST · /v1
$ curl -X POST https://app.usesynonym.eu/v1/mask \
  -H "Authorization: Bearer $SESSION_SECRET" \
  -d '{"text": "Call Ján Novák on +421 903 123 456"}'
{ "text": "Call <PERSON_1> on <PHONE_1>",
  "entities": 2, "session": "3f2a91e0" }
$
Chat — paste, mask, copy. Nothing else changes in how you work.
Ask the model

Ask across your data — in an ordinary chat.

The model only ever sees tokens. You read the answer with real names.

Any chat modelone session · one token map
you typeWhich of these leads should I contact first?
model answersI'd start with <PERSON_1> from <ORGANIZATION_1> — they mention both a budget and a deadline.
you seeI'd start with Ján Novák from Alfa s.r.o. — they mention both a budget and a deadline.
you type · follow-upDraft a two-line reply to them.
model answersHi <PERSON_1>, thanks for the details on <ORGANIZATION_1>'s timeline — can we talk Thursday?
you seeHi Ján Novák, thanks for the details on Alfa s.r.o.'s timeline — can we talk Thursday?
Same token, same person — across every follow-up.
0
changes to your prompt

Type the way you always do. Masking and unmasking happen around the chat.

1
token map per conversation

Follow-ups keep working — the same person keeps the same token.

Bring your own provider

In the app you pick the model and paste your own API key. Synonym sends tokens to it; the reply comes back to you with real values.

ChatGPTClaudeGeminiyour own model
API

Three calls. Nothing to install.

Mask on the way out, unmask on the way back, end the session when you're done — or let the TTL do it.

terminalREST · v1
$ curl -X POST https://app.usesynonym.eu/v1/mask \
-H "Authorization: Bearer $API_KEY" \
-d '{"text": "Call Ján Novák on +421 903 123 456"}'
{ "text": "Call <PERSON_1> on <PHONE_1>",
"session": "3f2a91e0", "entities": 2 } ✓ 41 ms
$ curl -X POST https://app.usesynonym.eu/v1/unmask \
-H "Authorization: Bearer $API_KEY" -H "X-Session: 3f2a91e0" \
-d '{"text": "Called <PERSON_1> — no answer"}'
{ "text": "Called Ján Novák — no answer" } ✓ 12 ms
$ curl -X DELETE https://app.usesynonym.eu/v1/sessions/3f2a91e0
{ "session": "3f2a91e0", "status": "wiped" } ✓ token map gone
$
One session, three calls — the reply is restored only on your side.
01MaskSend text, get tokens back plus a session you keep using.POST /v1/mask
02UnmaskSend the model's reply with the same session; real values come back.POST /v1/unmask
03End the sessionWipe the token map now instead of waiting for the TTL. Nothing can be restored afterwards.DELETE /v1/sessions/:id
API keysCreated in the app, shown once, stored only as a SHA-256 hash.
AuthBearer token over HTTPS. Sessions are addressed by id.
Rate limitsPer key, so one busy integration never slows another workspace.

Pick your door. Keep your data.

Chat today, the extension tomorrow, the API when you're ready — one session, one token map, whichever you choose.