zn-gate (local)

Configuración

Variables de entorno, flags de línea de comandos y reglas personalizadas para zn-gate.

Ver .md

zn-gate funciona sin ninguna configuración. Todo lo que aparece a continuación es opcional.

Variables de entorno

Variable Valor por defecto Efecto
ZN_CLOUD off 1 permite que el análisis de prompts (analyze_prompt, zn-gate analyze, analyze() de Python) también consulte al modelo en la nube para obtener una segunda opinión. Requiere ZN_API_KEY.
ZN_API_KEY sin definir Clave de API del panel de control. Sin efecto si ZN_CLOUD=1 no está definido.
ZN_LOCAL_ONLY sin definir true fuerza el modo solo local, incluso con ZN_CLOUD=1.
ZN_STAGE v30 Endpoint de la nube: v30 (API de producción actual) o prod (endpoint heredado).
ZN_API_URL sin definir Sobrescribe la URL del endpoint de la nube. Tiene prioridad sobre ZN_STAGE.
ZN_VERBOSE sin definir Cualquier valor activa el registro de depuración en stderr.

npx -y zn-gate status muestra el motor activo y lo que envía tu configuración. Consulta Qué sale de tu equipo.

Activar la nube para un único servidor MCP

Añade las variables a la entrada de ese servidor en la configuración de tu agente, por ejemplo en ~/.cursor/mcp.json:

{
  "mcpServers": {
    "zn-gate": {
      "command": "npx",
      "args": ["-y", "zn-gate", "mcp"],
      "env": { "ZN_CLOUD": "1", "ZN_API_KEY": "zn_live_your_key" }
    }
  }
}

Flags de línea de comandos

Flag Efecto
--local-only No usar nunca la nube, aunque ZN_CLOUD=1 esté definido
--key <api_key> Clave de API para la nube opcional (igual que ZN_API_KEY; sigue necesitando ZN_CLOUD=1)
--stage v30 o --stage prod, --url <url> Selección del endpoint de la nube
--shadow Con init o shield: registra las detecciones sin bloquear ni alterar el tráfico
--all, --include .rst,.xml, --exclude fixtures Controlan qué archivos lee scan
--verbose Registro de depuración en stderr

Ejecuta npx -y zn-gate --help para ver todas las opciones.

Reglas personalizadas

En el paquete de Node.js, añade patrones prohibidos y rutas prohibidas para tu proyecto en .znrules o zn.config.json, en el directorio desde el que se ejecuta zn-gate:

# .znrules
path:.env.production
path:/etc/secrets
CONFIDENTIAL_INTERNAL_PROJECT_[A-Z0-9]+

Las líneas que empiezan por path: bloquean cualquier entrada que contenga esa ruta. Las demás líneas son expresiones regulares sin distinción de mayúsculas y minúsculas que bloquean cualquier entrada que coincida con ellas. Las líneas que empiezan por # son comentarios. La forma JSON:

{ "bannedPatterns": ["CONFIDENTIAL_INTERNAL_PROJECT_[A-Z0-9]+"], "forbiddenPaths": [".env.production", "/etc/secrets"] }

Los bloqueos causados por reglas personalizadas informan custom:banned_pattern o custom:forbidden_path. El paquete de Python no lee estos archivos.

Archivos que escribe zn-gate

Archivo Qué es
~/.zn/evidence.jsonl Registro de auditoría local de las decisiones de shield (detalles)
<config>.bak.<timestamp> Copia de seguridad de cada configuración de agente que modifica init; init --revert restaura la más reciente