Download

Ottenga Clavitor sulla Sua macchina.

La CLI offre ai Suoi agenti un accesso con ambito limitato alla Sua cassaforte. Il proxy inietta le credenziali nelle richieste HTTPS in modo trasparente. Entrambi sono binari singoli con zero dipendenze.

Scarica

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

Estensione browser

Preferisce compilare le credenziali nel browser? L'estensione Clavitor inserisce password, passkey, carte e codici monouso nel campo che li desidera realmente — mentre la Sua cassaforte rimane remota, senza nulla in cache o decifrato sulla Sua macchina.

Disponibile ora per Chrome. Firefox e Safari in arrivo.

Configura un agente

Due passaggi. Meno di un minuto da una nuova installazione CLI a un agente funzionante.

1. Crea l'agente nella Sua cassaforte

Nell'interfaccia web della Sua cassaforte, vada su Agenti → Nuovo. Assegni un nome all'agente (ad esempio, "Claude Code") e scelga a quali voci può accedere. Clavitor restituisce un blob di enrollment e una chiave di enrollment. Il blob è sigillato (codifica l'indirizzo della cassaforte e l'identità dell'agente); la chiave è l'unico segreto che lo apre. Tratti la chiave come una password: la consegni direttamente alla macchina su cui viene eseguito l'agente, poi la scarti.

2. Inizializza la CLI sulla macchina dell'agente

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

La CLI chiede la chiave (non viene mai letta dalla riga di comando e non viene visualizzata), decifra il blob in locale e salva il risultato come configurazione locale cifrata in ~/.config/clavitor/config (o $XDG_CONFIG_HOME/clavitor/config). Non Le servono più né il blob né la chiave. La sezione successiva mostra come l'agente usa la CLI da questo punto in poi.

Configura il proxy

Per gli agenti che già comunicano via HTTP/HTTPS — Claude Desktop, script personalizzati, qualsiasi cosa utilizzi requests o fetch. Il proxy si posiziona tra l'agente e l'API upstream, risolvendo i segnaposto clavitor://Entry/field sul filo in modo che l'agente non detenga mai la credenziale effettiva. Vedere la pagina sull'architettura del proxy per il modello di minaccia e i dettagli del protocollo.

Il tutorial è scritto in modo colloquiale in modo che un essere umano o un agente IA possa leggerlo dall'inizio alla fine ed eseguirlo su una macchina reale. Scelga il Suo sistema operativo qui sotto — ogni sezione è una procedura autonoma di sei passaggi.

Prima di iniziare: ottenga un blob di enrollment e la chiave di enrollment dalla cassaforte

Le serve un blob di enrollment e la relativa chiave di enrollment dalla Sua cassaforte. Questa è l'unica parte che solo una persona può fare — la cassaforte richiede un tocco hardware per autorizzare un nuovo agente.

Nell'interfaccia web della cassaforte, vada su Agenti → Nuovo, assegni un nome all'agente (ad es. "Local Proxy"), scelga a quali voci può accedere e tocchi la Sua chiave di sicurezza quando richiesto. Clavitor restituisce un blob di enrollment e una chiave di enrollment. Copi entrambi. I passaggi sotto Le chiedono di incollare ciascuno una volta sola e poi di dimenticarli.

Linux

Il tutorial seguente utilizza bash e presuppone che Lei sia su x86-64; sostituisca arm64 con amd64 se Lei è su aarch64.

1. Scarichi il binario del proxy e lo renda eseguibile. Un singolo binario autonomo, senza dipendenze:

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

2. Il binario è su disco. Ora lo vincoli alla Sua cassaforte. Il proxy legge il blob e la chiave da stdin (mai dalla riga di comando, così non finiscono nella cronologia della Sua shell). Incolli ciascuno da "Prima di iniziare" quando richiesto (la chiave non viene visualizzata), poi confermi l'host della cassaforte che Le viene mostrato:

$ ./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

Che cosa è appena successo: il blob è stato decifrato in locale con la chiave (nessuna chiamata di rete) e l'indirizzo della cassaforte + l'identità dell'agente + la chiave di decifratura delle credenziali sono stati scritti in un file cifrato, clavitor.conf, accanto al binario (modo 0600). Non Le servono più né il blob né la chiave. Quando l'input è in pipe invece che digitato, non si può rispondere alla conferma dell'host: imposti prima CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>.

3. Esporti la CA root del proxy. Il proxy terminerà ogni connessione HTTPS che il Suo agente effettua e riemetterà un certificato per ogni host upstream al volo. Senza fidarsi della Sua CA root, tali certificati fallirebbero la verifica:

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

4. Installi la CA nel trust store di sistema. Su Debian/Ubuntu e derivati:

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

update-ca-certificates dovrebbe stampare 1 added. Da qui in poi, ogni client HTTPS sulla macchina (curl, Python's requests, Go's net/http, ecc.) accetta i certificati del proxy come legittimi.

5. Avvii il proxy. Si collega a 127.0.0.1:1983 e viene eseguito in primo piano; Ctrl-C lo interrompe:

$ ./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"

Per una configurazione permanente, inserisca un'unità systemd che punti allo stesso binario in modo che si riavvii al riavvio — vedere la documentazione del proxy per un'unità di riferimento.

6. Punti l'agente al proxy e verifichi end-to-end. In un'altra shell, nella cartella che contiene il binario (il file proxy-auth in quella cartella è il token di accesso del proxy; serve stampa questa riga):

$ 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

Ciò che in realtà lascia il proxy e raggiunge i server di OpenAI — la richiesta che il Suo agente non vede mai:

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

Se riceve una risposta JSON da OpenAI, tutto è collegato. Il proxy ha risolto clavitor://OpenAI/key rispetto alla cassaforte utilizzando la chiave di decrittazione delle credenziali dal passaggio 2, ha sostituito la chiave reale nell'intestazione Authorization e ha inoltrato la richiesta upstream. Il codice del Suo agente contiene solo il segnaposto; la chiave reale non lascia mai la memoria del processo del proxy.

macOS

Il tutorial seguente utilizza zsh (la shell predefinita su macOS) e presuppone Apple Silicon; sostituisca amd64 con arm64 se Lei è su un Mac Intel.

1. Scarichi il binario del proxy e lo renda eseguibile. Un singolo binario autonomo, senza dipendenze:

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

Se Gatekeeper di macOS si rifiuta di eseguire il binario la prima volta, faccia clic destro su di esso in Finder, scelga Apri e confermi — ciò registra l'eccezione. Dopo di che l'invocazione dalla riga di comando funziona.

2. Il binario è su disco. Ora lo vincoli alla Sua cassaforte. Il proxy legge il blob e la chiave da stdin (mai dalla riga di comando, così non finiscono nella cronologia della Sua shell). Incolli ciascuno da "Prima di iniziare" quando richiesto (la chiave non viene visualizzata), poi confermi l'host della cassaforte che Le viene mostrato:

$ ./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

Che cosa è appena successo: il blob è stato decifrato in locale con la chiave (nessuna chiamata di rete) e l'indirizzo della cassaforte + l'identità dell'agente + la chiave di decifratura delle credenziali sono stati scritti in un file cifrato, clavitor.conf, accanto al binario (modo 0600). Non Le servono più né il blob né la chiave. Quando l'input è in pipe invece che digitato, non si può rispondere alla conferma dell'host: imposti prima CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>.

3. Esporti la CA root del proxy. Il proxy terminerà ogni connessione HTTPS che il Suo agente effettua e riemetterà un certificato per ogni host upstream al volo. Senza fidarsi della Sua CA root, tali certificati fallirebbero la verifica:

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

4. Installi la CA nel Portachiavi di Sistema. Un comando, chiede la Sua password sudo:

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

Dopo questo, Safari, curl, Swift, Python, Go e la maggior parte degli altri client HTTPS sulla macchina accettano i certificati del proxy. (Un piccolo numero di runtime di linguaggi include il proprio bundle di fiducia e necessita di configurazione separata — vedrà un errore di certificato in tal caso.)

5. Avvii il proxy. Si collega a 127.0.0.1:1983 e viene eseguito in primo piano; Ctrl-C lo interrompe:

$ ./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"

Per una configurazione permanente, lo installi come agente launchd in modo che si avvii al login e si riavvii in caso di crash.

6. Punti l'agente al proxy e verifichi end-to-end. In un'altra shell, nella cartella che contiene il binario (il file proxy-auth in quella cartella è il token di accesso del proxy; serve stampa questa riga):

$ 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

Ciò che in realtà lascia il proxy e raggiunge i server di OpenAI — la richiesta che il Suo agente non vede mai:

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

Se riceve una risposta JSON da OpenAI, tutto è collegato. Il proxy ha risolto clavitor://OpenAI/key rispetto alla cassaforte utilizzando la chiave di decrittazione delle credenziali dal passaggio 2, ha sostituito la chiave reale nell'intestazione Authorization e ha inoltrato la richiesta upstream. Il codice del Suo agente contiene solo il segnaposto; la chiave reale non lascia mai la memoria del processo del proxy.

Windows

Il tutorial seguente utilizza PowerShell e presuppone Windows a 64 bit; sostituisca windows-386.exe con windows-amd64.exe se Lei è su 32 bit.

1. Scarichi il binario del proxy. Un singolo .exe autonomo, senza dipendenze:

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

Windows SmartScreen potrebbe mostrare un avviso la prima volta che esegue un binario non firmato — fare clic su Ulteriori informazioni → Esegui comunque per consentirlo.

2. Il binario è su disco. Ora lo vincoli alla Sua cassaforte. Il proxy legge il blob e la chiave da stdin (mai dalla riga di comando, così non finiscono nella cronologia della Sua PowerShell). Incolli ciascuno da "Prima di iniziare" quando richiesto (la chiave non viene visualizzata), poi confermi l'host della cassaforte che Le viene mostrato:

> .\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

Che cosa è appena successo: il blob è stato decifrato in locale con la chiave (nessuna chiamata di rete) e l'indirizzo della cassaforte + l'identità dell'agente + la chiave di decifratura delle credenziali sono stati scritti in un file cifrato, clavitor.conf, accanto al binario. Non Le servono più né il blob né la chiave. Quando l'input è in pipe invece che digitato, non si può rispondere alla conferma dell'host: imposti prima CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>.

3. Esporti la CA root del proxy. Il proxy terminerà ogni connessione HTTPS che il Suo agente effettua e riemetterà un certificato per ogni host upstream al volo. Senza fidarsi della Sua CA root, tali certificati fallirebbero la verifica:

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

4. Installi la CA nello store delle Autorità di Certificazione Radice di Attendibilità della Macchina Locale. Apra una finestra di PowerShell elevata (fare clic destro su PowerShell → Esegui come amministratore) ed esegua:

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

Dopo questo, Edge, .NET, curl.exe e la maggior parte dei client HTTP sulla macchina accettano i certificati del proxy. (Firefox mantiene il proprio trust store; se sta testando tramite Firefox, importi la CA separatamente in Impostazioni → Privacy e sicurezza → Certificati → Visualizza certificati → Autorità → Importa.)

5. Avvii il proxy. Si collega a 127.0.0.1:1983 e viene eseguito in primo piano; Ctrl-C lo interrompe:

> .\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"

Per una configurazione permanente, registri il proxy come servizio Windows o attività pianificata in modo che si avvii all'avvio.

6. Punti l'agente al proxy e verifichi end-to-end. In un'altra finestra di PowerShell, nella cartella che contiene il binario (il file proxy-auth in quella cartella è il token di accesso 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

(Utilizzi curl.exe esplicitamente — l'alias curl di PowerShell punta a Invoke-WebRequest, che gestisce la variabile d'ambiente del proxy in modo diverso.) Ciò che in realtà lascia il proxy e raggiunge i server di OpenAI — la richiesta che il Suo agente non vede mai:

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

Se riceve una risposta JSON da OpenAI, tutto è collegato. Il proxy ha risolto clavitor://OpenAI/key rispetto alla cassaforte utilizzando la chiave di decrittazione delle credenziali dal passaggio 2, ha sostituito la chiave reale nell'intestazione Authorization e ha inoltrato la richiesta upstream. Il codice del Suo agente contiene solo il segnaposto; la chiave reale non lascia mai la memoria del processo del proxy.

Installa l'abilità Claude Code

La CLI include una definizione di abilità integrata che insegna a Claude Code come utilizzare la Sua cassaforte. Un comando la installa.

# 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

L'abilità è incorporata nel binario. La aggiorni scaricando una nuova versione.

Usala

Il Suo agente può ora recuperare credenziali, generare codici TOTP e archiviare nuovi segreti. Ogni accesso viene registrato nella traccia di audit della cassaforte.

# 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 chiamata CLI. Ogni segreto.

La Sua cassaforte, i Suoi ambiti, la Sua traccia di audit. Nessuna variabile d'ambiente, nessun file di configurazione, nessun segreto nei log.