← Demos / 04

Cole no ChatGPT sem divulgar os dados dos seus clientes

Carregue em «Redact» e veja nomes, moradas, números de conta e de identificação transformarem-se em barras pretas, em seis línguas. Um modelo pequeno no seu navegador encontra-os; nada do que escreve sai desta página.

A demo precisa de JavaScript. O modelo é descarregado uma só vez, 38 MB; o seu navegador guarda-o.

Experimente outro exemplo ou cole o seu próprio texto. O modelo lê inglês, polaco, alemão, francês, espanhol e lituano; todos os nomes e números dos exemplos são inventados.

98% vs 95%Dos dados pessoais em 60 mensagens escritas à mão, os encontrados; um LLM aberto 200 vezes maior encontrou 95%.
Nada sai do seu navegadorO texto é verificado nesta página. Para a sua equipa, funciona nos seus próprios servidores.
18 msPor mensagem num CPU comum. O LLM precisou de meio segundo por mensagem numa GPU.

Como funciona

DadosNenhum dado pessoal real. Um LLM aberto local escreveu 2 074 e-mails, mensagens de chat, notas de chamadas, contratos e formulários em seis línguas, com espaços onde ficam os dados. Os espaços são preenchidos com nomes, moradas e números inventados com dígitos de controlo válidos, cada texto doze vezes, pelo que cada palavra tem uma etiqueta exata.
ModeloAs primeiras 12 das 22 camadas do mmBERT-small, afinadas para marcar as palavras de nomes, moradas e datas de nascimento: 36 MB de pesos mais um vocabulário de 1.6 MB. As 60 mensagens de teste escritas à mão vêm do mesmo autor dos prompts dos textos de treino, por isso 98% é um limite superior.
RegrasOs números com formato fixo são encontrados por regras e mantidos apenas quando os dígitos de controlo batem certo: IBAN, cartões de pagamento, PESEL e os números de identificação nacionais da Alemanha, França, Espanha, Lituânia e Reino Unido, endereços de e-mail e números de telefone. Sozinhas encontram 39% dos dados; modelo e regras juntos, 98%.
Comparado com um LLMO Qwen 2.5 7B, a quem se pediu que listasse todos os dados pessoais, encontrou 95% e falhou sobretudo os nomes com que as mensagens são assinadas, com meio segundo por mensagem numa GPU. Um LLM alojado teria primeiro de receber o texto, e é precisamente essa fuga que isto pretende impedir.

Código, configurações e o benchmark completo: github.com/balticml/pii-redaction. Pesos: huggingface.co/balticml/mmbert-small-pii-redaction. Quer isto à frente das ferramentas de IA da sua equipa? Marcar uma chamada de 30 min