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 тестове
Оператори Replace, Redact, Hash, Mask, Encrypt чрез API и GUI, бързи действия, многоезичност
Decrypt (Roundtrip)
22/22 тестове
Цикли на криптиране-и-след-това-декриптиране за AES-256/128/192, многоезичност, валидация на ключи, голям текст
Batch & File Upload
20/20 тестове
Обработка на текст в партидата, интерфейс за качване на файлове, превключване на тапи, статус на обработката
Entity Management
28/28 тестове
CRUD на обекти в 3 тапи, Creator AI, правила за валидиране, проверка на почистването
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 теста за обработка на кросс-origen заявки
Валидация на входа
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 |
Методология на тестване
Нашия пакет за тестване комбинира тестване на Playwright на ниво GUI с преки проверки на 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.