By George Curta · Last updated 2026-04-07
419/419 Pagsubok na Dumadaan
100% Pass RateKomprehensibong hanay ng pagsubok sa produksyon na sumasaklaw sa pakikipag-ugnayan sa GUI, API endpoint, seguridad, pagganap, at compatibility ng.
Upgrade ng Imprastruktura
Hanggang 467× Mas MabilisNoong Marso 2026, lumipat kami mula sa shared VPS tungo sa isang dedicated server na may 16× mas maraming RAM, 5 parallel analyzer workers, at lahat ng.
Concurrent Performance
Ang bagong server ay nangunguna ng daan-daang sabay na mga hiling sa lahat ng mga serbisyo nang walang kabiguan.
| Service | Concurrent | Success | Avg | RPS |
|---|---|---|---|---|
| Analyzer (spaCy) | 500 | 100% | 331 ms | 634 |
| Analyzer (12-lang mix) | 120 | 100% | 114 ms | 515 |
| Anonymizer | 1,000 | 100% | 8 ms | 1,501 |
| Structured Data | 100 | 100% | 331 ms | 144 |
| Frontend (Next.js) | 200 | 100% | 979 ms | 104 |
| Mixed Workload | 110 | 100% | 56 ms | 536 |
Full Pipeline Speed
End-to-end analyze + anonymize latency sa bagong server, sinusukat gamit ang lahat ng mainit na language models.
| Wika | Engine | Pipeline Avg | Entities |
|---|---|---|---|
| English | spaCy | 10.2 ms | 9 |
| German | spaCy | 13.4 ms | 9 |
| French | spaCy | 10.5 ms | 10 |
| Spanish | spaCy | 7.8 ms | 9 |
| Japanese | spaCy | 9.9 ms | 6 |
| Chinese | spaCy | 13.6 ms | 5 |
| Arabic | Transformer | 12.7 ms | 7 |
| Hebrew | Stanza | 117.3 ms | 6 |
Kasama sa mga oras ng lumang server ang buong GUI test pipeline (Playwright + API). Ang mga oras ng bagong server ay API-only benchmarks na may lahat ng mainit na models. Ang pagpapabuti ay sumasalamin sa tunay na mga pakinabang sa imprastruktura: nag-alis ng cold starts, 5× parallelism, at NVMe storage.
13 Milestone ng Pagsubok
Bawat milestone ay sumasaklaw sa isang natatanging functional area ng platform, mula sa authentication hanggang sa browser compatibility.
Authentication & Session
22/22 pagsubok
Login, session persistence, profile, health checks, auth guards, logout/re-login
PII Detection (Analyzer)
62/62 pagsubok
48-wika analysis gamit ang GUI, entity filters, score thresholds, edge cases, keyboard shortcuts
Anonymizer (5 Operators)
40/40 pagsubok
Replace, Redact, Hash, Mask, Encrypt operators gamit ang API at GUI, quick actions, multi-language
Decrypt (Roundtrip)
22/22 pagsubok
Encrypt-then-decrypt roundtrips para sa AES-256/128/192, multi-language, key validation, malaking teksto
Batch & File Upload
20/20 pagsubok
Batch na pagproseso ng teksto, file upload UI, tab switching, processing status
Entity Management
28/28 pagsubok
Entity CRUD sa 3 tab, AI Creator, validation rules, cleanup verification
Preset Management
28/28 pagsubok
Preset CRUD sa 3 tab, apply flow, validation rules, cleanup verification
Settings (10 Tabs)
42/42 pagsubok
Lahat ng 10 settings tab: Account, Billing, Tokens, Security, History, Language, Encryption Keys, Services, Developer
API Security
35/35 pagsubok
Core endpoint, security header, CORS policy, input validation, auth security, rate limiting
Token Usage Monitoring
24/24 pagsubok
Token consumption sa text size, operator, language, entity filter, decrypt, batch, CSV export
Lighthouse & Quality
20/20 pagsubok
Lighthouse scores sa 8 page, viewport responsiveness, accessibility, SEO, console error, broken link
48 Languages + RTL
56/56 pagsubok
Analysis para sa lahat ng 48 wika, 4 RTL layout check, language switching, selector validation
Cross-Browser
20/20 pagsubok
5 page sa Chromium, Firefox, WebKit, at Mobile Chrome — walang console error
48-Wika Coverage
Bawat suportadong wika ay sinusubok gamit ang tunay na PII sample. Tatlong URI ng NLP engine ay nagsisiguro ng optimal na katumpakan bawat wika.
| Wika | Code | Engine | Entity | Lumang Server | Bagong Server | Speed Gain | Status |
|---|---|---|---|---|---|---|---|
| English | en | spacy | 113 | 270 ms | 8 ms | 34× | |
| German | de | spacy | 148 | 313 ms | 7 ms | 45× | |
| Spanish | es | spacy | 104 | 1,841 ms | 6 ms | 307× | |
| French | fr | spacy | 133 | 2,327 ms | 8 ms | 291× | |
| Italian | it | spacy | 97 | 1,787 ms | 7 ms | 255× | |
| Portuguese | pt | spacy | 61 | 1,764 ms | 6 ms | 294× | |
| Dutch | nl | spacy | 122 | 2,486 ms | 6 ms | 414× | |
| Polish | pl | spacy | 70 | 1,726 ms | 8 ms | 216× | |
| Russian | ru | spacy | 41 | 2,226 ms | 6 ms | 371× | |
| Japanese | ja | spacy | 23 | 1,436 ms | 6 ms | 239× | |
| Chinese | zh | spacy | 24 | 2,554 ms | 7 ms | 365× | |
| Korean | ko | spacy | 16 | 1,305 ms | 6 ms | 218× | |
| Arabic | ar | transformer | 20 | 554 ms | 8 ms | 69× | |
| Hindi | hi | transformer | 22 | 486 ms | 7 ms | 69× | |
| Turkish | tr | spacy | 112 | 504 ms | 6 ms | 84× | |
| Romanian | ro | spacy | 122 | 1,730 ms | 6 ms | 288× | |
| Greek | el | spacy | 29 | 1,822 ms | 7 ms | 260× | |
| Croatian | hr | spacy | 67 | 989 ms | 7 ms | 141× | |
| Slovenian | sl | spacy | 64 | 1,264 ms | 7 ms | 181× | |
| Macedonian | mk | spacy | 24 | 1,259 ms | 7 ms | 180× | |
| Swedish | sv | spacy | 140 | 1,002 ms | 6 ms | 167× | |
| Danish | da | spacy | 107 | 1,910 ms | 7 ms | 273× | |
| Norwegian | nb | spacy | 109 | 1,606 ms | 7 ms | 229× | |
| Finnish | fi | spacy | 118 | 1,229 ms | 7 ms | 176× | |
| Icelandic | is | transformer | 73 | 559 ms | 8 ms | 70× | |
| Ukrainian | uk | spacy | 25 | 1,434 ms | 9 ms | 159× | |
| Lithuanian | lt | spacy | 86 | 1,601 ms | 7 ms | 229× | |
| Bulgarian | bg | stanza | 24 | 8,735 ms | 98 ms | 89× | |
| Serbian | sr | transformer | 24 | 519 ms | 8 ms | 65× | |
| Hungarian | hu | stanza | 82 | 8,141 ms | 39 ms | 209× | |
| Czech | cs | transformer | 81 | 562 ms | 8 ms | 70× | |
| Slovak | sk | transformer | 70 | 577 ms | 8 ms | 72× | |
| Latvian | lv | transformer | 83 | 526 ms | 8 ms | 66× | |
| Estonian | et | transformer | 79 | 531 ms | 8 ms | 66× | |
| Hebrew | he | stanza | 17 | 8,850 ms | 101 ms | 88× | |
| Persian | fa | transformer | 12 | 439 ms | 7 ms | 63× | |
| Vietnamese | vi | stanza | 74 | 11,282 ms | 99 ms | 114× | |
| Indonesian | id | transformer | 79 | 524 ms | 7 ms | 75× | |
| Thai | th | transformer | 20 | 521 ms | 5 ms | 104× | |
| Malay | ms | transformer | 87 | 510 ms | 7 ms | 73× | |
| Filipino | tl | transformer | 75 | 501 ms | 7 ms | 72× | |
| Bengali | bn | transformer | 18 | 455 ms | 7 ms | 65× | |
| Urdu | ur | transformer | 12 | 445 ms | 7 ms | 64× | |
| Afrikaans | af | stanza | 119 | 7,867 ms | 55 ms | 143× | |
| Swahili | sw | transformer | 68 | 526 ms | 7 ms | 75× | |
| Armenian | hy | stanza | 69 | 19,643 ms | 85 ms | 231× | |
| Catalan | ca | spacy | 100 | 3,267 ms | 7 ms | 467× | |
| Basque | eu | stanza | 82 | 783 ms | 40 ms | 20× |
Cross-Browser Compatibility
5 kritikal na page ay sinusubok sa 4 browser engine na walang console error at walang horizontal overflow.
Chromium
5 ng 5 page
Lahat ay PumapasaFirefox
5 ng 5 page
Lahat ay PumapasaWebKit
5 ng 5 page
Lahat ay PumapasaMobile Chrome
5 ng 5 page
Lahat ay PumapasaSecurity Testing
35 Test35 dedikadong security test na sumasaklaw sa API endpoint, header, CORS, input validation, authentication, at rate limiting.
Core Endpoint
8 tests8 test na nagsasagawa ng pagsusuri sa accessibility ng API endpoint at response code
Security Header
6 tests6 test para sa CSP, X-Frame-Options, HSTS, at marami pang iba
CORS Policy
5 tests5 test para sa cross-origin na pagsasagawa ng request
Input Validation
6 tests6 test para sa XSS, SQL injection, at malformed input
Auth Security
5 tests5 test para sa authentication bypass at session security
Rate Limiting
5 tests5 test para sa API rate limit enforcement at Retry-After header
Token Usage Analysis
Kabuuang Token na Ginamit: 76122 token consumption test na nagsukatan ng cost efficiency sa operations, text size, language, at operators.
| Operation | Chars | Wika | Entity | Operator | Token | Response Time |
|---|---|---|---|---|---|---|
| analyze | 50 | en | 44 | N/A | 4 | 220 ms |
| analyze | 200 | en | 140 | N/A | 9 | 276 ms |
| analyze | 500 | en | 387 | N/A | 21 | 367 ms |
| analyze | 1,000 | en | 745 | N/A | 39 | 542 ms |
| analyze | 5,000 | en | 3776 | N/A | 193 | 4,398 ms |
| analyze | 10,000 | en | 7566 | N/A | 385 | 14,494 ms |
| anonymize | 160 | en | 113 | replace | 7 | 291 ms |
| anonymize | 160 | en | 113 | redact | 7 | 236 ms |
| anonymize | 160 | en | 113 | hash | 7 | 243 ms |
| anonymize | 160 | en | 113 | mask | 7 | 276 ms |
| anonymize | 160 | en | 113 | encrypt | 7 | 242 ms |
| analyze | 148 | en | 4 | lang-compare | 2 | 0 ms |
| analyze | 145 | de | 3 | lang-compare | 2 | 0 ms |
| analyze | 144 | es | 3 | lang-compare | 2 | 0 ms |
| analyze | 145 | fr | 4 | lang-compare | 2 | 0 ms |
| analyze | 136 | it | 3 | lang-compare | 2 | 0 ms |
| analyze | 145 | pt | 3 | lang-compare | 2 | 0 ms |
| analyze | 137 | nl | 3 | lang-compare | 2 | 0 ms |
| analyze | 137 | pl | 2 | lang-compare | 2 | 0 ms |
| analyze | 132 | ru | 3 | lang-compare | 2 | 0 ms |
| analyze | 84 | ja | 2 | lang-compare | 2 | 0 ms |
| analyze | 70 | zh | 2 | lang-compare | 2 | 0 ms |
| analyze | 123 | ar | 4 | lang-compare | 2 | 0 ms |
| analyze | 160 | en | 106 | PERSON only | 7 | 258 ms |
| analyze | 160 | en | 108 | PERSON+EMAIL+PHONE | 8 | 266 ms |
| analyze | 160 | en | 113 | All entities | 8 | 264 ms |
| decrypt | 342 | en | 37 | decrypt | 2 | 188 ms |
| batch-analyze | 476 | en,de,fr | 394 | N/A | 26 | 5,278 ms |
Testing Methodology
Ang aming test suite ay pinagsasama ang GUI-level Playwright testing gamit ang direktang API validation para sa komprehensibong coverage.
GUI Testing
Playwright browser automation ay sumusubok ng tunay na user workflow — pagklik sa button, pagpuno ng form, pag-navigate sa pagitan ng page, at pag-verify ng visual output.
API Testing
Direktang HTTP request ay nagva-validate ng bawat endpoint gamit ang edge case, malformed input, at boundary condition na hindi makakasama ng GUI testing lamang.
Session Caching
Authenticated na session ay naka-cache at muling ginagamit sa buong milestone, na nagpapababa ng test runtime habang pinananatili ang tunay na user behavior.
CRUD Cleanup
Bawat entity, preset, at encryption key na ginawa sa panahon ng testing ay ine-erase pagkatapos, na nagsisiguro na ang test ay idempotent at uulit.
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.