Desenvolvedores
Uma chamada CLI. Todos os segredos.
Sem variáveis de ambiente. Sem arquivos de configuração. Sem segredos em logs. Todos os segredos que seu código precisa, resolvidos em tempo de execução a partir de um cofre que seu agente não pode contornar.
O padrão
Armazene uma vez. Recupere em qualquer lugar.
Cada agente é inicializado uma vez com seu próprio token, escopos e limites de taxa. Depois disso, o agente pode buscar segredos em tempo de execução. A chave é armazenada criptografada no cofre, nunca em variáveis de ambiente ou código-fonte. Se a chave rotacionar, atualize-a na interface do cofre — cada agente a obtém automaticamente.
# 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
Três maneiras de usar
Campo, Renderizar ou Proxy.
Campo
Um valor. Envie-o para qualquer comando ou script. O segredo existe apenas no pipe — nunca em uma variável, nunca em disco.
Renderizar
Arquivo de configuração completo. Resolva todas as referências clavitor:// na inicialização. O template pode ser commitado com segurança. A configuração resolvida vive em um pipe.
Proxy
Proxy HTTPS. Credenciais resolvidas de cabeçalhos de forma transparente. O agente escreve clavitor:// onde o segredo deveria ir — o proxy injeta o valor real. Nada em logs, nada na memória do agente.
Qual devo usar?
| Funcionalidade | Field | Render | Proxy |
|---|---|---|---|
| Segredos fora dos logs | |||
| Works with any language | |||
| Funciona com qualquer ferramenta (curl, SDK, navegador) | |||
| Escopo e auditoria por agente | |||
| Múltiplos segredos de uma vez | |||
| Nenhuma alteração de código necessária | |||
| Arquivos de configuração seguros para commit | |||
| Casos de uso SSH / não-HTTP |
Escolha rápida: Construindo um script ou ferramenta CLI? Use Campo. Implantando um serviço com um arquivo de configuração? Use Renderizar. Executando agentes de IA que fazem chamadas de API? Use Proxy.
Por que isso supera todos os outros proxies de credenciais.
Nada para roubar. Proxies hospedados na nuvem são alvos de alto valor — invada um e você terá as credenciais de todos os clientes. Proxies locais armazenam credenciais em sua própria configuração, legível por qualquer agente na máquina. O proxy do Clavitor contém apenas um arquivo de configuração criptografado. Sem segredos em texto plano em disco, sem um repositório de credenciais para saquear.
Agentes não conseguem abri-lo. Um agente comprometido não consegue extrair credenciais do proxy — o proxy não expõe uma API, não serve um painel nem aceita comandos. Ele lê um cabeçalho, resolve uma referência e injeta o resultado na solicitação de saída. Nenhuma superfície de ataque.
Nada em logs. O agente escreve clavitor://Entry/field. É isso que aparece no stdout, nos logs, no histórico de conversas. A credencial real existe apenas dentro do processo do proxy durante uma chamada HTTP. Agregadores de logs, dumps de falhas, artefatos de CI — limpos.
Configuração zero. Sem tabelas de roteamento, sem mapeamentos de API, sem arquivos de credenciais para gerenciar. A referência clavitor:// no cabeçalho é a única instrução. Uma init, uma variável de ambiente, pronto.
Idiomas
Works in every language. No SDK required.
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;Renderização de configuração
Armazene suas configurações. Não seus segredos.
clavitor-cli render escaneia qualquer arquivo em busca de referências clavitor://entry/field, resolve cada uma contra o cofre e exibe o resultado. O template pode ser armazenado em qualquer lugar com segurança. A configuração resolvida vive em um pipe. Segredos nunca tocam o disco.
# 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"}Funciona com JSON, YAML, TOML, .env ou qualquer arquivo de texto. Se contiver clavitor://, ele será resolvido.
Mais guias de integração
Infraestrutura
Docker, Kubernetes, Terraform, Ansible, GitHub Actions, GitLab CI, SSH. Zero segredos na configuração, zero segredos em logs.
Guia de infraestrutura →Agentes de IA
Tokens com âmbito limitado, trilhas de auditoria, bloqueio automático.
Guia de agentes →Ferramentas MSP
PowerShell, Datto RMM, N-able, ConnectWise Automate. Emissão de credenciais para sua base de clientes.
Guia MSP →O padrão é sempre o mesmo.
Uma chamada CLI, qualquer contexto. O escopo do agente determina o que ele pode ver. O nível determina o que ele pode descriptografar. O registro de auditoria registra cada acesso.