By · Last updated 2026-04-07

首页/文档/生产测试套件

419/419 测试通过

100% 通过率

全面的生产测试套件,涵盖 GUI 交互、API 端点、安全性、性能和跨浏览器兼容性 — 所有功能都通过 Playwright 和自动化 API 测试验证。

13 个里程碑48 种语言4 个浏览器5 个运算符
419
总测试数
48
语言
4
浏览器
5
运算符

基础设施升级

最高提速467倍

2026年3月,我们从共享VPS迁移到专用服务器。内存增加16倍,5个并行分析器工作进程,全部48个语言模型预加载。消除冷启动。每种语言都在毫秒级响应。

旧服务器
CPUShared vCPU
RAM8 GB
存储SSD
分析器工作进程1
缓存语言3
预加载模型1
平均响应2,358 ms
新服务器
CPUDedicated CPU
RAM128 GB
存储NVMe RAID
分析器工作进程5
缓存语言48
预加载模型23
平均响应17 ms
141×
平均改进
全48种语言
467×
峰值改进
加泰罗尼亚语:3,267ms → 7ms
634
峰值吞吐量
500个并发请求
23
消除冷启动
所有模型在启动时预加载

并发性能

新服务器可以跨所有服务处理数百个并发请求,零失败。

服务并发成功平均RPS
Analyzer (spaCy)500100%331 ms634
Analyzer (12-lang mix)120100%114 ms515
Anonymizer1,000100%8 ms1,501
Structured Data100100%331 ms144
Frontend (Next.js)200100%979 ms104
Mixed Workload110100%56 ms536

完整管道速度

新服务器上的端到端分析+匿名化延迟,在所有语言模型预热状态下测量。

语言引擎管道平均实体
EnglishspaCy10.2 ms9
GermanspaCy13.4 ms9
FrenchspaCy10.5 ms10
SpanishspaCy7.8 ms9
JapanesespaCy9.9 ms6
ChinesespaCy13.6 ms5
ArabicTransformer12.7 ms7
HebrewStanza117.3 ms6

旧服务器时间包含完整的GUI测试管道(Playwright + API)。新服务器时间是所有模型预热状态下的API基准。改进反映了真实的基础设施收益:消除冷启动、5倍并行化和NVMe存储。

13 个测试里程碑

每个里程碑涵盖平台的独特功能领域,从身份验证到跨浏览器兼容性。

1
100%

Authentication & Session

22/22 测试

登录、会话持久性、个人资料、健康检查、认证守卫、注销/重新登录

2
100%

PII Detection (Analyzer)

62/62 测试

通过 GUI 进行 48 语言分析、实体过滤器、分数阈值、边界情况、键盘快捷键

3
100%

Anonymizer (5 Operators)

40/40 测试

通过 API 和 GUI 替换、编辑、哈希、掩盖、加密运算符、快速操作、多语言

4
100%

Decrypt (Roundtrip)

22/22 测试

AES-256/128/192 的加密然后解密轮次、多语言、密钥验证、大文本

5
100%

Batch & File Upload

20/20 测试

批量文本处理、文件上传 UI、制表符切换、处理状态

6
100%

Entity Management

28/28 测试

跨 3 个选项卡的实体 CRUD、AI 创建者、验证规则、清理验证

7
100%

Preset Management

28/28 测试

跨 3 个选项卡的预设 CRUD、应用流程、验证规则、清理验证

8
100%

Settings (10 Tabs)

42/42 测试

所有 10 个设置选项卡:账户、账单、令牌、安全、历史、语言、加密密钥、服务、开发者

9
100%

API Security

35/35 测试

核心端点、安全标头、CORS 政策、输入验证、身份验证安全、速率限制

10
100%

Token Usage Monitoring

24/24 测试

按文本大小、运算符、语言、实体过滤器、解密、批次、CSV 导出的令牌消耗

11
100%

Lighthouse & Quality

20/20 测试

8 个页面的 Lighthouse 分数、视口响应能力、可访问性、SEO、控制台错误、断开的链接

12
100%

48 Languages + RTL

56/56 测试

所有 48 种语言的分析、4 项 RTL 布局检查、语言切换、选择器验证

13
100%

Cross-Browser

20/20 测试

跨 Chromium、Firefox、WebKit 和移动 Chrome 的 5 个页面 — 无控制台错误

48 语言覆盖

每种支持的语言都通过真实 PII 样本进行测试。三种 NLP 引擎类型确保每种语言的最佳准确性。

spaCy25Stanza7Transformer16
语言代码引擎实体旧服务器新服务器速度提升状态
Englishenspacy113270 毫秒8 毫秒34×
Germandespacy148313 毫秒7 毫秒45×
Spanishesspacy1041,841 毫秒6 毫秒307×
Frenchfrspacy1332,327 毫秒8 毫秒291×
Italianitspacy971,787 毫秒7 毫秒255×
Portugueseptspacy611,764 毫秒6 毫秒294×
Dutchnlspacy1222,486 毫秒6 毫秒414×
Polishplspacy701,726 毫秒8 毫秒216×
Russianruspacy412,226 毫秒6 毫秒371×
Japanesejaspacy231,436 毫秒6 毫秒239×
Chinesezhspacy242,554 毫秒7 毫秒365×
Koreankospacy161,305 毫秒6 毫秒218×
Arabicartransformer20554 毫秒8 毫秒69×
Hindihitransformer22486 毫秒7 毫秒69×
Turkishtrspacy112504 毫秒6 毫秒84×
Romanianrospacy1221,730 毫秒6 毫秒288×
Greekelspacy291,822 毫秒7 毫秒260×
Croatianhrspacy67989 毫秒7 毫秒141×
Slovenianslspacy641,264 毫秒7 毫秒181×
Macedonianmkspacy241,259 毫秒7 毫秒180×
Swedishsvspacy1401,002 毫秒6 毫秒167×
Danishdaspacy1071,910 毫秒7 毫秒273×
Norwegiannbspacy1091,606 毫秒7 毫秒229×
Finnishfispacy1181,229 毫秒7 毫秒176×
Icelandicistransformer73559 毫秒8 毫秒70×
Ukrainianukspacy251,434 毫秒9 毫秒159×
Lithuanianltspacy861,601 毫秒7 毫秒229×
Bulgarianbgstanza248,735 毫秒98 毫秒89×
Serbiansrtransformer24519 毫秒8 毫秒65×
Hungarianhustanza828,141 毫秒39 毫秒209×
Czechcstransformer81562 毫秒8 毫秒70×
Slovaksktransformer70577 毫秒8 毫秒72×
Latvianlvtransformer83526 毫秒8 毫秒66×
Estonianettransformer79531 毫秒8 毫秒66×
Hebrewhestanza178,850 毫秒101 毫秒88×
Persianfatransformer12439 毫秒7 毫秒63×
Vietnamesevistanza7411,282 毫秒99 毫秒114×
Indonesianidtransformer79524 毫秒7 毫秒75×
Thaithtransformer20521 毫秒5 毫秒104×
Malaymstransformer87510 毫秒7 毫秒73×
Filipinotltransformer75501 毫秒7 毫秒72×
Bengalibntransformer18455 毫秒7 毫秒65×
Urduurtransformer12445 毫秒7 毫秒64×
Afrikaansafstanza1197,867 毫秒55 毫秒143×
Swahiliswtransformer68526 毫秒7 毫秒75×
Armenianhystanza6919,643 毫秒85 毫秒231×
Catalancaspacy1003,267 毫秒7 毫秒467×
Basqueeustanza82783 毫秒40 毫秒20×

跨浏览器兼容性

5 个关键页面在 4 个浏览器引擎中进行测试,无控制台错误和水平溢出。

Chromium

5 共 5 页

全部通过

Firefox

5 共 5 页

全部通过

WebKit

5 共 5 页

全部通过

Mobile Chrome

5 共 5 页

全部通过

安全测试

35 个测试

35 个专用安全测试,涵盖 API 端点、标头、CORS、输入验证、身份验证和速率限制。

核心端点

8 tests

8 个测试验证 API 端点可访问性和响应代码

安全标头

6 tests

针对 CSP、X-Frame-Options、HSTS 等的 6 个测试

CORS 政策

5 tests

跨源请求处理的 5 个测试

输入验证

6 tests

针对 XSS、SQL 注入和格式不正确的输入的 6 个测试

身份验证安全

5 tests

针对身份验证绕过和会话安全的 5 个测试

速率限制

5 tests

针对 API 速率限制实施和 Retry-After 标头的 5 个测试

令牌使用分析

使用的令牌总数: 761

22 个令牌消耗测试,衡量操作、文本大小、语言和运算符的成本效率。

操作字符语言实体运算符令牌响应时间
analyze50en44N/A4220 毫秒
analyze200en140N/A9276 毫秒
analyze500en387N/A21367 毫秒
analyze1,000en745N/A39542 毫秒
analyze5,000en3776N/A1934,398 毫秒
analyze10,000en7566N/A38514,494 毫秒
anonymize160en113replace7291 毫秒
anonymize160en113redact7236 毫秒
anonymize160en113hash7243 毫秒
anonymize160en113mask7276 毫秒
anonymize160en113encrypt7242 毫秒
analyze148en4lang-compare20 毫秒
analyze145de3lang-compare20 毫秒
analyze144es3lang-compare20 毫秒
analyze145fr4lang-compare20 毫秒
analyze136it3lang-compare20 毫秒
analyze145pt3lang-compare20 毫秒
analyze137nl3lang-compare20 毫秒
analyze137pl2lang-compare20 毫秒
analyze132ru3lang-compare20 毫秒
analyze84ja2lang-compare20 毫秒
analyze70zh2lang-compare20 毫秒
analyze123ar4lang-compare20 毫秒
analyze160en106PERSON only7258 毫秒
analyze160en108PERSON+EMAIL+PHONE8266 毫秒
analyze160en113All entities8264 毫秒
decrypt342en37decrypt2188 毫秒
batch-analyze476en,de,fr394N/A265,278 毫秒

测试方法论

我们的测试套件结合 GUI 级别的 Playwright 测试与直接 API 验证,以实现全面覆盖。

GUI 测试

Playwright 浏览器自动化测试真实的用户工作流 — 单击按钮、填充表单、页面之间导航和验证视觉输出。

API 测试

直接 HTTP 请求使用边界情况、格式不正确的输入和仅 GUI 测试无法覆盖的边界条件验证每个端点。

会话缓存

经过身份验证的会话在各个里程碑中被缓存和重复使用,减少测试运行时间同时保持现实的用户行为。

CRUD 清理

测试期间创建的每个实体、预设和加密密钥在之后都会被清理,确保测试具有幂等性和可重复性。

实际操作

自己尝试 anonym.legal — 48 种语言、285+ 实体类型、5 个匿名化运算符,全部通过我们的测试套件验证。

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

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

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.