PrivacyScrubber PII Masker

Sanitización de datos de confianza cero (ZTDS) para eliminar PII y secretos localmente en pipelines seguros de LLM.

Documentación

@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 Redacción de PII y Secretos Aprobado por CISO con Confianza Cero para Cursor, Windsurf y Claude Desktop. Elimina localmente PII, secretos, credenciales y reglas regex personalizadas de archivos y contextos de texto antes de que lleguen a proveedores de LLM remotos para prevenir fugas de API y garantizar el cumplimiento de HIPAA/SOC 2 en el endpoint del desarrollador.


🔒 Flujo de Datos de Confianza Cero

Todos los parámetros sensibles, identificadores y variables se interceptan localmente dentro de la RAM de tu máquina. Se reemplazan por tokens (p. ej. [EMAIL_1]) antes de enviarse a la IA. Una vez que la IA responde, los tokens se intercambian de forma segura de vuelta a los valores originales en tu contexto local.

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

🚀 Instalación

1. Instalar vía Smithery

Para configurar y ejecutar automáticamente con tu cliente preferido, instala usando Smithery:

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

2. Ejecución Instantánea con NPX

Ejecuta el servidor directamente sin instalación local:

npx -y @privacyscrubber/mcp-server

⚙️ Integraciones con Clientes

Claude Desktop

Añade esto a tu archivo de configuración de 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. Navega a Configuración -> Funciones -> MCP.
  2. Añade un nuevo servidor MCP:
    • Nombre: privacyscrubber
    • Tipo: command
    • Comando: npx -y @privacyscrubber/mcp-server
  3. Opcional: Establece PRIVACYSCRUBBER_KEY como variable de entorno en tu shell del sistema.

🛠️ Herramientas Proporcionadas y Especificaciones JSON-RPC

1. sanitize_text

Redacta PII, secretos, claves API y credenciales de un bloque de texto y rellena el mapeo de reemplazo local volátil.

  • Argumentos:
    • text (cadena, obligatorio): El contenido o registros sin procesar a sanitizar.
    • profile (cadena, opcional): Perfil de detección de industria restringido (p. ej., 'General', 'Dev', 'Medical', 'Legal', 'Compliance'). El valor predeterminado es 'General'.
  • Ejemplo de Llamada JSON-RPC:
    {
      "method": "tools/call",
      "params": {
        "name": "sanitize_text",
        "arguments": {
          "text": "Contact me at dev-key-1234 or jane.doe@company.com",
          "profile": "General"
        }
      }
    }
    
  • Ejemplo de Respuesta:
    {
      "content": [
        {
          "type": "text",
          "text": "Contact me at [SECRET_1] or [EMAIL_1]"
        }
      ]
    }
    

2. reveal_text

Des-tokeniza la respuesta de la IA de vuelta a los valores originales localmente.

  • Argumentos:
    • text (cadena, obligatorio): La respuesta del LLM que contiene marcadores de posición tokenizados.
  • Ejemplo de Llamada JSON-RPC:
    {
      "method": "tools/call",
      "params": {
        "name": "reveal_text",
        "arguments": {
          "text": "Please reach out to [EMAIL_1] regarding the update."
        }
      }
    }
    
  • Ejemplo de Respuesta:
    {
      "content": [
        {
          "type": "text",
          "text": "Please reach out to jane.doe@company.com regarding the update."
        }
      ]
    }
    

3. sanitize_file

Lee un archivo local, extrae texto, lo sanitiza y devuelve la plantilla redactada para el análisis del LLM.

  • Formatos Soportados: Texto plano (código fuente, registros, CSV, JSON, markdown) y documentos de Microsoft Word (.docx).
  • Argumentos:
    • filePath (cadena, obligatorio): Ruta absoluta del archivo a leer y sanitizar.
    • profile (cadena, opcional): El perfil de detección de industria.

🌐 Extensión de Navegador y Cliente Web

¿Buscas protección en tiempo real directamente dentro de tu navegador web?

📄 Licencia y Actualización Comercial

Por defecto, el servidor se ejecuta bajo el Nivel Gratuito (restringido a 50,000 caracteres por solicitud y el perfil básico de PII General). Para desbloquear perfiles avanzados de PII de ingeniería, médicos, legales y financieros, así como reglas personalizadas para todo el equipo, puedes comprar una licencia comercial.

Comparación de Funciones

FunciónNivel GratuitoNivel PRONivel TEAMS
Tokenización Volátil✅ Sí✅ Sí✅ Sí
Enmascaramiento de PII Estándar✅ Sí✅ Sí✅ Sí
Longitud Máxima de Caracteres50,000 caracteres♾️ Ilimitado♾️ Ilimitado
Perfiles de IndustriaSolo General22+ Perfiles22+ Perfiles
Reglas Regex Personalizadas❌ Bloqueadas♾️ Ilimitadas♾️ Ilimitadas
Sincronización de Reglas de Equipo (GPO)❌ No❌ No✅ Sí (Enlace Compartido)
Costo de Licencia$0$110 de por vida$99/mes Tarifa Plana

👉 Adquiere una Clave de Licencia PRO / TEAMS en privacyscrubber.com/pricing


4. check_status

Devuelve un panel visual que muestra tu nivel actual, el número de solicitudes de sesión, los perfiles activos y las instrucciones de actualización. Úsalo en cualquier momento para verificar el estado de tu licencia u obtener ayuda con la configuración.

  • Argumentos: (ninguno requerido)
  • Ejemplo de Llamada JSON-RPC:
    {
      "method": "tools/call",
      "params": { "name": "check_status", "arguments": {} }
    }
    
  • Ejemplo de Respuesta (Nivel 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       ║
    ╚══════════════════════════════════════════════════╝
    

🔐 Después de la Compra: Activa PRO en Tu Cliente MCP

Después de comprar una licencia PRO en privacyscrubber.com/pricing, recibirás una clave de licencia. Añádela a la configuración de tu cliente MCP como variable de entorno: PRIVACYSCRUBBER_KEY.

Claude Desktop

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

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

Reinicia Claude Desktop después de guardar.

Cursor

  1. Ve a Configuración → Funciones → Servidores MCP.
  2. Encuentra privacyscrubber y haz clic en Editar.
  3. Añade la variable de entorno: PRIVACYSCRUBBER_KEY=YOUR_LICENSE_KEY_HERE.
  4. Reinicia Cursor.

Alternativamente, expórtala a nivel de sistema para que todas las herramientas la recojan:

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

Windsurf

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

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

Verificar Activación

Después de añadir la clave, pide a tu agente de IA que llame a check_status:

Use the check_status tool from PrivacyScrubber MCP

El panel debería mostrar Nivel: PRO y todos los perfiles desbloqueados.


📚 Fundamentos Académicos y Verificación Regulatoria

PrivacyScrubber y el protocolo de Sanitización de Datos de Confianza Cero (ZTDS) están respaldados por tratados científicos, clínicos y legales publicados:

Repositorio / ArchivoDOI / IdentificadorÁrea de EnfoqueAlcance Regulatorio y de Cumplimiento
Zenodo / CERN10.5281/zenodo.22058770Fundación del Protocolo de Sanitización de Datos de Confianza Cero (ZTDS)Privacidad de IA Transfronteriza, ISO 27001 A.8.11
OSF (Centro para la Ciencia Abierta)10.17605/OSF.IO/5BYJFBenchmark Empírico de Latencia y Perfilado de Memoria (<2ms RAM)Rendimiento vs. Proxies DLP en la Nube
SSRN / ElsevierSSRN ID: 7335581Gobernanza Empresarial de IA GenerativaLey de IA de la UE, RGPD del Reino Unido, Privacidad Estatal de EE. UU.
medRxiv (Cold Spring Harbor)MEDRXIV/2026/361661Desidentificación de Ensayos Clínicos MulticéntricosPuerto Seguro HIPAA Sección 164.514(b)
Law Archive / OSFLawArchive ID: 4wc86Preservación del Privilegio Abogado-Cliente en Flujos de Trabajo de IAReglas Modelo ABA y Ética Legal

Citar PrivacyScrubber en Investigación y Auditorías

@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}
}

📄 Licencia

MIT © Ilya Sibiryakov (BrandMeWeb)