By George Curta · Last updated 2026-04-07
419/419 Тестови Одобрени
100% Стапка на УспехЦелосен пакет за тестирање на производство кој покрива GUI интеракции, API крајни точки, безбедност, перформанси и компатибилност меѓу прелистувачи.
Надградба на инфраструктура
До 467× ПобрзоВо март 2026, мигрирав од делена VPS на посветена серверска машина со 16× повеќе RAM, 5 паралелни анализаторски работници и сите 48 јазични модели.
Истовремена Перформанса
Новиот сервер рачуна стотина истовремени барања преку сите услуги без откази.
| Услуга | Истовремено | Успех | Просечно | 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 |
Полна Брзина на Обработка
Крај-до-крај анализирај + анонимизирај латенција на новиот сервер, измерена со сите јазични модели топли.
| Јазик | Мотор | Обработка Просечно | Субјекти |
|---|---|---|---|
| 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 |
Времињата на стариот сервер го вклучуваат целиот GUI тест процес (Playwright + API). Новото сервер времињата се API-само бенчмарк со сите модели топли. Подобрувањето рефлектира реална инфраструктурна добиток: елиминирани ладни стартувања, 5× паралелизам и NVMe складирање.
13 Милстоуни за Тестирање
Секој милстоун покрива различна функционална област на платформата, од аутентификација до компатибилност меѓу прелистувачи.
Authentication & Session
22/22 тестови
Логирање, постојаност на сесија, профил, здравствени проверки, заштита на аутентификација, одлогирање/повторно логирање
PII Detection (Analyzer)
62/62 тестови
Анализа од 48 јазици преку GUI, филтри за субјекти, праги на оценување, гранични случаи, пречици на тастатура
Anonymizer (5 Operators)
40/40 тестови
Замена, Избришување, Хеширање, Маска, Енкриптување оператори преку API и GUI, брзи акции, повеќе јазици
Decrypt (Roundtrip)
22/22 тестови
Енкриптување-потоа-декриптување циклуси за AES-256/128/192, повеќе јазици, валидација на клучеви, голем текст
Batch & File Upload
20/20 тестови
Обработка на текст од пакети, корисничкиот интерфејс за вчитување на датотеке, смена на картички, статус на обработка
Entity Management
28/28 тестови
CRUD на субјекти преку 3 картички, AI Creator, правила за валидација, проверка на чистење
Preset Management
28/28 тестови
CRUD на предусловите преку 3 картички, применува проток, правила за валидација, проверка на чистење
Settings (10 Tabs)
42/42 тестови
Сите 10 картички за поставки: Сметка, Наплата, Токени, Безбедност, Историја, Јазик, Клучеви за енкриптување, Услуги, Развивач
API Security
35/35 тестови
Основни крајни точки, заглавја за безбедност, CORS политика, валидација на вводот, безбедност на аутентификација, ограничување на стапката
Token Usage Monitoring
24/24 тестови
Потрошување на токени според големина на текст, оператор, јазик, филтер на субјекти, декриптување, пакет, CSV извоз
Lighthouse & Quality
20/20 тестови
Lighthouse оценувања на 8 страни, одговорност на прегледот, достапност, SEO, конзолни грешки, скршени врски
48 Languages + RTL
56/56 тестови
Анализа за сите 48 јазици, 4 проверки на RTL распоред, смена на јазик, валидација на селектор
Cross-Browser
20/20 тестови
5 страни преку Chromium, Firefox, WebKit и Mobile Chrome — нулти конзолни грешки
Покривање од 48 Јазици
Секој поддржан јазик се тестира со вистински PII примероци. Три типа на NLP мотори обезбедуваат оптимална точност за секој јазик.
| Јазик | Код | Мотор | Субјекти | Стара Серверска Машина | Нова Серверска Машина | Брзина Добивка | Статус |
|---|---|---|---|---|---|---|---|
| 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× |
Компатибилност Меѓу Прелистувачи
5 критични страни се тестираат преку 4 мотори на прелистувачи со нулти конзолни грешки и без хоризонтално преливање.
Chromium
5 од 5 страни
Сите ОдобрениFirefox
5 од 5 страни
Сите ОдобрениWebKit
5 од 5 страни
Сите ОдобрениMobile Chrome
5 од 5 страни
Сите ОдобрениТестирање на Безбедност
35 Тестови35 специјални тестови за безбедност кои покануваат API крајни точки, заглавја, CORS, валидација на вводот, аутентификација и ограничување на стапката.
Основни Крајни Точки
8 tests8 тестови кои проверуваат пристап до API крајни точки и кодови на одговор
Заглавја за Безбедност
6 tests6 тестови за CSP, X-Frame-Options, HSTS и повеќе
CORS Политика
5 tests5 тестови за обработка на кросорigenски барања
Валидација на Вводот
6 tests6 тестови за XSS, SQL инјекција и лошо обликуван вводот
Безбедност на Аутентификација
5 tests5 тестови за заобилање на аутентификација и безбедност на сесија
Ограничување на Стапката
5 tests5 тестови за спровођење на ограничување на стапката на API и Retry-After заглавја
Анализа на Користење на Токени
Вкупно Токени Користени: 76122 тестови на потрошување на токени кои мерат користењето на трошокот во операции, големини на текст, јазици и оператори.
| Операција | Знаци | Јазик | Субјекти | Оператор | Токени | Време на Одговор |
|---|---|---|---|---|---|---|
| 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 |
Методологија на Тестирање
Нашиот пакет за тестирање комбинира GUI-ниво Playwright тестирање со директна валидација на API за сеопфатна покривност.
GUI Тестирање
Playwright аутоматизација на прелистувачи тестира вистински работни текови на корисници — кликување на копчиња, полнење на форми, навигација меѓу страни и проверка на визуелен излез.
API Тестирање
Директни HTTP барања валидираат секоја крајна точка со гранични случаи, лошо обликуван вводот и граничните услови кои самата GUI тестирање не може да покрие.
Кеширање на Сесија
Аутентицирани сесии се кешираат и повторно користат преку милстоуни, намалувајќи време на тестирање додека одржувајќи реално однесување на корисници.
CRUD Чистење
Секој субјект, предуслов и клуч за енкриптување создадени во време на тестирање се чистат подоцна, обезбедувајќи дека тестовите се идемпотентни и повторувачни.
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.