Medido a 2026-05-27 · promptShield 1.0.14 · Presidio 2.2.362
promptShield vs Microsoft Presidio
Comparação direta em 14 documentos PDF em 7 línguas. A mesma extração de texto, os mesmos documentos, sem afinações assimétricas. Script e CSV em bruto publicados — verifique você mesmo.
Em resumo
Presidio (instalação por omissão)
666
deteções emitidas · nível de ruído elevado
promptShield 1.0.14
252
deteções emitidas · mesmo corpus · ruído filtrado
Em documentos contratuais (onde os dados são PII reais), o promptShield emite as mesmas 209 deteções de alto sinal que o Presidio. A diferença de 414 deteções está nos relatórios financeiros, onde os resultados em bruto têm 30 a 70% de ruído (nomes de firmas de auditoria, sedes sociais, menções a países por motivos jurisdicionais).
Comparação de funcionalidades
| Funcionalidade | promptShield | Presidio |
|---|---|---|
Reconhecedor regex multilíngue (mais de 60 tipos) Presidio: EN por omissão | ◦ | |
Modelo de entidades multilíngue (Davlan) Presidio: requer reconhecedor de entidades HuggingFace personalizado | ◦ | |
Camada LLM opcional para PII contextual | ||
Validação por soma de controlo US NPI / ABA / DEA Presidio: NPI e MBI incluídos, ABA/DEA parciais | ◦ | |
Validação por soma de controlo AU TFN / ABN / ACN / Medicare | ||
Validação por soma de controlo BR CPF / CNPJ | ||
Validação por soma de controlo CH AHV | ||
Validação por soma de controlo MX CLABE | ||
Validação NL BSN / RSIN | ||
Validação do NIR francês (segurança social) | ||
Filtro de boilerplate jurisdicional «regido pelas leis de X» → X não assinalado | ||
Coalescência de deteções PERSON dentro da página «Pierre Dubois» mantido, «Pierre» isolado descartado | ||
Filtro de ORG de departamentos genéricos | ||
Filtro de PERSON de títulos de cargo | ||
Aplicação desktop acabada com GUI de revisão | ||
Tokenização reversível (codificar / decodificar) Presidio: camada de anonimização separada | ◦ | |
100% offline (sem dependência da cloud) | ||
Reconhecedores personalizados via API | ||
Biblioteca Python para integração personalizada | ||
Integração com Azure AI Language |
✓ = incluído por omissão · ◦ = disponível através de configuração personalizada · ✗ = ausente
Categorias de ruído que o Presidio (instalação por omissão) emite e que o promptShield suprime
URLs nos rodapés de contratos
Ligação à política de privacidade, URL da página de apoio, contacto legal genérico. ~8 a 10 deteções por contrato, praticamente nenhuma das quais é PII que o revisor queira ocultar.
UrlRecognizerMenções isoladas a países / cidades em prosa jurisdicional
«regido pelas leis de França», «sede social em Paris», «empresa constituída na Alemanha». Num relatório financeiro francês, o Presidio emite 73 deteções LOCATION; quase todas são ornamento contratual.
filter_jurisdiction_boilerplate + filter_standalone_countryFragmentos de PERSON
O mesmo nome surge como três deteções separadas: «Pierre», «Dubois», «Pierre Dubois». Num contrato italiano, o Presidio emite 26 deteções PERSON: os mesmos nomes repetidos e fragmentados em nome próprio, apelido e nome completo.
filter_span_coalescenceNomes genéricos de departamentos rotulados como ORG
«Marketing», «Vorstand», «Direction Générale», «Board of Directors», «Comitato di Direzione». Não são organizações que o revisor queira ocultar.
filter_generic_org (lista de exclusão de 90 entradas × 7 línguas)Títulos de cargo rotulados como PERSON
«CEO», «Directeur», «Geschäftsführer» com maiúscula no início de linha, por vezes mal rotulados como PERSON pelo modelo de entidades.
filter_role_titlesQuando escolher antes o Presidio
O Presidio é a escolha certa quando:
- Está a construir um pipeline DLP personalizado em Python e quer controlo ao nível da biblioteca.
- Precisa de integrar serviços na cloud (Azure AI Language, AWS Comprehend) sob uma única abstração de PII.
- Quer afinar os seus próprios reconhecedores para tipos de entidades proprietárias.
- Está a processar fluxos de texto contínuos (não documentos delimitados) e precisa de uma biblioteca em formato de serviço.
Tanto o Presidio (da Microsoft) como o promptShield são projetos de espírito MIT. Use a ferramenta certa para cada tarefa.
Quando escolher o promptShield
- Está a anonimizar documentos PDF/DOCX/XLSX delimitados no ambiente de trabalho.
- Precisa de somas de controlo específicas por país prontas a usar (TFN, CPF, NPI, IBAN, etc.) sem ter de as escrever você mesmo.
- Quer um fluxo de trabalho gráfico acabado (rever, ocultar, tokenizar, exportar) em vez de uma biblioteca para integrar.
- Os seus clientes não podem enviar documentos para um serviço na cloud por motivos de conformidade.
Reproduza você mesmo
Todos os números desta página vêm do script publicado no repositório público. Nenhum número provém de uma execução interna não verificável.
git clone https://github.com/promptshield-Inc/pii-detection-benchmarks
cd pii-detection-benchmarks
pip install -r requirements.txt
python benchmark.pyResultados: results/presidio_counts_<date>.csv + results/presidio_entities_<date>.csv. O script do Presidio é totalmente autónomo — não precisa de ter o promptShield instalado para verificar o lado do Presidio.
Ressalvas honestas
- Apenas instalação por omissão. Uma instalação do Presidio afinada (reconhecedores personalizados + backend de entidades transformer + limiares de confiança ajustados) reduziria a maior parte da diferença de precisão. Medimos o que a maioria dos utilizadores do Presidio implementa no primeiro mês.
- Corpus sintético. Documentos reais de clientes têm um ruído mais rico (erros de OCR, originais digitalizados, esquemas multicoluna) que aqui não medimos.
- Sem rótulos de verdade terreno. Os números «ambos / só nossos / só Presidio» são um indicador aproximado de precisão, não uma medição estrita de F1. Rotular à mão 14 PDF em 7 línguas representa cerca de 40 horas de trabalho; ainda não o fizemos.
- Duas classes de documentos. Contratos + relatórios financeiros. Registos médicos, formulários de RH e papelada de imigração produziriam diferenças distintas.