Seguridad

Modelo de amenazas, arquitectura de cifrado y divulgación responsable de anonym.plus.

Principios de diseño

anonym.plus se basa en tres principios de seguridad:

Modelo de amenazas

La siguiente tabla describe contra qué protege anonym.plus y qué queda fuera del alcance de sus garantías de seguridad.

AmenazaMitigaciónEstado
Documentos enviados a servidores externos Todo el procesamiento se ejecuta localmente mediante Presidio + spaCy incluidos. Sin llamadas de red para la detección o anonimización de PII. Mitigado
Datos del vault accedidos por un atacante con acceso al disco Vault cifrado con AES-256-GCM. Clave derivada de la contraseña del usuario mediante Argon2id (64 MB de memoria, 3 iteraciones). Sin PIN o frase de recuperación, los datos son ilegibles. Mitigado
Compromiso del servidor expone contraseñas de usuarios Autenticación zero-knowledge. Las contraseñas se hashean en el lado del cliente antes de cualquier comunicación con el servidor. El servidor solo almacena pruebas criptográficas. Mitigado
Claves de cifrado extraídas de la memoria El material de claves se borra de la memoria cuando el vault se bloquea. Bloqueo automático tras 15 minutos de inactividad. Mitigado
Man-in-the-middle en la comunicación API Toda la comunicación API se realiza sobre HTTPS/TLS. No se implementa certificate pinning (TLS estándar de navegador/Tauri). Parcialmente mitigado
Malware en el dispositivo del usuario Fuera del alcance. Si un atacante tiene ejecución de código en su máquina, ninguna aplicación de escritorio puede garantizar la seguridad. Use protecciones a nivel de sistema operativo. Fuera del alcance
La detección NLP no detecta entidades PII Presidio + spaCy usan tanto NER (aprendizaje automático) como patrones regex. Umbrales de confianza configurables y paso de revisión manual. Los falsos negativos son posibles — revise siempre los resultados. Parcialmente mitigado

Arquitectura de cifrado

Cifrado del vault

Todos los datos locales (historial de procesamiento, claves de cifrado, configuración) se almacenan en un vault cifrado.

Algoritmo
AES-256-GCM (cifrado autenticado con datos asociados)
Derivación de claves
Argon2id con 64 MB de coste de memoria, 3 iteraciones, salida de 32 bytes
Frase de recuperación
Mnemónico BIP39 de 24 palabras (256 bits de entropía), generado durante la configuración inicial
Desbloqueo rápido
PIN opcional de 4-8 dígitos para mayor comodidad. Después de 3 intentos fallidos, se requiere la frase de recuperación.
Bloqueo automático
El vault se bloquea tras 15 minutos de inactividad (sin eventos de ratón, teclado o desplazamiento)
Borrado de claves
El material de claves de cifrado se borra de la memoria cuando el vault se bloquea

Cifrado de documentos (anonimización reversible)

Al usar el operador "Cifrar", las entidades PII se cifran con AES-256-GCM por clave para que puedan descifrarse posteriormente mediante la función de deanonimización.

Algoritmo
AES-256-GCM con nonce aleatorio por entidad
Longitudes de clave
128-bit, 192-bit o 256-bit (256-bit recomendado y predeterminado)
Almacenamiento de claves
Zero-knowledge: los valores de las claves nunca salen del backend Rust. El frontend solo referencia claves por ID.
Rotación de claves
Genera nuevo material de clave. El valor antiguo de la clave se reemplaza permanentemente. Los documentos cifrados con la clave antigua requieren el valor antiguo para el descifrado.

Autenticación

Manejo de contraseñas
Las contraseñas se hashean en el lado del cliente usando Argon2id + HKDF + SHA-256 antes de cualquier comunicación con el servidor. El servidor nunca recibe contraseñas en texto plano.
Tokens de sesión
JWT con secretos separados para autenticación de usuario y administrador. Los tokens se almacenan en sessionStorage (se borran al cerrar la pestaña).
Autenticación de administrador
Secreto JWT separado (ADMIN_JWT_SECRET). Contraseña mínima de 12 caracteres. Autenticación de dos factores basada en TOTP.

Lo que ve el servidor

El servidor de anonym.plus gestiona cuentas, licencias y facturación de suscripciones. Esto es exactamente lo que puede y no puede acceder:

Para un desglose completo de los datos recopilados, consulte la Política de Privacidad.

Divulgación responsable

Reportar una vulnerabilidad de seguridad

Si descubre una vulnerabilidad de seguridad en anonym.plus, le animamos a la divulgación responsable. Por favor, repórtela a través de nuestro formulario de contacto con la categoría "Security".

Al reportar, incluya: una descripción de la vulnerabilidad, pasos para reproducirla, la versión afectada y el impacto potencial.

Nos esforzamos por confirmar los reportes en 48 horas y proporcionar un cronograma de corrección en 7 días. No tomaremos acciones legales contra investigadores que sigan prácticas de divulgación responsable.

Nuestra información de contacto de seguridad también está disponible en /.well-known/security.txt (RFC 9116).

Componentes de código abierto

anonym.plus utiliza los siguientes componentes de código abierto para sus funciones críticas de seguridad:

Referencias