PrivacyScrubber PII Masker

Sanitização de dados com confiança zero (ZTDS) para remoção local de PII e segredos em pipelines seguros de LLM.

Documentação

@privacyscrubber/mcp-server

NPM Version NPM Downloads License: MIT DOI OSF DOI SSRN smithery badge Cursor Directory Glama.ai Security: 100% Local Parity: 100% Core Match

Servidor MCP de Redação de PII e Segredos Aprovado pelo CISO, com Zero Trust, para Cursor, Windsurf e Claude Desktop. Remove localmente PII, segredos, credenciais e regras de regex personalizadas de arquivos e contextos de texto antes que cheguem a provedores de LLM remotos, prevenindo vazamentos de API e garantindo conformidade com HIPAA/SOC 2 no endpoint do desenvolvedor.


🔒 Fluxo de Dados Zero Trust

Todos os parâmetros, identificadores e variáveis sensíveis são interceptados localmente na RAM da sua máquina. Eles são substituídos por tokens (ex.: [EMAIL_1]) antes de serem enviados à IA. Quando a IA responde, os tokens são revertidos com segurança para os valores originais no seu contexto local.

[Raw Input / Files] ──> [MCP sanitize_text] ──> [Masked Tokens] ──> [LLM API]
                               │                                       │
                        (In-Memory Map)                             (Result)
                               │                                       │
[Original Output] <─── [MCP reveal_text] <─────────────────────────────┘

🚀 Instalação

1. Instalar via Smithery

Para configurar e executar automaticamente com seu cliente preferido, instale usando Smithery:

npx -y @smithery/cli install @privacyscrubber/mcp-server --write-to-clients

2. Execução Instantânea com NPX

Execute o servidor diretamente sem instalação local:

npx -y @privacyscrubber/mcp-server

⚙️ Integrações com Clientes

Claude Desktop

Adicione isto ao arquivo de configuração do Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "privacyscrubber": {
      "command": "npx",
      "args": ["-y", "@privacyscrubber/mcp-server"],
      "env": {
        "PRIVACYSCRUBBER_KEY": "YOUR_OPTIONAL_PRO_LICENSE_KEY"
      }
    }
  }
}

Cursor / Windsurf

  1. Navegue até Configurações -> Recursos -> MCP.
  2. Adicione um novo servidor MCP:
    • Nome: privacyscrubber
    • Tipo: command
    • Comando: npx -y @privacyscrubber/mcp-server
  3. Opcional: Defina PRIVACYSCRUBBER_KEY como uma variável de ambiente no shell do seu sistema.

🛠️ Ferramentas Fornecidas e Especificações JSON-RPC

1. sanitize_text

Redige PII, segredos, chaves de API e credenciais de um bloco de texto e preenche o mapeamento de substituição local volátil.

  • Argumentos:
    • text (string, obrigatório): O conteúdo bruto ou logs a serem sanitizados.
    • profile (string, opcional): Perfil de detecção por setor (ex.: 'General', 'Dev', 'Medical', 'Legal', 'Compliance'). O padrão é 'General'.
  • Exemplo de Chamada JSON-RPC:
    {
      "method": "tools/call",
      "params": {
        "name": "sanitize_text",
        "arguments": {
          "text": "Contact me at dev-key-1234 or jane.doe@company.com",
          "profile": "General"
        }
      }
    }
    
  • Exemplo de Resposta:
    {
      "content": [
        {
          "type": "text",
          "text": "Contact me at [SECRET_1] or [EMAIL_1]"
        }
      ]
    }
    

2. reveal_text

Desfaz a tokenização da resposta da IA, revertendo para os valores originais localmente.

  • Argumentos:
    • text (string, obrigatório): A resposta do LLM contendo placeholders tokenizados.
  • Exemplo de Chamada JSON-RPC:
    {
      "method": "tools/call",
      "params": {
        "name": "reveal_text",
        "arguments": {
          "text": "Please reach out to [EMAIL_1] regarding the update."
        }
      }
    }
    
  • Exemplo de Resposta:
    {
      "content": [
        {
          "type": "text",
          "text": "Please reach out to jane.doe@company.com regarding the update."
        }
      ]
    }
    

3. sanitize_file

Lê um arquivo local, extrai o texto, sanitiza e retorna o modelo redigido para análise pelo LLM.

  • Formatos Suportados: Texto simples (código-fonte, logs, CSV, JSON, markdown) e documentos Microsoft Word (.docx).
  • Argumentos:
    • filePath (string, obrigatório): Caminho absoluto do arquivo a ser lido e sanitizado.
    • profile (string, opcional): O perfil de detecção por setor.

🌐 Extensão de Navegador e Cliente Web

Procurando proteção em tempo real diretamente no seu navegador?

📄 Licença e Upgrade Comercial

Por padrão, o servidor opera no Plano Gratuito (limitado a 50.000 caracteres por solicitação e ao perfil básico de PII General). Para desbloquear perfis avançados de PII de engenharia, médicos, jurídicos e financeiros, bem como regras personalizadas para toda a equipe, você pode adquirir uma licença comercial.

Comparação de Recursos

RecursoPlano GratuitoPlano PROPlano TEAMS
Tokenização Volátil✅ Sim✅ Sim✅ Sim
Mascaramento Padrão de PII✅ Sim✅ Sim✅ Sim
Comprimento Máximo de Caracteres50.000 caracteres♾️ Ilimitado♾️ Ilimitado
Perfis por SetorSomente Geral22+ Perfis22+ Perfis
Regras de Regex Personalizadas❌ Bloqueado♾️ Ilimitado♾️ Ilimitado
Sincronização de Regras da Equipe (GPO)❌ Não❌ Não✅ Sim (Link Compartilhado)
Custo da Licença$0$110 Vitalício$99/mês Taxa Fixa

👉 Adquira uma Chave de Licença PRO / TEAMS em privacyscrubber.com/pricing


4. check_status

Retorna um painel visual mostrando seu nível atual, contagem de solicitações da sessão, perfis ativos e instruções de upgrade. Use a qualquer momento para verificar o status da sua licença ou obter ajuda de configuração.

  • Argumentos: (nenhum obrigatório)
  • Exemplo de Chamada JSON-RPC:
    {
      "method": "tools/call",
      "params": { "name": "check_status", "arguments": {} }
    }
    
  • Exemplo de Resposta (Plano Gratuito):
    ╔══════════════════════════════════════════════════╗
    ║       PrivacyScrubber MCP Server v1.6.6          ║
    ╠══════════════════════════════════════════════════╣
    ║  🔓 Tier: FREE                                   ║
    ║  📊 Session requests: 5                          ║
    ║  📁 Input size limit: 50,000 characters per request║
    ╠══════════════════════════════════════════════════╣
    ║  🏷️  Profiles: General only — PRO unlocks 22 more  ║
    ║  📋 Custom rules: 🔒 Locked — requires PRO       ║
    ╠══════════════════════════════════════════════════╣
    ║  💳 Upgrade to PRO — $110 Lifetime               ║
    ║     https://privacyscrubber.com/pricing?utm_source=npm&utm_medium=readme&utm_campaign=mcp_server          ║
    ╠══════════════════════════════════════════════════╣
    ║  After purchase, add your key to MCP config:     ║
    ║  "PRIVACYSCRUBBER_KEY": "<your-key-here>"        ║
    ║  Full setup guide:                               ║
    ║  https://privacyscrubber.com/features/mcp/?utm_source=npm&utm_medium=readme&utm_campaign=mcp_server       ║
    ╚══════════════════════════════════════════════════╝
    

🔐 Após a Compra: Ative o PRO no Seu Cliente MCP

Após adquirir uma licença PRO em privacyscrubber.com/pricing, você receberá uma chave de licença. Adicione-a à configuração do seu cliente MCP como uma variável de ambiente: PRIVACYSCRUBBER_KEY.

Claude Desktop

Edite ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "privacyscrubber": {
      "command": "npx",
      "args": ["-y", "@privacyscrubber/mcp-server"],
      "env": {
        "PRIVACYSCRUBBER_KEY": "YOUR_LICENSE_KEY_HERE"
      }
    }
  }
}

Reinicie o Claude Desktop após salvar.

Cursor

  1. Vá para Configurações → Recursos → Servidores MCP.
  2. Encontre privacyscrubber e clique em Editar.
  3. Adicione a variável de ambiente: PRIVACYSCRUBBER_KEY=YOUR_LICENSE_KEY_HERE.
  4. Reinicie o Cursor.

Alternativamente, exporte-a em todo o sistema para que todas as ferramentas a reconheçam:

# macOS / Linux — add to ~/.zshrc or ~/.bashrc
export PRIVACYSCRUBBER_KEY="YOUR_LICENSE_KEY_HERE"

Windsurf

Edite ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "privacyscrubber": {
      "command": "npx",
      "args": ["-y", "@privacyscrubber/mcp-server"],
      "env": {
        "PRIVACYSCRUBBER_KEY": "YOUR_LICENSE_KEY_HERE"
      }
    }
  }
}

Verificar Ativação

Após adicionar a chave, peça ao seu agente de IA para chamar check_status:

Use the check_status tool from PrivacyScrubber MCP

O painel deve mostrar Nível: PRO e todos os perfis desbloqueados.


📚 Fundamentos Acadêmicos e Verificação Regulatória

O PrivacyScrubber e o protocolo Zero-Trust Data Sanitization (ZTDS) são respaldados por tratados científicos, clínicos e jurídicos publicados:

Repositório / ArquivoDOI / IdentificadorÁrea de FocoEscopo Regulatório e de Conformidade
Zenodo / CERN10.5281/zenodo.22058770Fundação do Protocolo Zero-Trust Data Sanitization (ZTDS)Privacidade de IA Transfronteiriça, ISO 27001 A.8.11
OSF (Center for Open Science)10.17605/OSF.IO/5BYJFBenchmark Empírico de Latência e Perfil de Memória (<2ms RAM)Desempenho vs. Proxies de DLP em Nuvem
SSRN / ElsevierSSRN ID: 7335581Governança Empresarial de IA GenerativaEU AI Act, UK GDPR, Leis Estaduais de Privacidade dos EUA
medRxiv (Cold Spring Harbor)MEDRXIV/2026/361661Desidentificação em Ensaio Clínico MulticêntricoHIPAA Safe Harbor Seção 164.514(b)
Law Archive / OSFLawArchive ID: 4wc86Preservação do Privilégio Advogado-Cliente em Fluxos de Trabalho de IARegras Modelo ABA e Ética Jurídica

Citando o PrivacyScrubber em Pesquisas e Auditorias

@software{sibiryakov2026privacyscrubber,
  author = {Sibiryakov, Ilya},
  title = {PrivacyScrubber: Zero-Trust Data Sanitization (ZTDS) Engine & MCP Server},
  year = {2026},
  publisher = {Zenodo},
  doi = {10.5281/zenodo.22058770},
  url = {https://github.com/moxno/privacyscrubber-mcp}
}

📄 Licença

MIT © Ilya Sibiryakov (BrandMeWeb)