By George Curta · Last updated 2026-04-07
ترقية البنية التحتية
أسرع بـ 467 مرةفي مارس 2026، قمنا بالهجرة من VPS مشترك إلى خادم مخصص بذاكرة وصول عشوائي أكبر بـ 16 مرة، وخمسة (5) عمال محلل متوازيين، وجميع نماذج اللغات الـ 48 محملة.
أداء متزامنة
يتعامل الخادم الجديد مع مئات الطلبات المتزامنة عبر جميع الخدمات بدون أي أعطال.
| الخدمة | متزامنة | نجاح | متوسط | طلب/ثانية |
|---|---|---|---|---|
| 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 |
أوقات الخادم القديم تشمل خط أنابيب اختبار واجهة المستخدم الرسومية الكامل (Playwright + API). أوقات الخادم الجديد هي اختبارات API فقط مع جميع النماذج دافئة. يعكس التحسن الفوائد الحقيقية للبنية التحتية: حذف البدايات الباردة، التوازي 5×، تخزين NVMe.
13 مرحلة اختبار
تغطي كل مرحلة منطقة وظيفية مميزة من النظام الأساسي، من المصادقة إلى التوافق عبر المتصفحات.
Authentication & Session
22/22 اختبارات
تسجيل الدخول واستمرار الجلسة والملف الشخصي والتحقق الصحي وحراس المصادقة وتسجيل الخروج/إعادة تسجيل الدخول
PII Detection (Analyzer)
62/62 اختبارات
تحليل 48 لغة عبر الواجهة الرسومية وفلاتر الكيانات وعتبات الدرجات والحالات الحدية واختصارات لوحة المفاتيح
Anonymizer (5 Operators)
40/40 اختبارات
معاملات Replace و Redact و Hash و Mask و Encrypt عبر API والواجهة الرسومية والإجراءات السريعة والعديد من اللغات
Decrypt (Roundtrip)
22/22 اختبارات
رحلات التشفير-ثم-فك التشفير لـ AES-256/128/192 والعديد من اللغات والتحقق من المفتاح والنص الكبير
Batch & File Upload
20/20 اختبارات
معالجة نصوص دفعية وواجهة تحميل الملفات وتبديل علامات التبويب وحالة المعالجة
Entity Management
28/28 اختبارات
CRUD للكيانات عبر 3 علامات تبويب ومُنشئ 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 اختبارات لمعالجة طلبات المصدر المتقاطع
التحقق من صحة المدخلات
6 tests6 اختبارات لـ XSS و SQL injection والمدخلات المشوهة
أمان المصادقة
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 على مستوى الواجهة الرسومية والتحقق المباشر من API للتغطية الشاملة.
اختبار الواجهة الرسومية
اختبارات أتمتة Playwright للمتصفح تختبر سير عمل المستخدم الحقيقي — النقر على الأزرار وملء النماذج والتنقل بين الصفحات والتحقق من الإخراج المرئي.
اختبار API
طلبات HTTP المباشرة تتحقق من كل نقطة نهاية مع حالات حدية ومدخلات مشوهة وشروط حدية لا يمكن لاختبار الواجهة الرسومية وحدها تغطيتها.
تخزين الجلسة مؤقتاً
يتم تخزين الجلسات المصرح بها وإعادة استخدامها عبر المراحل، مما يقلل وقت تشغيل الاختبار مع الحفاظ على سلوك المستخدم الواقعي.
تنظيف 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.