Đăng nhập Miễn phí mãi mãi Bắt đầu

Nhà phát triển

Một lệnh CLI. Mọi bí mật.

Không có biến môi trường. Không có tệp cấu hình. Không có bí mật trong nhật ký. Mọi bí mật mà mã của bạn cần, được phân giải khi chạy từ một két an toàn mà tác nhân của bạn không thể vượt qua.

Mẫu

Lưu trữ một lần. Truy xuất mọi nơi.

Mỗi tác nhân được khởi tạo một lần với mã thông báo, phạm vi và giới hạn tốc độ riêng. Sau đó, tác nhân có thể truy xuất bí mật khi chạy. Khóa được lưu trữ dưới dạng mã hóa trong két an toàn, không bao giờ trong biến môi trường hoặc mã nguồn. Nếu khóa được luân chuyển, hãy cập nhật nó trong giao diện két an toàn — mọi tác nhân sẽ tự động nhận được nó.

# 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

Ba cách sử dụng

Trường, Render hoặc Proxy.

Trường

Một giá trị. Đưa nó qua pipe vào bất kỳ lệnh hoặc tập lệnh nào. Bí mật chỉ tồn tại trong pipe — không bao giờ trong biến, không bao giờ trên đĩa.

Render

Toàn bộ tệp cấu hình. Phân giải tất cả các tham chiếu clavitor:// khi khởi động. Mẫu an toàn để commit. Cấu hình đã phân giải nằm trong một pipe.

Proxy

Proxy HTTPS. Thông tin xác thực được phân giải từ header một cách minh bạch. Tác nhân ghi clavitor:// tại vị trí cần đặt bí mật — proxy chèn giá trị thực. Không có gì trong nhật ký, không có gì trong bộ nhớ tác nhân.

Bạn nên sử dụng cái nào?

Tính năngFieldRenderProxy
Loại bỏ bí mật khỏi nhật ký
Hoạt động với mọi ngôn ngữ
Hoạt động với mọi công cụ (curl, SDK, trình duyệt)
Phạm vi giới hạn & kiểm toán cho từng tác nhân
Nhiều bí mật cùng một lúc
Không cần thay đổi mã
Tệp cấu hình an toàn để commit
Các trường hợp sử dụng SSH / không phải HTTP

Chọn nhanh: Đang xây dựng tập lệnh hoặc công cụ CLI? Sử dụng Field. Triển khai dịch vụ với tệp cấu hình? Sử dụng Render. Chạy tác nhân AI thực hiện các lệnh gọi API? Sử dụng Proxy.

Tại sao điều này lại vượt trội hơn mọi proxy thông tin xác thực khác.

Không có gì để đánh cắp. Các proxy lưu trữ trên đám mây là mục tiêu có giá trị cao — xâm nhập vào một proxy và bạn sẽ lấy được thông tin xác thực của mọi khách hàng. Các proxy cục bộ lưu trữ thông tin xác thực trong cấu hình của riêng chúng, bất kỳ tác nhân nào trên máy đều có thể đọc được. Proxy của Clavitor chỉ chứa một tệp cấu hình được mã hóa. Không có bí mật dạng văn bản rõ trên đĩa, không có kho thông tin xác thực nào để chiếm đoạt.

Tác nhân không thể cạy mở nó. Một tác nhân bị xâm nhập không thể trích xuất thông tin xác thực từ proxy — proxy không phơi bày API, không cung cấp bảng điều khiển hay chấp nhận lệnh. Nó chỉ đọc một header, phân giải một tham chiếu và chèn kết quả vào yêu cầu gửi đi. Không có bề mặt tấn công.

Không có gì trong nhật ký. Tác nhân ghi clavitor://Entry/field. Đó là những gì xuất hiện trên stdout, trong nhật ký, trong lịch sử trò chuyện. Thông tin xác thực thực chỉ tồn tại bên trong tiến trình proxy trong suốt một lệnh gọi HTTP. Trình tổng hợp nhật ký, bản ghi sự cố, tạo tác CI — hoàn toàn sạch.

Không cần cấu hình. Không có bảng định tuyến, không có ánh xạ API, không có tệp thông tin xác thực cần quản lý. Tham chiếu clavitor:// trong header là chỉ dẫn duy nhất. Một lệnh init, một biến môi trường, hoàn tất.

Ngôn ngữ

Hoạt động với mọi ngôn ngữ. Không yêu cầu 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;

Kết xuất cấu hình

Lưu trữ cấu hình của bạn. Không phải bí mật của bạn.

clavitor-cli render quét bất kỳ tệp nào để tìm các tham chiếu clavitor://entry/field, phân giải từng tham chiếu với két an toàn và xuất kết quả. Mẫu an toàn để lưu trữ ở bất kỳ đâu. Cấu hình đã phân giải nằm trong một pipe. Bí mật không bao giờ ghi lên đĩa.

# 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"}

Hoạt động với JSON, YAML, TOML, .env hoặc bất kỳ tệp văn bản nào. Nếu nó chứa clavitor://, nó sẽ được phân giải.

Hướng dẫn tích hợp khác

Cơ sở hạ tầng

Docker, Kubernetes, Terraform, Ansible, GitHub Actions, GitLab CI, SSH. Không có bí mật trong cấu hình, không có bí mật trong nhật ký.

Hướng dẫn cơ sở hạ tầng →

Tác nhân AI

Claude Code, Codex, OpenClaw, Hermes, CrewAI, LangChain. Mã thông báo có phạm vi được kiểm soát, dấu vết kiểm toán, khóa tự động.

Hướng dẫn tác nhân →

Công cụ MSP

PowerShell, Datto RMM, N-able, ConnectWise Automate. Cấp phát thông tin xác thực cho tập khách hàng của bạn.

Hướng dẫn MSP →

Mẫu luôn giống nhau.

Một lệnh CLI, mọi ngữ cảnh. Phạm vi của tác nhân xác định những gì nó có thể thấy. Tầng mã hóa xác định những gì nó có thể giải mã. Nhật ký kiểm toán ghi lại mọi lượt truy cập.