Apresentando a Camada 3: IA Local para Detecção Contextual de PII
O motor de detecção do Qvault agora inclui um modelo de linguagem pequeno que roda inteiramente no seu dispositivo. Ele captura informações sensíveis escondidas em linguagem natural que padrões sozinhos não encontram — e nunca transmite um único byte dos seus dados.
O problema: PII que padrões não detectam
Regex e análise heurística são excelentes para capturar PII estruturada: endereços de e-mail, números de telefone, CPFs, CNPJs, números de cartão de crédito. Funcionam porque essas entidades seguem formatos previsíveis.
Mas documentos jurídicos frequentemente contêm informações sensíveis expressas em linguagem natural. Considere esta frase de um contrato real de hospedagem brasileiro:
"…representada por seu sócio João da Silva."
Não há e-mail, não há número de documento, não há padrão a ser encontrado — apenas o nome de uma pessoa em contexto. Um regex nunca vai encontrar. Um scanner heurístico pode capturar se reconhecer “representada por” como gatilho, mas e fraseados menos comuns?
É aqui que um modelo de linguagem se destaca. Ele entende contexto, não apenas padrões.
Como funciona o pipeline de 3 camadas
Cada camada se baseia na anterior. Entidades encontradas por camadas anteriores são excluídas das passagens posteriores para evitar duplicatas.
Texto do documento (por página)
→ Camada 1: Regex (e-mails, CPFs, telefones, datas, valores...) 95% confiança
→ Camada 2: Heurística (nomes, empresas, endereços por contexto) 75–92% confiança
→ Camada 3: LLM (PII contextual que regex/heurística perdeu) 70% confiança
→ Combinado, deduplicado, ordenado por posição
Camada 1: Padrões Regex
Correspondência de padrões de alta precisão para dados estruturados. Suporta múltiplas jurisdições: EUA (SSN, EIN), UE (IBAN), Brasil (CPF, CNPJ, CEP), Alemanha e padrões globais (e-mail, telefone, cartão de crédito, datas, valores monetários).
- Confiança: 95%
- Determinístico, camada mais rápida
Camada 2: Análise Heurística
Detecção sensível ao contexto usando padrões de capitalização, palavras-chave de funções jurídicas e sufixos empresariais. Suporta terminologia jurídica em EN, PT-BR, ES.
- Confiança: 75–92%
Camada 3: Modelo de IA Local
Um modelo quantizado Qwen 2.5 0.5B alimentado pelo HuggingFace Candle (Rust puro, sem dependências C++). O modelo recebe cada página de texto com um prompt estruturado e retorna um array JSON de entidades PII encontradas. Resultados são mapeados de volta para offsets de caracteres exatos e filtrados contra detecções existentes.
- Confiança: 70%
- Aceleração GPU (CUDA / Metal)
- ~400 MB de download
- Opcional — o Qvault funciona perfeitamente sem ele
Por que Candle em vez de llama.cpp?
Avaliamos várias opções para inferência local: llama.cpp, ONNX Runtime, Burn e Candle. Escolhemos Candle porque:
- Rust puro — sem cmake, sem compilador C++. Builds triviais multiplataforma.
- Integração simples com Tauri — sem binários externos. Apenas mais um crate Rust.
- Aceleração GPU — CUDA para NVIDIA, Metal para Apple Silicon. Fallback automático para CPU.
- Performance suficiente — para um modelo de 0.5B, a diferença de velocidade versus llama.cpp é negligível.
Privacidade por Design
O modelo de IA segue o mesmo princípio de zero transmissão de todo o resto no Qvault:
- O arquivo do modelo (~400 MB) é baixado uma vez do HuggingFace e armazenado em cache localmente.
- Toda inferência roda na sua CPU ou GPU — sem chamadas de API, sem serviços em nuvem.
- O recurso é totalmente opcional.
- O modelo é descarregado automaticamente da memória após 30 segundos de inatividade.
Melhorias na detecção de contratos brasileiros
Junto com a Camada 3, também melhoramos significativamente a detecção de contratos brasileiros nas Camadas 1 e 2:
- CEP (código postal):
00000-000 - Sufixos empresariais: LTDA, EIRELI, ME, EPP, Cia
- Padrão “representada por” para extrair nomes de representantes
- Funções jurídicas brasileiras: Sócio, Diretor, Gerente, Administrador, Procurador
- Stop words de endereço: Rua, Alameda, Avenida, Vila, Bairro (previne falsas detecções de nomes)
Como habilitar a Camada 3
- Abra o Qvault e vá em Configurações.
- Na seção Detecção IA, clique em Baixar Modelo (~400 MB, apenas uma vez).
- Após o download, clique em Carregar Modelo. A página de configurações mostrará seu dispositivo de computação (CPU, GPU CUDA ou GPU Metal).
- Habilite o toggle. A Camada 3 rodará automaticamente durante as varreduras.
O modelo é descarregado após 30 segundos de inatividade para liberar memória. Ele recarrega automaticamente na próxima varredura.
O Qvault é gratuito, código aberto (MIT), e roda em macOS, Windows e Linux. Confira o site ou o código no GitHub.