Entwickler
Ein CLI-Aufruf. Jedes Geheimnis.
Keine Umgebungsvariablen. Keine Konfigurationsdateien. Keine Geheimnisse in Logs. Jedes Geheimnis, das Ihr Code benötigt, zur Laufzeit aus einem Tresor aufgelöst, den Ihr Agent nicht umgehen kann.
Das Muster
Einmal speichern. Überall abrufen.
Jeder Agent wird einmal mit seinem eigenen Token, seinen Geltungsbereichen und Ratenbegrenzungen initialisiert. Danach kann der Agent Geheimnisse zur Laufzeit abrufen. Der Schlüssel wird verschlüsselt im Tresor gespeichert, niemals in Umgebungsvariablen oder Quellcode. Wenn der Schlüssel rotiert, aktualisieren Sie ihn in der Tresor-Benutzeroberfläche – jeder Agent übernimmt ihn automatisch.
# 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
Drei Verwendungsmöglichkeiten
Feld, Rendern oder Proxy.
Feld
Ein Wert. Leiten Sie ihn in jeden Befehl oder jedes Skript. Das Geheimnis existiert nur in der Pipe – niemals in einer Variablen, niemals auf der Festplatte.
Rendern
Ganze Konfigurationsdatei. Alle clavitor://-Referenzen beim Start auflösen. Die Vorlage kann sicher committet werden. Die aufgelöste Konfiguration lebt in einer Pipe.
Proxy
HTTPS-Proxy. Anmeldedaten werden transparent aus Headern aufgelöst. Der Agent schreibt clavitor://, wo das Geheimnis hingehört – der Proxy fügt den tatsächlichen Wert ein. Nichts in Logs, nichts im Agentenspeicher.
Welchen sollte ich verwenden?
| Funktion | Field | Render | Proxy |
|---|---|---|---|
| Geheimnisse aus Logs entfernen | |||
| Funktioniert mit jeder Sprache | |||
| Funktioniert mit jedem Werkzeug (curl, SDK, Browser) | |||
| Pro Agent Geltungsbereiche & Audit | |||
| Mehrere Geheimnisse gleichzeitig | |||
| Keine Codeänderungen erforderlich | |||
| Konfigurationsdateien sicher zu committen | |||
| SSH / Nicht-HTTP-Anwendungsfälle |
Schnelle Wahl: Erstellen Sie ein Skript oder ein CLI-Tool? Verwenden Sie Feld. Stellen Sie einen Dienst mit einer Konfigurationsdatei bereit? Verwenden Sie Rendern. Führen Sie KI-Agenten aus, die API-Aufrufe tätigen? Verwenden Sie Proxy.
Warum dies jeden anderen Anmeldedatenproxy übertrifft.
Nichts zu stehlen. Cloud-basierte Proxys sind Ziele mit hohem Wert – brechen Sie einen ein und Sie erhalten die Anmeldedaten jedes Kunden. Lokale Proxys speichern Anmeldedaten in ihrer eigenen Konfiguration, lesbar für jeden Agenten auf der Maschine. Clavitors Proxy enthält nur eine verschlüsselte Konfigurationsdatei. Keine Klartext-Geheimnisse auf der Festplatte, kein zu plündernder Anmeldedatenspeicher.
Agenten können ihn nicht aufbrechen. Ein kompromittierter Agent kann keine Anmeldedaten aus dem Proxy extrahieren – der Proxy stellt keine API bereit, liefert kein Dashboard und akzeptiert keine Befehle. Er liest einen Header, löst eine Referenz auf und fügt das Ergebnis in die ausgehende Anfrage ein. Keine Angriffsfläche.
Nichts in Logs. Der Agent schreibt clavitor://Entry/field. Das ist es, was in stdout, in Logs, in der Konversationshistorie erscheint. Das eigentliche Anmeldedatum existiert nur innerhalb des Proxy-Prozesses für die Dauer eines HTTP-Aufrufs. Log-Aggregatoren, Absturz-Dumps, CI-Artefakte – sauber.
Null Konfiguration. Keine Routing-Tabellen, keine API-Zuordnungen, keine zu verwaltenden Anmeldedatendateien. Die clavitor://-Referenz im Header ist die einzige Anweisung. Ein init, eine Umgebungsvariable, fertig.
Sprachen
Funktioniert in jeder Sprache. Kein SDK erforderlich.
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;Konfigurations-Rendering
Speichern Sie Ihre Konfigurationen. Nicht Ihre Geheimnisse.
clavitor-cli render scannt jede Datei nach clavitor://entry/field-Referenzen, löst jede gegen den Tresor auf und gibt das Ergebnis aus. Die Vorlage kann überall sicher gespeichert werden. Die aufgelöste Konfiguration lebt in einer Pipe. Geheimnisse berühren niemals die Festplatte.
# 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"}Funktioniert mit JSON, YAML, TOML, .env oder jeder Textdatei. Wenn sie clavitor:// enthält, wird sie aufgelöst.
Weitere Integrationsanleitungen
Infrastruktur
Docker, Kubernetes, Terraform, Ansible, GitHub Actions, GitLab CI, SSH. Null Geheimnisse in der Konfiguration, null Geheimnisse in Logs.
Infrastruktur-Anleitung →KI-Agenten
Claude Code, Codex, OpenClaw, Hermes, CrewAI, LangChain. Bereichsbeschränkte Token, Audit-Trails, automatische Sperrung.
Agenten-Anleitung →MSP-Tools
PowerShell, Datto RMM, N-able, ConnectWise Automate. Ausgabe von Anmeldedaten für Ihren Kundenstamm.
MSP-Anleitung →Das Muster ist immer dasselbe.
Ein CLI-Aufruf, jeder Kontext. Der Geltungsbereich des Agenten bestimmt, was er sehen kann. Die Stufe bestimmt, was er entschlüsseln kann. Das Audit-Log zeichnet jeden Zugriff auf.