Descargas

Instale Clavitor en su máquina.

La CLI otorga a sus agentes acceso con alcance limitado a su bóveda. El proxy inyecta credenciales en las solicitudes HTTPS de forma transparente. Ambos son binarios únicos sin dependencias.

Descargar

Clavitor CLI

Single binary. Fetch credentials, generate TOTP, store new secrets. Zero dependencies.

PlatformSizeSHA-256
Linux · amd641.7 MBb81465759ca1f82c…Download
Linux · arm641.3 MBd3cb5af3fd9c736c…Download
macOS · Intel1.4 MB97f82d5a3b060d38…Download
macOS · Apple Silicon1.2 MB23c9beac8fd4dfe0…Download
Windows · amd641.5 MB25d69ebd9e8cebcd…Download
Windows · 3861.2 MBa1873dc576cc479f…Download
FreeBSD · amd641.5 MB89750dcf6e59f8f1…Download

Clavitor Proxy

HTTPS proxy that injects credentials into agent requests. WASM crypto, no CGO, zero dependencies.

PlatformSizeSHA-256
Linux · amd642.6 MB10681c485f405342…Download
Linux · arm642.1 MB467b03d5dd006420…Download
macOS · Intel2.1 MB289d74cdf2e4ed5f…Download
macOS · Apple Silicon1.7 MB950baa470ce40ff3…Download
Windows · amd642.2 MB4d39567efd100a4b…Download
Windows · 3861.8 MBfa3cae1a442e140e…Download
FreeBSD · amd642.4 MBee870cc2c717bd7c…Download

Download SHA256SUMS · verify with sha256sum -c SHA256SUMS

Extensión de navegador

¿Prefiere rellenar credenciales en el navegador? La extensión Clavitor inserta contraseñas, passkeys, tarjetas y códigos de un solo uso en el campo que realmente los necesita, mientras su bóveda permanece remota, sin nada almacenado en caché ni descifrado en su máquina.

Disponible ahora para Chrome. Firefox y Safari próximamente.

Configurar un agente

Dos pasos. Menos de un minuto desde una instalación limpia de la CLI hasta una identidad de agente funcional.

1. Cree el agente en su bóveda

En la interfaz web de su bóveda, vaya a Agentes → Nuevo. Asigne un nombre al agente (por ejemplo, "Claude Code") y elija a qué entradas puede acceder. Clavitor devuelve un blob de inscripción y una clave de inscripción. El blob está sellado (codifica la dirección de la bóveda y la identidad del agente); la clave es el único secreto que lo abre. Trate la clave como una contraseña: entréguela directamente a la máquina donde se ejecuta el agente y, a continuación, deséchela.

2. Inicialice la CLI en la máquina del agente

$ clavitor-cli init <enrollment-blob>
Enrollment key:

La CLI solicita la clave (nunca se toma de la línea de comandos y no se muestra), descifra el blob en local y guarda el resultado como configuración local cifrada en ~/.config/clavitor/config (o $XDG_CONFIG_HOME/clavitor/config). No vuelve a necesitar el blob ni la clave. La sección siguiente muestra cómo el agente usa la CLI a partir de aquí.

Configurar el proxy

Para agentes que ya se comunican por HTTP/HTTPS: Claude Desktop, scripts personalizados, cualquier cosa que use requests o fetch. El proxy se sitúa entre el agente y la API de destino, resolviendo los marcadores de posición clavitor://Entry/field en el cable para que el agente nunca posea la credencial real. Consulte la página de arquitectura del proxy para conocer el modelo de amenazas y los detalles del protocolo.

El tutorial está escrito de forma conversacional para que un humano o un agente de IA pueda leerlo de principio a fin y ejecutarlo en una máquina real. Seleccione su sistema operativo a continuación; cada sección es un procedimiento autocontenido de seis pasos.

Antes de empezar: obtenga un blob de inscripción y una clave de inscripción de la bóveda

Necesita un blob de inscripción y su clave de inscripción de su bóveda. Esta es la única parte que solo puede hacer un humano — la bóveda exige un toque de hardware para autorizar un agente nuevo.

En la interfaz web de la bóveda, vaya a Agentes → Nuevo, asigne un nombre al agente (p. ej., "Proxy local"), elija a qué entradas puede acceder y toque su llave de seguridad cuando se le solicite. Clavitor devuelve un blob de inscripción y una clave de inscripción. Copie ambos. Los pasos de abajo le piden que pegue cada uno una vez y que después se olvide de ellos.

Linux

El tutorial a continuación utiliza bash y asume que está en x86-64; sustituya arm64 por amd64 si está en aarch64.

1. Descargue el binario del proxy y hágalo ejecutable. Un binario único y autocontenido, sin dependencias:

$ curl -LO https://clavitor.ai/downloads/clavitor-proxy-linux-amd64
$ chmod +x clavitor-proxy-linux-amd64

2. El binario está en el disco. Ahora vincúlelo a su bóveda. El proxy lee el blob y la clave desde stdin (nunca desde la línea de comandos, para que no se filtren al historial de la shell). Pegue cada uno desde "Antes de empezar" cuando se le solicite (la clave no se muestra) y, a continuación, confirme el host de la bóveda que le muestra:

$ ./clavitor-proxy-linux-amd64 init
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>

  This token enrolls the agent against vault:

      <vault-host>

  Your key authenticated the blob — NOT this host. If you did not get
  this blob from your own vault operator, answering yes hands your
  agent's credential resolution to whoever did.
  Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config /path/to/clavitor.conf
Try: clavitor-proxy ca > ca.pem   then   clavitor-proxy serve

Qué acaba de ocurrir: el blob se descifró en local con la clave (sin llamada de red), y la dirección de la bóveda + la identidad del agente + la clave de descifrado de credenciales se escribieron en un fichero cifrado, clavitor.conf, junto al binario (modo 0600). No vuelve a necesitar el blob ni la clave. Cuando la entrada se canaliza en lugar de teclearse, no se puede responder a la confirmación del host, así que establezca primero CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>.

3. Exporte la CA raíz del proxy. El proxy va a terminar cada conexión HTTPS que su agente realice y emitirá un certificado para cada host de destino sobre la marcha. Sin confiar en su CA raíz, esos certificados fallarían la verificación:

$ ./clavitor-proxy-linux-amd64 ca > clavitor-proxy-ca.pem

4. Instale la CA en el almacén de confianza del sistema. En Debian/Ubuntu y derivados:

$ sudo cp clavitor-proxy-ca.pem /usr/local/share/ca-certificates/clavitor-proxy-ca.crt
$ sudo update-ca-certificates

update-ca-certificates debería imprimir 1 added. A partir de aquí, cada cliente HTTPS en la máquina (curl, requests de Python, net/http de Go, etc.) acepta los certificados del proxy como legítimos.

5. Inicie el proxy. Se vincula a 127.0.0.1:1983 y se ejecuta en primer plano; Ctrl-C lo detiene:

$ ./clavitor-proxy-linux-amd64 serve
clavitor-proxy <version> listening on 127.0.0.1:1983
Point your agent at:  HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983
  Token redacted above; it is stored 0600 at /path/to/proxy-auth.
  e.g.  export HTTPS_PROXY="http://clavitor:$(cat /path/to/proxy-auth)@127.0.0.1:1983"

Para una configuración permanente, cree una unidad systemd que apunte al mismo binario para que se reinicie al arrancar; consulte la documentación del proxy para ver una unidad de referencia.

6. Apunte su agente al proxy y verifique de extremo a extremo. En otra shell, en la carpeta que contiene el binario (el fichero proxy-auth que hay ahí es el token de acceso del proxy; serve imprime esta línea):

$ export HTTPS_PROXY="http://clavitor:$(cat proxy-auth)@127.0.0.1:1983"
$ curl -H "Authorization: Bearer clavitor://OpenAI/key" https://api.openai.com/v1/models

Lo que realmente sale del proxy y llega a los servidores de OpenAI — la solicitud que su agente nunca ve:

GET /v1/models HTTP/1.1
Host: api.openai.com
Authorization: Bearer sk-proj-abc123def456ghi789…    ← real key, injected by the proxy
User-Agent: curl/8.4.0

Si recibe una respuesta JSON de OpenAI, todo está configurado correctamente. El proxy resolvió clavitor://OpenAI/key contra la bóveda utilizando la clave de descifrado de credenciales del paso 2, sustituyó la clave real en la cabecera Authorization y reenvió la solicitud al destino. El código de su agente solo contiene el marcador de posición; la clave real nunca sale de la memoria del proceso del proxy.

macOS

El tutorial a continuación utiliza zsh (el shell predeterminado en macOS) y asume Apple Silicon; sustituya amd64 por arm64 si está en un Mac Intel.

1. Descargue el binario del proxy y hágalo ejecutable. Un binario único y autocontenido, sin dependencias:

$ curl -LO https://clavitor.ai/downloads/clavitor-proxy-darwin-arm64
$ chmod +x clavitor-proxy-darwin-arm64

Si Gatekeeper de macOS se niega a ejecutar el binario la primera vez, haga clic derecho sobre él en Finder, seleccione Abrir y confirme; eso registra la excepción. Después de eso, la invocación desde la línea de comandos funciona.

2. El binario está en el disco. Ahora vincúlelo a su bóveda. El proxy lee el blob y la clave desde stdin (nunca desde la línea de comandos, para que no se filtren al historial de la shell). Pegue cada uno desde "Antes de empezar" cuando se le solicite (la clave no se muestra) y, a continuación, confirme el host de la bóveda que le muestra:

$ ./clavitor-proxy-darwin-arm64 init
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>

  This token enrolls the agent against vault:

      <vault-host>

  Your key authenticated the blob — NOT this host. If you did not get
  this blob from your own vault operator, answering yes hands your
  agent's credential resolution to whoever did.
  Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config /path/to/clavitor.conf
Try: clavitor-proxy ca > ca.pem   then   clavitor-proxy serve

Qué acaba de ocurrir: el blob se descifró en local con la clave (sin llamada de red), y la dirección de la bóveda + la identidad del agente + la clave de descifrado de credenciales se escribieron en un fichero cifrado, clavitor.conf, junto al binario (modo 0600). No vuelve a necesitar el blob ni la clave. Cuando la entrada se canaliza en lugar de teclearse, no se puede responder a la confirmación del host, así que establezca primero CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>.

3. Exporte la CA raíz del proxy. El proxy va a terminar cada conexión HTTPS que su agente realice y emitirá un certificado para cada host de destino sobre la marcha. Sin confiar en su CA raíz, esos certificados fallarían la verificación:

$ ./clavitor-proxy-darwin-arm64 ca > clavitor-proxy-ca.pem

4. Instale la CA en el llavero del sistema. Un comando, solicita su contraseña sudo:

$ sudo security add-trusted-cert -d -r trustRoot \
    -k /Library/Keychains/System.keychain clavitor-proxy-ca.pem

Después de esto, Safari, curl, Swift, Python, Go y la mayoría de los demás clientes HTTPS en la máquina aceptan los certificados del proxy. (Un pequeño número de entornos de ejecución de lenguajes envían su propio paquete de confianza y necesitan configuración por separado; verá un error de certificado si es así).

5. Inicie el proxy. Se vincula a 127.0.0.1:1983 y se ejecuta en primer plano; Ctrl-C lo detiene:

$ ./clavitor-proxy-darwin-arm64 serve
clavitor-proxy <version> listening on 127.0.0.1:1983
Point your agent at:  HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983
  Token redacted above; it is stored 0600 at /path/to/proxy-auth.
  e.g.  export HTTPS_PROXY="http://clavitor:$(cat /path/to/proxy-auth)@127.0.0.1:1983"

Para una configuración permanente, instálelo como un agente launchd para que se inicie al iniciar sesión y se reinicie en caso de fallo.

6. Apunte su agente al proxy y verifique de extremo a extremo. En otra shell, en la carpeta que contiene el binario (el fichero proxy-auth que hay ahí es el token de acceso del proxy; serve imprime esta línea):

$ export HTTPS_PROXY="http://clavitor:$(cat proxy-auth)@127.0.0.1:1983"
$ curl -H "Authorization: Bearer clavitor://OpenAI/key" https://api.openai.com/v1/models

Lo que realmente sale del proxy y llega a los servidores de OpenAI — la solicitud que su agente nunca ve:

GET /v1/models HTTP/1.1
Host: api.openai.com
Authorization: Bearer sk-proj-abc123def456ghi789…    ← real key, injected by the proxy
User-Agent: curl/8.4.0

Si recibe una respuesta JSON de OpenAI, todo está configurado correctamente. El proxy resolvió clavitor://OpenAI/key contra la bóveda utilizando la clave de descifrado de credenciales del paso 2, sustituyó la clave real en la cabecera Authorization y reenvió la solicitud al destino. El código de su agente solo contiene el marcador de posición; la clave real nunca sale de la memoria del proceso del proxy.

Windows

El tutorial a continuación utiliza PowerShell y asume Windows de 64 bits; sustituya windows-386.exe por windows-amd64.exe si está en 32 bits.

1. Descargue el binario del proxy. Un .exe único y autocontenido, sin dependencias:

> Invoke-WebRequest https://clavitor.ai/downloads/clavitor-proxy-windows-amd64.exe `
    -OutFile clavitor-proxy.exe

Windows SmartScreen puede mostrar una advertencia la primera vez que ejecute un binario sin firmar; haga clic en Más información → Ejecutar de todos modos para permitirlo.

2. El binario está en el disco. Ahora vincúlelo a su bóveda. El proxy lee el blob y la clave desde stdin (nunca desde la línea de comandos, para que no se filtren al historial de PowerShell). Pegue cada uno desde "Antes de empezar" cuando se le solicite (la clave no se muestra) y, a continuación, confirme el host de la bóveda que le muestra:

> .\clavitor-proxy.exe init
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>

  This token enrolls the agent against vault:

      <vault-host>

  Your key authenticated the blob — NOT this host. If you did not get
  this blob from your own vault operator, answering yes hands your
  agent's credential resolution to whoever did.
  Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config C:\path\to\clavitor.conf
Try: clavitor-proxy ca > ca.pem   then   clavitor-proxy serve

Qué acaba de ocurrir: el blob se descifró en local con la clave (sin llamada de red), y la dirección de la bóveda + la identidad del agente + la clave de descifrado de credenciales se escribieron en un fichero cifrado, clavitor.conf, junto al binario. No vuelve a necesitar el blob ni la clave. Cuando la entrada se canaliza en lugar de teclearse, no se puede responder a la confirmación del host, así que establezca primero CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>.

3. Exporte la CA raíz del proxy. El proxy va a terminar cada conexión HTTPS que su agente realice y emitirá un certificado para cada host de destino sobre la marcha. Sin confiar en su CA raíz, esos certificados fallarían la verificación:

> .\clavitor-proxy.exe ca > clavitor-proxy-ca.pem

4. Instale la CA en el almacén de raíces de confianza de la máquina local. Abra PowerShell con privilegios elevados (clic derecho en PowerShell → Ejecutar como administrador) y ejecute:

> certutil -addstore -f "ROOT" clavitor-proxy-ca.pem

Después de esto, Edge, .NET, curl.exe y la mayoría de los clientes HTTP en la máquina aceptan los certificados del proxy. (Firefox mantiene su propio almacén de confianza; si está probando a través de Firefox, importe la CA por separado en Configuración → Privacidad y seguridad → Certificados → Ver certificados → Autoridades → Importar.)

5. Inicie el proxy. Se vincula a 127.0.0.1:1983 y se ejecuta en primer plano; Ctrl-C lo detiene:

> .\clavitor-proxy.exe serve
clavitor-proxy <version> listening on 127.0.0.1:1983
Point your agent at:  HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983
  Token redacted above; it is stored 0600 at C:\path\to\proxy-auth.
  e.g.  export HTTPS_PROXY="http://clavitor:$(cat C:\path\to\proxy-auth)@127.0.0.1:1983"

Para una configuración permanente, regístrelo como un servicio de Windows o una tarea programada para que se inicie al arrancar.

6. Apunte su agente al proxy y verifique de extremo a extremo. En otra ventana de PowerShell, en la carpeta que contiene el binario (el fichero proxy-auth que hay ahí es el token de acceso del proxy):

> $env:HTTPS_PROXY = "http://clavitor:$(Get-Content proxy-auth)@127.0.0.1:1983"
> curl.exe -H "Authorization: Bearer clavitor://OpenAI/key" `
    https://api.openai.com/v1/models

(Use curl.exe explícitamente — el alias curl de PowerShell apunta a Invoke-WebRequest, que maneja la variable de entorno del proxy de manera diferente.) Lo que realmente sale del proxy y llega a los servidores de OpenAI — la solicitud que su agente nunca ve:

GET /v1/models HTTP/1.1
Host: api.openai.com
Authorization: Bearer sk-proj-abc123def456ghi789…    ← real key, injected by the proxy
User-Agent: curl/8.4.0

Si recibe una respuesta JSON de OpenAI, todo está configurado correctamente. El proxy resolvió clavitor://OpenAI/key contra la bóveda utilizando la clave de descifrado de credenciales del paso 2, sustituyó la clave real en la cabecera Authorization y reenvió la solicitud al destino. El código de su agente solo contiene el marcador de posición; la clave real nunca sale de la memoria del proceso del proxy.

Instalar la habilidad Claude Code

La CLI incluye una definición de habilidad integrada que enseña a Claude Code a usar su bóveda. Un comando la instala.

# Install globally (all projects)
$ clavitor-cli skill > ~/.claude/skills/clavitor.md

# Or install for a specific project
$ clavitor-cli skill > /path/to/project/.claude/skills/clavitor.md

La habilidad está incrustada en el binario. Actualícela descargando una nueva versión.

Úselo

Su agente ahora puede obtener credenciales, generar códigos TOTP y almacenar nuevos secretos. Cada acceso se registra en el registro de auditoría de la bóveda.

# Fetch a credential
$ clavitor-cli get github

# Generate a TOTP code
$ clavitor-cli totp github

# Store a new credential
$ clavitor-cli put credential "AWS Prod" --username admin --password s3cret

# List all entries
$ clavitor-cli list

Una llamada CLI. Cada secreto.

Su bóveda, sus alcances, su registro de auditoría. Sin variables de entorno, sin archivos de configuración, sin secretos en los registros.