By George Curta · Last updated 2026-05-20
By George Curta · Last updated 2026-05-15
Understanding the Token System
Tokens are the unit of usage on anonym.legal. Think of them as coins: every analyze, anonymize, or decrypt operation costs a small number, and you can see the exact cost before each run.
What is a token?
A token is a usage credit. We deduct a small number of units each time you scan for PII, swap in placeholders, or restore the originals. You always know the cost up front. You only pay for operations that succeed.
Heads-up: on anonym.legal the word “token” means two different things. This page is about billing credits — the credits you spend on operations. Elsewhere on the site we also talk about tokenized PII, which is the technical placeholder (like <PERSON_1>) that replaces a name in your text. Those are not billing units, and you don’t pay for them directly.
At a glance
- Free200/cycleEnough to try the platform on a few small documents.
- Basic — €3 / month1,000/cycleComfortable for occasional document anonymization.
- Pro — €15 / month4,000/cycleRegular processing across many documents.
- Business — €29 / month10,000/cycleHeavy daily use, batch jobs, and API integrations.
Unit allocations reset at the end of each billing cycle (30 days for Free, 31 days for paid plans). Unused credits do not roll over.
What spends tokens?
Scan text and report what PII is in it. The most common operation.
Detect PII and transform it (replace, redact, mask, hash, or encrypt). Costs a bit more than analyze.
Restore originals from encrypted output. Cheaper than analyze.
Generate a custom entity recognizer with AI. Flat 50 units per request.
Free actions: checking your token balance and getting a cost estimate cost zero credits. You can preview the price before any paid call.
Real costs by document size
Measured on English text with dense PII (the entity count is what the analyzer actually found). These are the numbers your account is charged in production:
| Characters | Entities found | Analyze tokens | Anonymize tokens | Total tokens |
|---|---|---|---|---|
| 1 | 0 | 3 | — | 3 |
| 18 | 1 | 3 | 3 | 6 |
| 28 | 3 | 4 | 3 | 7 |
| 55 | 4 | 4 | 3 | 7 |
| 200 | 10 | 4 | 3 | 7 |
| 500 | 26 | 5 | 4 | 9 |
| 1,000 | 49 | 6 | 5 | 11 |
| 5,000 | 240 | 17 | 15 | 32 |
| 10,000 | 478 | 32 | 27 | 59 |
| 50,000 | 2,381 | 147 | 126 | 273 |
| 50,000 | 197 | 38 | 17 | 55 |
Rule of thumb: For short inputs the analyze charge floors at ~4 tokens (driven by the base cost plus ~0.1 token per enabled entity type). Above 1 000 characters at GUI defaults the cost scales at roughly 1 token per 312 characters.
These numbers are auto-derived from the production test suite — they update whenever the test JSONL reports are regenerated and pass replay.
Cost calculator
Estimate exactly what your workload costs. Same formula the live web app charges — verified against 381 production test rows. Edit the inputs; the breakdown and plan quote update live.
Sparse ≈ marketing copy (~3 hits/1K chars). Typical ≈ business memo (~10/1K). Heavy ≈ medical record or HR file (~50/1K).= 20 PII items per document
- Analyze
- 5
- Anonymize / Encrypt
- 4
- Decrypt
- —
- MCP detokenize
- —
550 tokens left in cycle
3,550 tokens left in cycle
9,550 tokens left in cycle
Does the operator matter?
Replace, redact, hash and mask all cost the same. Encrypt costs more because every encrypted entity adds the 0.8 × encryptCount term to the apply step — about 3× higher at the 160-character input below, shrinking to ~1.2× at 50 000-character documents (where the per-character term dominates). All rows below use the exact same 160-character input + 14 selected entity types.
| Operator | What it does | Tokens |
|---|---|---|
| encrypt | AES-256-GCM (reversible with your key) | 9 |
| hash | One-way SHA-256/512 hash | 3 |
| mask | Partial masking like John **** | 3 |
| redact | Black out (permanent removal) | 3 |
| replace | Swap PII for a placeholder like <PERSON_1> | 3 |
Replace, redact, hash and mask all cost the same — pick whichever fits your privacy goal. Encrypt costs ~3× more at this input size because it adds the 0.8 × encryptCount term.
Does language matter?
Characters and detected entities drive cost, not language. The table below shows the same content — a name, email, and phone number — across all 48 supported languages. Every variant lands at the same token cost when chars and entity filter match. Character counts still vary widely between scripts, since CJK languages encode the same information in fewer characters.
| Language | Characters | Entities | Analyze | Anonymize |
|---|---|---|---|---|
| zh | 70 | 4 | 4 | 3 |
| ja | 84 | 5 | 4 | 3 |
| ko | 89 | 1 | 3 | 3 |
| ar | 123 | 7 | 4 | 3 |
| he | 123 | 5 | 4 | 3 |
| bg | 132 | 5 | 4 | 3 |
| ru | 132 | 6 | 4 | 3 |
| mk | 135 | 5 | 4 | 3 |
| it | 136 | 7 | 4 | 3 |
| sr | 136 | 8 | 4 | 3 |
| hr | 137 | 5 | 4 | 3 |
| nl | 137 | 6 | 4 | 3 |
| pl | 137 | 3 | 4 | 3 |
| hi | 138 | 3 | 4 | 3 |
| sl | 138 | 6 | 4 | 3 |
| th | 138 | 5 | 4 | 3 |
| lv | 139 | 8 | 4 | 3 |
| sv | 141 | 6 | 4 | 3 |
| is | 142 | 10 | 4 | 3 |
| sk | 142 | 7 | 4 | 3 |
| tr | 142 | 6 | 4 | 3 |
| ro | 143 | 5 | 4 | 3 |
| uk | 143 | 5 | 4 | 3 |
| es | 144 | 7 | 4 | 3 |
| fa | 144 | 5 | 4 | 3 |
| nb | 144 | 5 | 4 | 3 |
| cs | 145 | 8 | 4 | 3 |
| da | 145 | 6 | 4 | 3 |
| de | 145 | 6 | 4 | 3 |
| et | 145 | 6 | 4 | 3 |
| fr | 145 | 7 | 4 | 3 |
| pt | 145 | 6 | 4 | 3 |
| lt | 146 | 5 | 4 | 3 |
| ur | 146 | 2 | 4 | 3 |
| en | 148 | 7 | 4 | 3 |
| af | 149 | 4 | 4 | 3 |
| fi | 149 | 6 | 4 | 3 |
| sw | 149 | 10 | 4 | 3 |
| hu | 150 | 6 | 4 | 3 |
| vi | 151 | 5 | 4 | 3 |
| ca | 152 | 7 | 4 | 3 |
| hy | 152 | 5 | 4 | 3 |
| id | 154 | 6 | 4 | 3 |
| bn | 158 | 3 | 4 | 3 |
| ms | 160 | 9 | 4 | 3 |
| el | 163 | 6 | 4 | 3 |
| eu | 163 | 6 | 4 | 3 |
| tl | 163 | 10 | 4 | 3 |
Restoring originals from a 26,459-character encrypted payload with 188 PII items cost only 13 tokens. If you anonymize-then-decrypt to recover PII for an authorized viewer, the decrypt step is a small fraction of the total.
Running low? Top-ups
On paid plans you can buy extra credits mid-cycle. Free plan users don’t have top-ups — upgrade to Basic to enable them.
| Plan | Tokens per €1 | Effective rate |
|---|---|---|
| Basic | 250 | €0.40 / 100 credits |
| Pro | 300 | €0.33 / 100 units |
| Business | 350 | €0.29 / 100 credits |
Top-up credits expire at the next cycle reset. They don’t roll over either.
Check the cost before you run
- • In the web app, the cost preview appears next to each operation button.
- • In the API, hit the
/api/mcp/balanceendpoint or the MCPanonym_legal_estimate_costtool — both are free. - • Your current balance and recent usage are always visible in Settings → Account.
Quick questions
- Do unused units roll over?
- No. Allocations and top-ups both reset at the end of each cycle.
- What happens if I run out mid-task?
- The next call returns a 402 with the exact shortfall. Buy a top-up or wait for the cycle to reset.
- Do failed operations cost credits?
- No. Tokens are only deducted after an operation succeeds.
- Does the choice of operator change the price?
- Replace, redact, mask, and hash all cost the same. Encrypt is the only exception — it adds 0.8 × encryptCount to the apply step, making it ~3× more expensive at small inputs (and ~1.5× at large documents where the per-character term dominates).
- Why are some operations cheaper than others?
- Analyze and anonymize do detection work (the expensive step). Decrypt only walks the saved mapping, so it’s much cheaper.
Related
- Credit System FAQ — 15 quick answers about cost, top-ups, and edge cases
- Pricing — full plan comparison and top-up rates
- API documentation — request/response examples with token costs
- MCP Server — token costs for each MCP tool
- Production test suite — every cost on this page comes from real measurements
- Glossary entry: Unit System
About this page
We update this page when our platform or the law changes.
Read our founder note for how we work.
Each change shows up in the timestamp at the top.
Related reading
- Common questions
- Glossary
- How tokens work
- Security posture
- Where we comply
- What we detect
- Case studies
- Release notes
We follow these rules
- GDPR (EU 2016/679).
- ISO/IEC 27001:2022.
- NIS2 (EU 2022/2555).
- HIPAA safe harbor under 45 CFR § 164.514(b)(2).
Our promise
We do not sell your data.
We do not train models on your text.
We store your files in Germany.
You can delete your account at any time.
You own your work.
Where we run
Our servers live in Falkenstein, Germany.
We use Hetzner. They hold ISO 27001 certification.
All data stays in the EU.
Backups run every day.
Need help?
Email support@anonym.legal.
We reply within one business day.
How we test
We run a full check suite on every release.
Each surface gets its own sweep script and report.
Human reviewers spot-check the output each week.
We track recall and precision on a labelled set.
Bad runs block the deploy.
What we never do
- We never sell your information to third parties.
- We never train models on what you upload.
- We never keep your work after you delete it.
- We never share keys with any outside firm.
- We never run ads inside the product.
Plans in plain words
We sell credits, not seats.
One credit covers one short job.
Long jobs use a few credits each.
You can top up at any time.
Unused credits roll over each month.
Read the plans page for current rates.
Who built this
A small team of engineers and lawyers built this.
We ship from Europe and work in the open.
Our founder note spells out why we started.
Where to start
- Open the web app and try a sample file.
- Learn how credits get counted.
- See current plans and limits.
- Meet the team behind the product.
How the parts fit
A browser add-on cleans text inside Chrome.
A Word plug-in handles drafts in Office.
A small desktop tool works on whole folders.
An agent protocol link feeds large models safely.
All four share one core engine and one rule set.
Words from our team
We started this work after a lunch about cookies.
One friend kept getting odd ads on her phone.
We asked why a court file leaked through a draft.
We sketched the first build on a napkin that week.
By month three we had a tiny demo for a friend.
She used it on her first case the next day.
Common questions we hear
Can the tool read scanned PDFs? Yes, with OCR.
Does it work on long files? Yes, in small chunks.
Can I roll my own rule set? Yes, save it as a preset.
Does it run offline? The desktop build runs offline.
Do you keep my files? No, the cloud build wipes after each run.
Will it learn from my work? No, we never train on inputs.
A short tour of the workflow
Upload a file or paste a snippet of prose.
Pick the entities you want gone from the draft.
Choose a method: replace, mask, hash, encrypt, or redact.
Press run and watch the side panel show each hit.
Skim the result and tweak any rule that misfired.
Save the cleaned file or send it to a teammate.