ScrubVault

Proxy de isolamento (airgap) de PII em memória, sem dependências, e mascaramento reversível para LLMs em nuvem (em conformidade com o Art. 32 do GDPR).

Documentação

🛡️ ScrubVault: Mecanismo de Isolamento de IA com Zero Vazamento de Dados e Mascaramento Reversível de PII

PyPI version License: Apache 2.0 Glama Score M8ven Score Zero Dependencies Raptor Guard Certified GDPR Art. 32

Envie dados sensíveis para LLMs em nuvem (ChatGPT, Claude, Gemini) sem nunca vazar PII confidencial.

pip install scrub-vault

ScrubVault é um proxy de privacidade leve, sem dependências, em memória, e um servidor Model Context Protocol (MCP). Ele intercepta prompts, substitui informações pessoais identificáveis (e-mails, IBANs, endereços IP, cartões de crédito, IDs fiscais) por tokens locais determinísticos ({{EMAIL_1}}, {{IBAN_1}}) e restaura os valores originais quando a IA responde.


🚀 A Arquitetura

                   +----------------------------------+
                   |  Your Prompt (Confidential PII)  |
                   +----------------------------------+
                                     │
                                     ▼
                      ┌─────────────────────────────┐
                      │    ScrubVault (Local RAM)   │
                      │  - Scans & Masks Sensitive  │
                      │  - Stores Mapping in Memory │
                      └─────────────────────────────┘
                                     │
                                     ▼ (Masked Prompt: "{{EMAIL_1}}, {{IBAN_1}}")
                      ┌─────────────────────────────┐
                      │    Public Cloud LLM API     │
                      │   (OpenAI / Anthropic / ...) │
                      │   *Zero PII is transmitted* │
                      └─────────────────────────────┘
                                     │
                                     ▼ (Response with tokens)
                      ┌─────────────────────────────┐
                      │    ScrubVault (Local RAM)   │
                      │  - Deterministic Unmasking  │
                      └─────────────────────────────┘
                                     │
                                     ▼
                   +----------------------------------+
                   |  End-User Result (Restored PII)  |
                   +----------------------------------+

⚡ Início Rápido

1. SDK Python (Zero Dependências)

from src.core.vault import ScrubVault

vault = ScrubVault()

# 1. Mask sensitive input
input_text = "Order for client Max, email: max@corp.de, IBAN: DE89370400440532013000"
result = vault.mask(input_text)

print(result.masked_text)
# Output: "Order for client Max, email: {{EMAIL_1}}, IBAN: {{IBAN_1}}"

# 2. Transmit result.masked_text to your LLM of choice...
ai_response = "Received confirmation for {{EMAIL_1}} on account {{IBAN_1}}."

# 3. Unmask locally
clean_response = vault.unmask(ai_response, result.token_map)
print(clean_response)
# Output: "Received confirmation for max@corp.de on account DE89370400440532013000."

2. CLI Autônomo

# Calculate GDPR Art. 32 Risk Score
python -m src.cli.main audit "Contract with Herr Schmidt, IBAN: DE89370400440532013000"

# Mask a dataset file directly
python -m src.cli.main scrub-dataset input.json output_clean.json

🤖 Integração com Model Context Protocol (MCP)

ScrubVault inclui um servidor nativo stdio Model Context Protocol (MCP). Adicione-o à sua configuração do claude_desktop_config.json ou Antigravity:

{
  "mcpServers": {
    "scrub_vault": {
      "command": "python",
      "args": ["-m", "src.mcp.server"],
      "cwd": "/path/to/scrub_vault"
    }
  }
}

Instalação em 1 Clique via Smithery (Claude Desktop, Cursor):

npx -y @smithery/cli install @tastenkasperle/scrub-vault --client claude

Ferramentas MCP Disponíveis:

  • scrub_mask_text: Mascara PII em texto de entrada e retorna um mapa de tokens reversível.
  • scrub_unmask_text: Substitui tokens pelos valores originais.
  • scrub_audit_risk: Calcula pontuações de risco e detalhamentos de detecção.
  • scrub_anonymize_json: Limpa estruturas JSON recursivamente.

🛡️ Padrão de Segurança e Código Limpo

  • Biblioteca Padrão Python Pura: Zero dependências de terceiros (re, json, sys, typing).
  • Cofre em Memória: Mapas de tokens residem exclusivamente em RAM volátil e nunca são gravados em disco.
  • Endurecido contra ReDoS: Padrões de regex são estritamente limitados contra ataques de complexidade algorítmica.
  • Auditoria Aprovada: Testado e verificado pelo SAST Raptor Guard (0 Crítico, 0 Alto, 0 Médio).

📄 Licença

Apache License 2.0. Pesquisa e engenharia de código aberto pela Diamantenschmiede.