Keys end up everywhere
Env files, CI runners, notebooks, a colleague's laptop. Nobody can answer which credentials exist, or which agent is using which one.
Carbono Dev · Managed OneCLI
Graphite is the managed secret gateway Carbono Dev operates for your AI agents. Credentials live in one encrypted vault. Agents ship with placeholders, call APIs normally, and the gateway swaps in the real secret on the way out.
The problem
Autonomous agents call dozens of services. The default answer — paste the key into the environment — multiplies your secrets across machines, prompts, logs and model context. Three things break at once.
Env files, CI runners, notebooks, a colleague's laptop. Nobody can answer which credentials exist, or which agent is using which one.
When a key lives in fifteen places, rotating it is an outage risk. So it doesn't get rotated, and a two-year-old production key stays live.
An agent with a raw key calls the vendor directly. You find out what it did from the vendor's bill, not from your own audit trail.
How it works
Graphite runs the open-source OneCLI gateway: a Rust proxy that matches each outbound request to a stored credential and injects it as a header or query parameter. Your agent code does not change.
Real secrets go into the vault encrypted with AES-256-GCM, scoped to a project, and matched to the hosts and paths they are allowed to reach.
# stored once, by a human, in the dashboard secret stripe:prod host api.stripe.com path /v1/* inject header Authorization: Bearer <value> grants agent-07, agent-12
The agent gets a fake value and an access token, and points its HTTP client at the gateway. It never receives — and cannot read — the real secret.
# the agent's entire configuration HTTPS_PROXY=https://graphite.carbonodev.com PROXY_TOKEN=oc_agent_07_•••• STRIPE_API_KEY=ONECLI_STRIPE_KEY # placeholder
On each call the gateway authenticates the agent, checks the grant, decrypts the secret at request time, rewrites the header, and records who called what.
# audit trail, written for every request 15:04:22 agent-07 api.stripe.com/v1/charges 200 41ms 15:04:39 agent-12 api.github.com/repos/… 200 88ms 15:05:01 agent-12 api.openai.com/v1/… 403 no grant
What "managed" means
OneCLI is open source and you are welcome to run it yourself. Graphite exists for teams who would rather not own a piece of security infrastructure on the critical path of every agent call.
Your own isolated gateway and database on your subdomain, configured with your hosts, grants and agents.
We track upstream OneCLI, test each release against your configuration, and roll it out in a maintenance window you agree.
Health checks, latency and error-rate alerting on the proxy path, with a named Carbono engineer on the other end.
Rotate a vendor credential in one place. Every agent keeps working, because no agent ever held the old value.
SSO for your team, per-agent grants, and an exportable audit log of every state change and every proxied request.
Encrypted daily backups of the vault, restore drills, and a documented recovery path we have actually run.
No lock-in
Graphite runs OneCLI, an Apache-2.0 gateway anyone can read, audit and run. We add the operations, not a proprietary cage. If the relationship ends, your setup keeps working.
Carbono Dev on GitHub →Questions
Secrets are encrypted at rest with a key held by your instance and decrypted only in the gateway process at request time. Operational access is limited, logged, and covered by the engagement agreement — and because the stack is open source, you can verify the handling rather than take our word for it.
Agent calls that route through the proxy fail closed — they do not fall back to unprotected credentials. That is the point. We monitor the proxy path and agree an availability target and escalation path with you up front.
In most cases you set a proxy environment variable and replace each real key with a placeholder. Anything that speaks ordinary HTTP works, whatever framework or language the agent is written in.
On infrastructure we operate, in a region you choose, or inside your own cloud account if you prefer the data never to leave it. Both are the same container image.
Graphite supports Sign in with Google. We request only your basic profile — your Google account id, name, email address and profile picture — so we can create your account and attribute entries in the audit log. We request no Gmail, Drive, Calendar or other sensitive scope. Graphite's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Full detail is in our Privacy Policy.
A short call to map the services your agents call and the credentials behind them, then a pilot on one agent. Most pilots are live within a week.
Get started
Tell us which services your agents call. We will show you what the swap looks like on one of them, on a call, with your own credentials never leaving your side.