Masuk Gratis selamanya Mulai

Pengembang

Satu panggilan CLI. Setiap rahasia.

Tanpa variabel lingkungan. Tanpa berkas konfigurasi. Tanpa rahasia dalam log. Setiap rahasia yang dibutuhkan kode Anda, diselesaikan saat runtime dari brankas yang tidak dapat dilewati oleh agen Anda.

Pola

Simpan sekali. Ambil di mana saja.

Setiap agen diinisialisasi sekali dengan token, cakupan, dan batas lajunya sendiri. Setelah itu, agen dapat mengambil rahasia saat runtime. Kunci disimpan terenkripsi di brankas, tidak pernah di variabel lingkungan atau kode sumber. Jika kunci dirotasi, perbarui di UI brankas — setiap agen akan mengambilnya secara otomatis.

# 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

Tiga cara untuk menggunakannya

Bidang, Render, atau Proxy.

Bidang

Satu nilai. Salurkan ke perintah atau skrip apa pun. Rahasia hanya ada di dalam pipe — tidak pernah dalam variabel, tidak pernah di disk.

Render

Seluruh berkas konfigurasi. Selesaikan semua referensi clavitor:// saat startup. Templat aman untuk di-commit. Konfigurasi yang diselesaikan berada di dalam pipe.

Proxy

Proksi HTTPS. Kredensial diselesaikan dari header secara transparan. Agen menulis clavitor:// di tempat rahasia seharusnya berada — proksi menyuntikkan nilai sebenarnya. Tidak ada dalam log, tidak ada dalam memori agen.

Mana yang harus saya gunakan?

FiturFieldRenderProxy
Rahasia tidak masuk ke log
Berfungsi dengan bahasa apa pun
Berfungsi dengan alat apa pun (curl, SDK, browser)
Cakupan & audit per agen
Beberapa rahasia sekaligus
Tidak perlu perubahan kode
Berkas konfigurasi aman untuk di-commit
Kasus penggunaan SSH / non-HTTP

Pilihan cepat: Membuat skrip atau alat CLI? Gunakan Bidang. Menyebarkan layanan dengan berkas konfigurasi? Gunakan Render. Menjalankan agen AI yang melakukan panggilan API? Gunakan Proxy.

Mengapa ini mengalahkan proksi kredensial lainnya.

Tidak ada yang bisa dicuri. Proksi yang di-host di cloud adalah target bernilai tinggi — bobol satu dan Anda mendapatkan kredensial setiap pelanggan. Proksi lokal menyimpan kredensial dalam konfigurasinya sendiri, dapat dibaca oleh agen apa pun di mesin tersebut. Proksi Clavitor hanya menyimpan berkas konfigurasi terenkripsi. Tidak ada rahasia teks biasa di disk, tidak ada penyimpanan kredensial untuk dijarah.

Agen tidak dapat membongkarnya. Agen yang terkompromi tidak dapat mengekstrak kredensial dari proksi — proksi tidak mengekspos API, menyajikan dasbor, atau menerima perintah. Ia membaca satu header, menyelesaikan satu referensi, dan menyuntikkan hasilnya ke dalam permintaan keluar. Tidak ada permukaan serangan.

Tidak ada dalam log. Agen menulis clavitor://Entry/field. Itulah yang muncul di stdout, di log, dalam riwayat percakapan. Kredensial sebenarnya hanya ada di dalam proses proksi selama satu panggilan HTTP. Agregator log, dump crash, artefak CI — bersih.

Konfigurasi nol. Tidak ada tabel perutean, tidak ada pemetaan API, tidak ada berkas kredensial untuk dikelola. Referensi clavitor:// di header adalah satu-satunya instruksi. Satu init, satu variabel lingkungan, selesai.

Bahasa

Berfungsi di setiap bahasa. Tidak perlu SDK.

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;

Perenderan konfigurasi

Simpan konfigurasi Anda. Bukan rahasia Anda.

clavitor-cli render memindai berkas apa pun untuk referensi clavitor://entry/field, menyelesaikannya terhadap brankas, dan mengeluarkan hasilnya. Templat aman untuk disimpan di mana saja. Konfigurasi yang diselesaikan berada di dalam pipe. Rahasia tidak pernah menyentuh 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"}

Berfungsi dengan JSON, YAML, TOML, .env, atau berkas teks apa pun. Jika berisi clavitor://, referensi tersebut akan diselesaikan.

Panduan integrasi lainnya

Infrastruktur

Docker, Kubernetes, Terraform, Ansible, GitHub Actions, GitLab CI, SSH. Nol rahasia dalam konfigurasi, nol rahasia dalam log.

Panduan Infrastruktur →

Agen AI

Claude Code, Codex, OpenClaw, Hermes, CrewAI, LangChain. Token akses terbatas, jejak audit, penguncian otomatis.

Panduan Agen →

Alat MSP

PowerShell, Datto RMM, N-able, ConnectWise Automate. Penerbitan kredensial untuk basis pelanggan Anda.

Panduan MSP →

Polanya selalu sama.

Satu panggilan CLI, konteks apa pun. Cakupan agen menentukan apa yang dapat dilihatnya. Lapisan menentukan apa yang dapat didekripsinya. Log audit mencatat setiap akses.