An LLM gateway that runs in your network
One endpoint for every agent, one key per agent, and a decision on every request: authenticated, attributed, budgeted, recorded, then forwarded to your provider with a key only the gateway holds.
What it routes
The Descles edge speaks the protocols your clients already use, so adopting it is a base-URL change rather than a migration.
- OpenAI Chat Completions and the Responses API
- Native Anthropic Messages
- Any OpenAI-compatible upstream: router aggregators, LiteLLM proxies, self-hosted vLLM / SGLang / TGI
- MCP tools, executed by the gateway with credentials the agents never see
https://descles.internal/v1/chat/completions OpenAI-compatible https://descles.internal/v1/responses Responses API https://descles.internal/anthropic/v1/messages Anthropic Messages https://descles.internal/mcp/<connector> MCP tools
Your keys stay with you
The provider keys live on the edge, in your network, read from mounted secret files. Agents authenticate with Descles agent keys, which the edge checks against hashes; revoking an agent revokes nothing on the provider side, and rotating the provider key touches one machine.
Descles itself never receives provider keys, prompts or responses. Run the edge standalone and nothing is reported at all; connect it to the Descles control plane for team identities and shared policy, and it reports only listed metadata. The edge is open source, so you can check exactly what that is.
Budgets that reject instead of report
A limit enforced after the spend is an invoice, not a control. The edge evaluates budgets per request against a UTC day and can cap spend in dollars, tokens, or both. Token caps are price-independent, which is what you want on a custom endpoint where nobody has an accurate price table for the model string you forwarded.
defaults:
budget:
daily_usd: 10 # cap in provider spend
daily_tokens: 2000000 # cap that does not depend on a price tableWhat a record contains
Every call records the agent that made it, the provider, the model, input/output/cached tokens, an estimated cost, latency, the policy decision, the names of the tools the model proposed, and a trace id. Prompts and responses are forwarded, not filed.
Questions
Is a gateway going to add latency to every request?
The edge authenticates, checks the budget, forwards and streams the response through, and it runs next to your agents, so the added work is per-request bookkeeping rather than an extra trip to a vendor. Latency is recorded per call so you can see it.
Can I route an OpenAI-compatible endpoint you have never heard of?
Yes. Configure it as the edge's upstream; the model string is forwarded untouched, and model aliases can map names your agents request to names your provider serves.
Does Descles see my provider key?
No. The key is on the edge in your network, and the edge never sends it to Descles.
Related
- AI agent control plane — A control plane sits beside the data plane: your agents keep talking to their model providers, and the control plane decides who they are, what they may spend, which tool calls they may make, who reviews the risky ones, and what record survives afterwards.
- Agent audit records — When someone asks why an agent did that, a log line in a bucket is not an answer. A record that names the actor, the decision, the approver and the outcome, in a chain that fails verification if it is edited, is.
- Claude Code governance — A coding agent with a shell is the most useful and most dangerous agent most teams run. Descles keeps the Anthropic credential off laptops and puts a policy in front of the tool calls it proposes.
- Documentation — endpoints, provider keys, and the full policy reference.
Try it: run the open-source edge, or apply as a design partner. Questions: outreach@descles.com. See also terms and privacy.