By George Curta · Last updated 2026-04-07
419/419 testova prolazi
100% uspešna stopaSveobuhvatni paket za testiranje produkcije koji pokriva interakcije GUI-ja, API krajnje točke, sigurnost, performanse i kompatibilnost preglednika.
Nadogradnja Infrastrukture
467× BržeU ožujku 2026., migrirali smo sa zajedničkog VPS-a na namenski server sa 16× više RAM-a, 5 paralelnih analyzer worker-a i svim 48 unaprijed učitanih.
Konkurentna Izvedba
Novi server obrađuje stotine istovremenih zahteva preko svih servisa bez greške.
| Servis | Istovremeno | Uspeh | Prosek | 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 |
Brzina Punog Pipeline-a
Latencija analize i anonimizacije end-to-end na novom serveru, merena sa svim jezičnim modelima zagrejani.
| Jezik | Motor | Pipeline Prosek | Entiteti |
|---|---|---|---|
| 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 |
Vremena starog servera uključuju kompletan GUI test pipeline (Playwright + API). Vremena novog servera su samo API benchmark-ovi sa svim modelima zagrejani. Poboljšanja reflektuju prave infrastrukturne dobitke: eliminacija hladnih pokretanja, 5× paralelizm i NVMe pohrana.
13 većih verzija testiranja
Svaka veća verzija pokriva jedno funkcijsko područje platforme, od autentifikacije do kompatibilnosti preglednika.
Authentication & Session
22/22 testova
Prijava, trajnost sesije, profil, provjere zdravlja, zaštita autentifikacije, odjava/ponovna prijava
PII Detection (Analyzer)
62/62 testova
Analiza 48 jezika preko GUI-ja, filtri entiteta, pragovi rezultata, slučajevi na rubovima, prečaci tipkovnice
Anonymizer (5 Operators)
40/40 testova
Operatori Replace, Redact, Hash, Mask, Encrypt preko API-ja i GUI-ja, brze akcije, multilingvalni
Decrypt (Roundtrip)
22/22 testova
Okrugle putanje šifriranja-pa-dešifriranja za AES-256/128/192, multilingvalni, potvrda ključa, veliki tekst
Batch & File Upload
20/20 testova
Obrada teksta u grupama, sučelje za učitavanje datoteka, prebacivanje između kartice, status obrade
Entity Management
28/28 testova
CRUD entiteta u 3 kartice, AI Creator, pravila provjere, provjera čišćenja
Preset Management
28/28 testova
CRUD unaprijed postavljenih vrijednosti u 3 kartice, tok primjene, pravila provjere, provjera čišćenja
Settings (10 Tabs)
42/42 testova
Sve 10 kartice postavki: Račun, Naplata, Tokeni, Sigurnost, Historija, Jezik, Ključi šifriranja, Usluge, Razvojni
API Security
35/35 testova
Glavne krajnje točke, zaglavlja sigurnosti, CORS politika, provjera ulaza, sigurnost autentifikacije, ograničenje brzine
Token Usage Monitoring
24/24 testova
Potrošnja tokena po veličini teksta, operatoru, jeziku, filtru entiteta, dešifriranje, grupe, izvoz CSV
Lighthouse & Quality
20/20 testova
Lighthouse rezultati na 8 stranica, odgovor prikaza, dostupnost, SEO, greške konzole, prekinute veze
48 Languages + RTL
56/56 testova
Analiza za svi 48 jezika, 4 provjere RTL rasporeda, prebacivanje jezika, provjera selektora
Cross-Browser
20/20 testova
5 stranica kroz Chromium, Firefox, WebKit i Mobile Chrome — bez grešaka konzole
Pokrivenost 48 jezika
Svaki podržani jezik testira se sa pravim PII uzorcima. Tri vrste NLP motora osiguravaju optimalnu preciznost za svaki jezik.
| Jezik | Kod | Motor | Entiteti | Stari Server | Novi Server | Dobitak Brzine | 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× |
Kompatibilnost između preglednika
5 kritičnih stranica testirano je kroz 4 motora preglednika bez grešaka konzole i bez horizontalnog prelijevanja.
Chromium
5 od 5 stranica
Sve prolazeFirefox
5 od 5 stranica
Sve prolazeWebKit
5 od 5 stranica
Sve prolazeMobile Chrome
5 od 5 stranica
Sve prolazeTestiranje sigurnosti
35 testova35 namjenskih testova sigurnosti koji pokrivaju API krajnje točke, zaglavlja, CORS, provjeru ulaza, autentifikaciju i ograničenje brzine.
Glavne krajnje točke
8 tests8 testova koji potvrđuju dostupnost API krajnje točke i kodove odgovora
Zaglavlja sigurnosti
6 tests6 testova za CSP, X-Frame-Options, HSTS i više
CORS politika
5 tests5 testova za rukovanje zahtjevima s drugačijeg izvora
Provjera ulaza
6 tests6 testova za XSS, SQL injekciju i loše oblikovane ulaze
Sigurnost autentifikacije
5 tests5 testova za zaobilaženje autentifikacije i sigurnost sesije
Ograničenje brzine
5 tests5 testova za primjenu ograničenja brzine API-ja i zaglavlje Retry-After
Analiza potrošnje tokena
Ukupno korištenih tokena: 76122 teста potrošnje tokena koji mjere učinkovitost troškova u operacijama, veličinama teksta, jezicima i operatorima.
| Operacija | Znakovi | Jezik | Entiteti | Operator | Tokeni | Vrijeme odgovora |
|---|---|---|---|---|---|---|
| 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 |
Metodologija testiranja
Naš paket testiranja kombinira testiranje na razini GUI-ja sa Playwright-om i izravnom validacijom API-ja za sveobuhvatnu pokrivenost.
Testiranje GUI-ja
Automatizacija preglednika Playwright testira stvarne korisnićke tokove — klikanje na gumbe, popunjavanje obrazaca, navigiranje između stranica i potvrda vizualnog izlaza.
Testiranje API-ja
Izravni HTTP zahtjevi potvrđuju svaku krajnju točku s graničnim slučajevima, loše oblikovanim ulazima i graničnim uvjetima koje samo testiranje GUI-ja ne može pokriti.
Cachiranje sesije
Autentificirane sesije se caciraju i ponovo koriste tijekom većih verzija, što skraćuje vrijeme izvršavanja testova zadržavajući realno ponašanje korisnika.
CRUD čišćenje
Svaki entitet, unaprijed postavljena vrijednost i ključ šifriranja kreiran tijekom testiranja se nakon toga očiste, osiguravajući da su testovi idempotentni i ponovljivi.
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.