Presentando la Capa 3: IA Local para Detección Contextual de PII
El motor de detección de Qvault ahora incluye un modelo de lenguaje pequeño que se ejecuta completamente en tu dispositivo. Captura información sensible oculta en lenguaje natural que los patrones solos no encuentran — y nunca transmite un solo byte de tus datos.
El problema: PII que los patrones no detectan
Regex y análisis heurístico son excelentes para capturar PII estructurada: direcciones de correo electrónico, números de teléfono, DNIs, números de tarjeta de crédito. Funcionan porque estas entidades siguen formatos predecibles.
Pero los documentos legales frecuentemente contienen información sensible expresada en lenguaje natural. Considera esta frase de un contrato real de hosting brasileño:
"…representada por seu sócio João da Silva."
No hay correo electrónico, no hay número de documento, no hay patrón que buscar — solo el nombre de una persona en contexto. Un regex nunca lo encontrará. Un escáner heurístico podría capturarlo si reconoce “representada por” como disparador, pero ¿qué pasa con formulaciones menos comunes?
Aquí es donde un modelo de lenguaje destaca. Entiende contexto, no solo patrones.
Cómo funciona el pipeline de 3 capas
Cada capa se basa en la anterior. Las entidades encontradas por capas anteriores se excluyen de las pasadas posteriores para evitar duplicados.
Texto del documento (por página)
→ Capa 1: Regex (emails, DNIs, teléfonos, fechas, montos...) 95% confianza
→ Capa 2: Heurística (nombres, empresas, direcciones por contexto) 75–92% confianza
→ Capa 3: LLM (PII contextual que regex/heurística perdió) 70% confianza
→ Combinado, deduplicado, ordenado por posición
Capa 1: Patrones Regex
Coincidencia de patrones de alta precisión para datos estructurados. Soporta múltiples jurisdicciones: EE.UU. (SSN, EIN), UE (IBAN), Brasil (CPF, CNPJ, CEP), Alemania y patrones globales (email, teléfono, tarjeta de crédito, fechas, montos monetarios).
- Confianza: 95%
- Determinístico, capa más rápida
Capa 2: Análisis Heurístico
Detección sensible al contexto usando patrones de capitalización, palabras clave de roles legales y sufijos empresariales. Soporta terminología legal en EN, PT-BR, ES.
- Confianza: 75–92%
Capa 3: Modelo de IA Local
Un modelo cuantizado Qwen 2.5 0.5B alimentado por HuggingFace Candle (Rust puro, sin dependencias C++). El modelo recibe cada página de texto con un prompt estructurado y devuelve un array JSON de entidades PII encontradas. Los resultados se mapean de vuelta a offsets de caracteres exactos y se filtran contra detecciones existentes.
- Confianza: 70%
- Aceleración GPU (CUDA / Metal)
- ~400 MB de descarga
- Opcional — Qvault funciona perfectamente sin él
¿Por qué Candle en vez de llama.cpp?
Evaluamos varias opciones para inferencia local: llama.cpp, ONNX Runtime, Burn y Candle. Elegimos Candle porque:
- Rust puro — sin cmake, sin compilador C++. Builds triviales multiplataforma.
- Integración simple con Tauri — sin binarios externos. Solo otro crate Rust.
- Aceleración GPU — CUDA para NVIDIA, Metal para Apple Silicon. Fallback automático a CPU.
- Rendimiento suficiente — para un modelo de 0.5B, la diferencia de velocidad versus llama.cpp es negligible.
Privacidad por Diseño
El modelo de IA sigue el mismo principio de cero transmisión que todo lo demás en Qvault:
- El archivo del modelo (~400 MB) se descarga una vez de HuggingFace y se almacena en caché localmente.
- Toda la inferencia se ejecuta en tu CPU o GPU — sin llamadas API, sin servicios en la nube.
- La función es completamente opcional.
- El modelo se descarga automáticamente de la memoria después de 30 segundos de inactividad.
Mejoras en la detección de contratos brasileños
Junto con la Capa 3, también mejoramos significativamente la detección de contratos brasileños en las Capas 1 y 2:
- CEP (código postal):
00000-000 - Sufijos empresariales: LTDA, EIRELI, ME, EPP, Cia
- Patrón “representada por” para extraer nombres de representantes
- Roles legales brasileños: Sócio, Diretor, Gerente, Administrador, Procurador
- Stop words de dirección: Rua, Alameda, Avenida, Vila, Bairro (previene falsas detecciones de nombres)
Cómo habilitar la Capa 3
- Abre Qvault y ve a Configuración.
- En la sección Detección IA, haz clic en Descargar Modelo (~400 MB, solo una vez).
- Una vez descargado, haz clic en Cargar Modelo. La página de configuración mostrará tu dispositivo de cómputo (CPU, GPU CUDA o GPU Metal).
- Activa el toggle. La Capa 3 se ejecutará automáticamente durante los escaneos.
El modelo se descarga después de 30 segundos de inactividad para liberar memoria. Se recarga automáticamente en el próximo escaneo.
Qvault es gratuito, código abierto (MIT), y funciona en macOS, Windows y Linux. Consulta el sitio web o el código en GitHub.