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
    user@example.com
  • 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 una variable de entorno para enrutar tu agente por localhost: tus herramientas y tu flujo de trabajo no cambian.

Ejecutar el proxy
  1. Inicia Veil

    Un comando levanta el proxy en localhost. Ese es tu nuevo límite de privacidad.

    $ veil proxy --addr 127.0.0.1:8788
  2. Apunta tu agente

    Cambia la URL base de Claude Code o Codex. Una variable de entorno.

    $ export ANTHROPIC_BASE_URL=http://127.0.0.1:8788
  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 y ejecuta con un comando.

Elige tu plataforma — el binario llega en segundos. Luego apunta tu agente al proxy.

Todos los releases
macOS y Linuxcurl — sin dependencias
sh
curl -fsSL https://veil.sh/install.sh | sh
npmmacOS · Linux · Windows
sh
npm install -g @paiartcom/veil
Homebrewtap PAIArtCom/veil
sh
brew install PAIArtCom/veil/veil
WindowsPowerShell — se añade al PATH
powershell
irm https://veil.sh/install.ps1 | iex
Configura tu agente

Claude Code

Ver guía →

Inicia Veil, exporta una variable, lanza Claude Code.

bash
$ veil proxy --addr 127.0.0.1:8788 &
$ export ANTHROPIC_BASE_URL=http://127.0.0.1:8788
$ claude

Codex CLI

Ver guía →

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

bash
$ veil proxy --addr 127.0.0.1:8788 --upstream https://api.openai.com
# ~/.codex/config.toml
model_provider = "veil"

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.0)

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

Próximamente

  • OpenAI 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.

  • ¿Qué agentes son compatibles?

    En la v0.1.0: Claude Code (proxy Anthropic Messages) y Codex CLI (proxy OpenAI Responses), más integraciones con el Go SDK. OpenAI Chat Completions, Gemini y más están en el roadmap.

  • ¿Cómo lo quito?

    Quita la variable de entorno. Veil es solo un proceso local: no hay cuenta, daemon ni background agent que desinstalar.