Open source · Proxy local para enmascarar secretos de agentes IA

Tu agente de IA lee tus secretos.

Cada prompt que envías lleva API keys, contraseñas y URLs de bases de datos directo a la nube. Veil enmascara esos secretos antes de que salgan de tu máquina.

  • Solo en 127.0.0.1
  • Sin relay en la nube
  • Apache-2.0

Capacidades

Los secretos nunca llegan al modelo en texto plano

Si usas Claude Code o Codex, tus variables de entorno, cadenas de conexión y API keys viajan a la nube en cada request. Así es como Veil lo resuelve.

Empezar
  • Secretos pegados en los prompts

    Los secretos se detectan automáticamente

    API keys, contraseñas, URLs de bases de datos, emails, direcciones IP — Veil los detecta y enmascara antes de que el request salga de localhost.

  • Secretos reutilizados entre turnos

    Mismo valor, mismo token seguro

    Veil asigna a cada secreto el mismo placeholder determinista, así el modelo puede razonar entre turnos sin ver nunca el valor real. Enmascaramiento reversible en local.

  • Requests con formato desconocido

    Los formatos desconocidos se bloquean

    Si Veil no reconoce el formato de un request, lo bloquea. Sin reenvíos silenciosos, sin fugas en texto plano.

  • Otro servicio más que mantener

    Es solo un proceso local

    Sin cuenta, sin dashboard, sin nube. Veil corre en 127.0.0.1 y solo reescribe el cuerpo del request y el response. Tus API keys pasan intactas.

Cobertura

Qué detecta y enmascara Veil

Veil detecta los datos sensibles que aparecen en prompts y tool calls reales, y reemplaza cada uno por un placeholder que preserva el formato antes de que el request salga de tu máquina.

  • Secretos
    API keys · tokens · contraseñas · DSN
  • Email
    [email protected]
  • Teléfono
    +1 555 123 4567
  • Direcciones IP
    192.168.1.1 · 2001:db8::1
  • Tarjetas de pago
    4111 1111 1111 1111
  • Números de cuenta
    IDs bancarios y financieros
  • URLs
    https://internal.corp/api
  • FechasOpcional
    Desactivado por defecto
  • Nombres y direccionesOpcional
    Detección semántica opcional

Por qué confiar en Veil

Nada sale de tu máquina sin enmascarar.

Los secretos se enmascaran antes de salir y se restauran en local cuando llega el response. Sin magia, sin nube, sin necesidad de confiar en nada más allá de localhost.

  • 100% local

    Veil escucha en 127.0.0.1. No hay relay en la nube, no hay servidor remoto, nada entre tú y tu proveedor excepto un proceso local.

  • Bloquea lo que no puede analizar

    Los formatos de request no reconocidos nunca se reenvían. Si Veil no está seguro, detiene el request.

  • Tus API keys siguen siendo tuyas

    Veil nunca almacena ni accede a las credenciales de tu proveedor. Solo reescribe el cuerpo del request y del response para enmascarar secretos.

  • Lee el código tú mismo

    Apache-2.0. Cada línea es auditable. Revisa el modelo de amenazas y los artefactos de cada release antes de confiar en él.

Modelo de seguridad

Garantías precisas, no promesas

Veil es pequeño, local y auditable. Esto es exactamente lo que hace, y lo que no.

Solo local

Se enlaza a 127.0.0.1. Sin relay, sin servidor remoto, y Veil no almacena ninguna de tus credenciales.

Fail-closed

Errores de parsing, violaciones de política o endpoints no soportados bloquean el request en lugar de reenviarlo en texto plano. Sin filtraciones silenciosas.

Tokenización determinista

El mismo secreto siempre genera el mismo placeholder dentro de una sesión, así el contexto multironda y el prompt caching sobreviven al enmascaramiento.

Reversible en local

El proveedor ve placeholders; tu terminal, tus archivos y tus tool calls recuperan los valores reales.

Cómo funciona

Apunta tu agente a un proxy local.

Sin dashboard, sin cuenta. Cambia el base URL en la configuración de tu agente para enrutarlo por localhost: tus herramientas y tu flujo de trabajo no cambian.

Instalar servicio
  1. Inicia Veil

    Un comando mantiene el proxy de localhost corriendo en segundo plano. Ese es tu nuevo límite de privacidad.

    $ veil service install
  2. Apunta tu agente

    Cambia la URL base en la configuración de Claude Code o Codex. No necesitas una terminal de proxy.

    $ ~/.claude/settings.json -> ANTHROPIC_BASE_URL=http://127.0.0.1:8787
  3. Sigue trabajando

    Nada más cambia. Tus credenciales, tu flujo de trabajo, tus herramientas — todo igual. Veil solo enmascara los secretos en tránsito.

Empezar

Instala una vez, sigue trabajando.

Para la mayoría de usuarios, npm es el camino más corto: instalar, arrancar el servicio y poner un base URL local en el agente.

Todos los releases
Instalador curlmacOS · Linux alternativo
sh
curl -fsSL https://veil.paiart.com/install.sh | sh
Homebrewtap PAIArtCom/veil
sh
brew install PAIArtCom/veil/veil
WindowsPowerShell — se añade al PATH
powershell
irm https://veil.paiart.com/install.ps1 | iex
Inicio simple

Instala, inicia, configura.

Sin checkout del código y sin terminal permanente. npm descarga el binario correcto y el servicio mantiene Veil corriendo.

  1. 01
    Instala Veil

    Usa npm salvo que necesites Homebrew o instaladores shell.

    npm i -g @paiart/veil
  2. 02
    Inicia el servicio

    Mantiene el proxy local en 127.0.0.1:8787.

    veil service install && veil status
  3. 03
    Configura el base URL

    Claude Code usa settings.json; Codex usa config.toml. Después sigues trabajando normal.

    http://127.0.0.1:8787
Configura tu agente

Claude Code

Ver guía →

Instala el servicio de Veil una vez, añade el base URL a ~/.claude/settings.json y lanza Claude Code.

bash
$ veil service install
# ~/.claude/settings.json
"ANTHROPIC_BASE_URL": "http://127.0.0.1:8787"

Codex CLI

Ver guía →

Inicia Veil con el upstream de OpenAI y apunta Codex hacia él.

bash
$ veil service install --force --upstream https://api.openai.com
# ~/.codex/config.toml
base_url = "http://127.0.0.1:8787/v1"

OpenRouter

Ver guía →

Pon el upstream de OpenRouter directamente en la ruta del base_url local. Veil lo separa localmente y solo reescribe campos soportados del request y response.

bash
$ veil service install
# ~/.codex/config.toml
model_provider = "veil-openrouter"
base_url = "http://127.0.0.1:8787/veil/upstream=https://openrouter.ai/api/v1"

Usa base_url http://127.0.0.1:8787/veil/upstream=https://openrouter.ai/api/v1. Codex añade /responses. Chat Completions no está soportado.

Más opciones (go install, compilar) →

Compatibilidad

Qué funciona hoy, qué viene después.

Veil es transparente con su cobertura. Si no puede enmascarar un formato de request, lo dice — o lo bloquea con fail-closed.

Funciona ahora (v0.1.2)

  • Claude Code (Anthropic Messages)
  • Codex CLI (OpenAI Responses)
  • OpenRouter vía Codex Responses
  • Integraciones con Go SDK
  • Campos de texto y tool-use en formatos soportados

Próximamente

  • Clientes Chat Completions
  • Gemini
  • OCR, adjuntos, parsing de documentos
  • Tráfico remoto de herramientas MCP

Preguntas frecuentes

Preguntas comunes

  • ¿Veil añade latencia?

    Corre en localhost y solo reescribe el cuerpo del request y del response, así que el overhead es un único salto local: insignificante comparado con el round-trip hasta tu proveedor.

  • ¿Cambia la salida del modelo?

    No. Los placeholders son deterministas y preservan el formato, así que el modelo razona sobre valores estables y bien formados. Veil restaura los valores reales en el response antes de que tus herramientas los vean.

  • ¿Veil ve mis API keys?

    Veil nunca almacena ni accede a las credenciales de tu proveedor. Solo reescribe el cuerpo del request y del response; tus API keys pasan intactas sin que Veil las lea.

  • ¿Puedo usar OpenRouter u otro gateway?

    Sí, si el cliente usa una forma de API soportada por Veil. Para OpenRouter, configura base_url como http://127.0.0.1:8787/veil/upstream=https://openrouter.ai/api/v1 y Codex con wire_api="responses". Codex añade /responses y Veil reenvía a /api/v1/responses en OpenRouter. No envíes Chat Completions por Veil todavía; los endpoints no soportados fallan cerrados.

  • ¿Qué agentes son compatibles?

    Claude Code (Anthropic Messages), Codex CLI (OpenAI Responses), OpenRouter vía Codex Responses e integraciones con Go SDK. Clientes Chat Completions, Gemini y más están en el roadmap.

  • ¿Cómo lo quito?

    Quita el base URL local de la configuración del agente y ejecuta veil service uninstall. No hay cuenta, relay en la nube ni proceso remoto.