By George Curta · Last updated 2026-04-07
인프라 업그레이드
최대 467배 빠름2026년 3월, 공유 VPS에서 전용 서버로 마이그레이션했습니다. RAM 16배 증가, 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 테스트
GUI를 통한 48언어 분석, 엔티티 필터, 점수 임계값, 엣지 케이스, 키보드 바로 가기
Anonymizer (5 Operators)
40/40 테스트
API 및 GUI를 통한 Replace, Redact, Hash, Mask, Encrypt 연산자, 빠른 작업, 다국어
Decrypt (Roundtrip)
22/22 테스트
AES-256/128/192의 암호화-암호 해독 라운드, 다국어, 키 검증, 큰 텍스트
Batch & File Upload
20/20 테스트
배치 텍스트 처리, 파일 업로드 UI, 탭 전환, 처리 상태
Entity Management
28/28 테스트
3개 탭의 엔티티 CRUD, AI Creator, 검증 규칙, 정리 검증
Preset Management
28/28 테스트
3개 탭의 사전 설정 CRUD, 애플리케이션 흐름, 검증 규칙, 정리 검증
Settings (10 Tabs)
42/42 테스트
모든 10개 설정 탭: 계정, 청구, 토큰, 보안, 기록, 언어, 암호화 키, 서비스, 개발자
API Security
35/35 테스트
핵심 엔드포인트, 보안 헤더, CORS 정책, 입력 검증, 인증 보안, 속도 제한
Token Usage Monitoring
24/24 테스트
텍스트 크기, 연산자, 언어, 엔티티 필터, 암호 해독, 배치, CSV 내보내기별 토큰 소비
Lighthouse & Quality
20/20 테스트
8페이지의 Lighthouse 점수, 뷰포트 반응성, 접근성, SEO, 콘솔 오류, 끊어진 링크
48 Languages + RTL
56/56 테스트
48개 언어 모두에 대한 분석, 4개의 RTL 레이아웃 확인, 언어 전환, 선택기 검증
Cross-Browser
20/20 테스트
Chromium, Firefox, WebKit 및 Mobile Chrome의 5페이지 — 콘솔 오류 없음
48개 언어 적용 범위
지원되는 모든 언어는 실제 PII 샘플로 테스트됩니다. 3가지 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개 테스트API 엔드포인트, 헤더, CORS, 입력 검증, 인증 및 속도 제한을 다루는 35개의 전용 보안 테스트.
핵심 엔드포인트
8 testsAPI 엔드포인트 접근성 및 응답 코드를 확인하는 8개 테스트
보안 헤더
6 testsCSP, X-Frame-Options, HSTS 등을 위한 6개 테스트
CORS 정책
5 tests교차 출처 요청 처리를 위한 5개 테스트
입력 검증
6 testsXSS, SQL 주입 및 형식이 잘못된 입력을 위한 6개 테스트
인증 보안
5 tests인증 우회 및 세션 보안을 위한 5개 테스트
속도 제한
5 testsAPI 속도 제한 적용 및 Retry-After 헤더를 위한 5개 테스트
토큰 사용 분석
사용된 총 토큰: 761작업, 텍스트 크기, 언어 및 연산자 전체의 비용 효율성을 측정하는 22개의 토큰 소비 테스트.
| 작업 | 문자 | 언어 | 엔티티 | 연산자 | 토큰 | 응답 시간 |
|---|---|---|---|---|---|---|
| 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.