Utvecklare
Ett CLI-anrop. Alla hemligheter.
Inga miljövariabler. Inga konfigurationsfiler. Inga hemligheter i loggar. Alla hemligheter din kod behöver, lösta vid körning från ett valv som din agent inte kan kringgå.
Mönstret
Spara en gång. Hämta var som helst.
Varje agent initieras en gång med sin egen token, sina avgränsningar och sina hastighetsbegränsningar. Därefter kan agenten hämta hemligheter vid körning. Nyckeln lagras krypterad i valvet, aldrig i miljövariabler eller källkod. Om nyckeln roteras, uppdatera den i valvets UI — varje agent hämtar den automatiskt.
# One-time setup — paste the token at the prompt, or pipe it in $ echo "$CLAVITOR_TOKEN" | clavitor-cli init # Single value — piped, never stored $ clavitor-cli get "Deploy Key" --field private_key | ssh-add - # Whole config — secrets resolved, template safe to store anywhere $ clavitor-cli render app.config.json | myapp --config - # Proxy — credentials injected at the network layer $ export HTTPS_PROXY=http://localhost:1983 $ curl -H "Authorization: Bearer clavitor://OpenRouter/key" https://openrouter.ai/api/v1/models
Tre sätt att använda det
Fält, Rendera eller Proxy.
Fält
Ett värde. Skicka det till valfritt kommando eller skript. Hemligheten finns bara i pipen — aldrig i en variabel, aldrig på disk.
Rendera
Hela konfigurationsfilen. Lös alla clavitor://-referenser vid start. Mallen är säker att committa. Den lösta konfigurationen lever i en pip.
Proxy
HTTPS-proxy. Inloggningsuppgifter lösta från rubriker transparent. Agenten skriver clavitor:// där hemligheten ska gå — proxyn injicerar det verkliga värdet. Inget i loggar, inget i agentens minne.
Vilken ska jag använda?
| Funktion | Field | Render | Proxy |
|---|---|---|---|
| Hemligheter ur loggar | |||
| Fungerar med alla språk | |||
| Fungerar med alla verktyg (curl, SDK, webbläsare) | |||
| Avgränsad åtkomst och granskning per agent | |||
| Flera hemligheter samtidigt | |||
| Inga kodändringar behövs | |||
| Konfigurationsfiler säkra att committa | |||
| SSH / icke-HTTP-användningsfall |
Snabbt val: Bygger du ett skript eller CLI-verktyg? Använd Fält. Driftsätter du en tjänst med en konfigurationsfil? Använd Rendera. Kör du AI-agenter som gör API-anrop? Använd Proxy.
Varför detta slår alla andra credential-proxies.
Inget att stjäla. Molnbaserade proxies är högvärdiga mål — bryt en och du får varje kunds inloggningsuppgifter. Lokala proxies lagrar inloggningsuppgifter i sin egen konfiguration, läsbar av alla agenter på maskinen. Clavitors proxy innehåller bara en krypterad konfigurationsfil. Inga hemligheter i klartext på disk, inget inloggningsuppgiftsförråd att plundra.
Agenter kan inte öppna den. En komprometterad agent kan inte extrahera inloggningsuppgifter från proxyn — proxyn exponerar inget API, serverar ingen instrumentpanel eller accepterar kommandon. Den läser en rubrik, löser en referens och injicerar resultatet i den utgående begäran. Ingen attackyta.
Inget i loggar. Agenten skriver clavitor://Entry/field. Det är vad som visas i stdout, i loggar, i konversationshistorik. Den verkliga inloggningsuppgiften finns bara inuti proxyprocessen under ett HTTP-anrops varaktighet. Loggaggregatorer, kraschdumpar, CI-artefakter — rena.
Noll konfiguration. Inga routingtabeller, inga API-mappningar, inga inloggningsuppgiftsfiler att hantera. clavitor://-referensen i rubriken är den enda instruktionen. En init, en miljövariabel, klart.
Språk
Fungerar i alla språk. Ingen SDK krävs.
Bash
# The proxy handles credential injection — no secrets in the command $ export HTTPS_PROXY=http://localhost:1983 $ curl -H "Authorization: Bearer clavitor://OpenRouter API/key" \ https://openrouter.ai/api/v1/models
Go
key, _ := exec.Command("clavitor-cli", "get", "OpenRouter API", "--field", "key").Output()
client := openai.NewClient(option.WithAPIKey(strings.TrimSpace(string(key))))Python
import subprocess
# Pass directly — or use the HTTPS proxy to avoid holding the key entirely
stripe.api_key = subprocess.check_output(
["clavitor-cli", "get", "Stripe API", "--field", "key"]
).decode().strip()Rust
let key = std::process::Command::new("clavitor-cli")
.args(["get", "AWS Credentials", "--field", "secret_key"])
.output()?;
let client = aws::Client::new(String::from_utf8(key.stdout)?.trim());TypeScript / Node
import { execSync } from 'child_process';
const apiKey = execSync('clavitor-cli get "Anthropic API" --field key').toString().trim();
const client = new Anthropic({ apiKey });C# / .NET
using System.Diagnostics;
var psi = new ProcessStartInfo("clavitor-cli") { RedirectStandardOutput = true, UseShellExecute = false };
psi.ArgumentList.Add("get");
psi.ArgumentList.Add("Stripe API");
psi.ArgumentList.Add("--field");
psi.ArgumentList.Add("key");
var key = Process.Start(psi)!.StandardOutput.ReadToEnd().Trim();
var client = new StripeClient(key);PowerShell
# Single value — pipe or use directly
$key = clavitor-cli get "AWS Credentials" --field secret_key
Set-AWSCredential -AccessKey $env:AWS_ACCESS_KEY -SecretKey $key
# Or use the proxy — no secrets in the script at all
$env:HTTPS_PROXY = "http://localhost:1983"
Invoke-RestMethod -Uri "https://api.openai.com/v1/models" `
-Headers @{ Authorization = "Bearer clavitor://OpenAI/key" }Java
import java.nio.charset.StandardCharsets;
Process p = new ProcessBuilder("clavitor-cli", "get", "Stripe API", "--field", "key").start();
String key = new String(p.getInputStream().readAllBytes(), StandardCharsets.UTF_8).trim();
Stripe.apiKey = key;Konfigurationsrendering
Spara dina konfigurationer. Inte dina hemligheter.
clavitor-cli render skannar valfri fil efter clavitor://entry/field-referenser, löser var och en mot valvet och matar ut resultatet. Mallen är säker att lagra var som helst. Den lösta konfigurationen lever i en pip. Hemligheter rör aldrig disk.
# Template (safe to store anywhere)
$ cat app.config.json
{"api_key": "clavitor://OpenRouter API/key", "db": "clavitor://Prod DB/password"}
# Resolved (piped to application, never on disk)
$ clavitor-cli render app.config.json
{"api_key": "sk-or-v1-abc123...", "db": "hunter2"}Fungerar med JSON, YAML, TOML, .env, eller valfri textfil. Om den innehåller clavitor://, löses den.
Fler integrationsguider
Infrastruktur
Docker, Kubernetes, Terraform, Ansible, GitHub Actions, GitLab CI, SSH. Noll hemligheter i konfiguration, noll hemligheter i loggar.
Infrastrukturguide →AI-agenter
Claude Code, Codex, OpenClaw, Hermes, CrewAI, LangChain. Avgränsade tokens, granskningsspår, automatisk låsning.
Agentguide →MSP-verktyg
PowerShell, Datto RMM, N-able, ConnectWise Automate. Utfärdande av inloggningsuppgifter för din kundbas.
MSP-guide →Mönstret är alltid detsamma.
Ett CLI-anrop, alla sammanhang. Agentens avgränsning bestämmer vad den kan se. Nivån bestämmer vad den kan dekryptera. Granskningsloggen registrerar varje åtkomst.