By George Curta · Last updated 2026-04-07
419/419 Pruebas Pasando
100% Tasa de AprobaciónSuite de pruebas de producción integral que cubre interacciones de GUI, puntos finales de API, seguridad, rendimiento y compatibilidad entre.
Actualización de infraestructura
Hasta 467× más rápidoEn marzo de 2026, migramos de un VPS compartido a un servidor dedicado con 16× más RAM, 5 workers de analizador paralelos y todos los 48 modelos de.
Rendimiento concurrente
El nuevo servidor maneja cientos de solicitudes simultáneas en todos los servicios sin fallos.
| Servicio | Concurrente | Éxito | Promedio | 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 |
Velocidad de canalización completa
Latencia de análisis + anonimización de extremo a extremo en el nuevo servidor, medida con todos los modelos de idioma precargados.
| Idioma | Motor | Promedio de canalización | Entidades |
|---|---|---|---|
| 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 |
Los tiempos del servidor antiguo incluyen la canalización completa de pruebas de GUI (Playwright + API). Los tiempos del servidor nuevo son benchmarks de solo API con todos los modelos precargados. La mejora refleja ganancias reales de infraestructura: cold starts eliminados, paralelismo 5× y almacenamiento NVMe.
13 Hitos de Prueba
Cada hito cubre un área funcional distinta de la plataforma, desde autenticación hasta compatibilidad entre navegadores.
Authentication & Session
22/22 pruebas
Inicio de sesión, persistencia de sesión, perfil, verificaciones de salud, guardias de autenticación, cierre de sesión/re-inicio de sesión
PII Detection (Analyzer)
62/62 pruebas
Análisis de 48 idiomas a través de GUI, filtros de entidades, umbrales de puntuación, casos límite, atajos de teclado
Anonymizer (5 Operators)
40/40 pruebas
Operadores replace, redact, hash, mask, encrypt a través de API y GUI, acciones rápidas, multi-idioma
Decrypt (Roundtrip)
22/22 pruebas
Viajes de cifrado-descifrado para AES-256/128/192, multi-idioma, validación de claves, texto grande
Batch & File Upload
20/20 pruebas
Procesamiento de texto por lotes, UI de carga de archivos, cambio de pestañas, estado de procesamiento
Entity Management
28/28 pruebas
CRUD de entidades en 3 pestañas, AI Creator, reglas de validación, verificación de limpieza
Preset Management
28/28 pruebas
CRUD de presets en 3 pestañas, flujo de aplicación, reglas de validación, verificación de limpieza
Settings (10 Tabs)
42/42 pruebas
Las 10 pestañas de configuración: Cuenta, Facturación, Tokens, Seguridad, Historial, Idioma, Claves de Cifrado, Servicios, Desarrollador
API Security
35/35 pruebas
Puntos finales principales, encabezados de seguridad, política CORS, validación de entrada, seguridad de autenticación, limitación de velocidad
Token Usage Monitoring
24/24 pruebas
Consumo de tokens por tamaño de texto, operador, idioma, filtro de entidades, descifrado, lote, exportación CSV
Lighthouse & Quality
20/20 pruebas
Puntuaciones de Lighthouse en 8 páginas, capacidad de respuesta de viewport, accesibilidad, SEO, errores de consola, enlaces rotos
48 Languages + RTL
56/56 pruebas
Análisis de todos los 48 idiomas, 4 verificaciones de diseño RTL, cambio de idioma, validación de selector
Cross-Browser
20/20 pruebas
5 páginas en Chromium, Firefox, WebKit y Mobile Chrome — cero errores de consola
Cobertura de 48 Idiomas
Cada idioma soportado se prueba con muestras reales de PII. Tres tipos de motores NLP aseguran precisión óptima por idioma.
| Idioma | Código | Motor | Entidades | Servidor antiguo | Servidor nuevo | Ganancia de velocidad | Estado |
|---|---|---|---|---|---|---|---|
| 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× |
Compatibilidad Entre Navegadores
5 páginas críticas probadas en 4 motores de navegador con cero errores de consola y sin desbordamiento horizontal.
Chromium
5 de 5 páginas
Todos PasandoFirefox
5 de 5 páginas
Todos PasandoWebKit
5 de 5 páginas
Todos PasandoMobile Chrome
5 de 5 páginas
Todos PasandoPruebas de Seguridad
35 Pruebas35 pruebas de seguridad dedicadas cubriendo puntos finales de API, encabezados, CORS, validación de entrada, autenticación y limitación de velocidad.
Puntos Finales Principales
8 tests8 pruebas verificando accesibilidad de puntos finales de API y códigos de respuesta
Encabezados de Seguridad
6 tests6 pruebas para CSP, X-Frame-Options, HSTS y más
Política CORS
5 tests5 pruebas para manejo de solicitudes de origen cruzado
Validación de Entrada
6 tests6 pruebas para XSS, inyección SQL y entrada malformada
Seguridad de Autenticación
5 tests5 pruebas para omisión de autenticación y seguridad de sesión
Limitación de Velocidad
5 tests5 pruebas para aplicación de límite de velocidad API y encabezados Retry-After
Análisis de Uso de Tokens
Tokens Totales Usados: 76122 pruebas de consumo de tokens midiendo eficiencia de costos en operaciones, tamaños de texto, idiomas y operadores.
| Operación | Caracteres | Idioma | Entidades | Operador | Tokens | Tiempo de Respuesta |
|---|---|---|---|---|---|---|
| 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 |
Metodología de Prueba
Nuestra suite de pruebas combina pruebas Playwright a nivel de GUI con validación API directa para cobertura integral.
Pruebas de GUI
Las pruebas de automatización de navegador Playwright prueban flujos de trabajo reales del usuario — hacer clic en botones, rellenar formularios, navegar entre páginas y verificar salida visual.
Pruebas de API
Las solicitudes HTTP directas validan cada punto final con casos límite, entrada malformada y condiciones de límite que las pruebas de GUI solas no pueden cubrir.
Almacenamiento en Caché de Sesión
Las sesiones autenticadas se almacenan en caché y se reutilizan en hitos, reduciendo el tiempo de ejecución de pruebas manteniendo el comportamiento realista del usuario.
Limpieza de CRUD
Cada entidad, preset y clave de cifrado creados durante las pruebas se limpian posteriormente, asegurando que las pruebas sean idempotentes y repetibles.
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.