Blog

Why your agent shouldn’t hold a key for every provider

Every secret can leak, and every provider adds one. How one Agent200 key replaces the stack, and how to look after the one you keep.

2 min read

A single key on a ring in focus, a pile of keys out of focus behind it

Count the secrets in a typical agent’s environment file: a key per model provider, a key per search service, client IDs and secrets for every OAuth app, a signing secret per webhook. Each one is something to store, rotate, scope and eventually leak. The fewer your agent holds, the better.

Every key is a liability

  • It can leak: in a log line, a screenshot, a public repository, a support ticket.
  • It has its own blast radius: a leaked provider key spends your money on someone else’s requests until you notice.
  • It needs care: storage, rotation, access control and an owner who remembers it exists.

Multiply that by every provider your agent touches.

One key instead of many

With Agent200, your application authenticates with one Agent200 API key. Supported models and paid services, from AI models to web search, are reached through that key. You do not supply separate provider keys for them; Agent200 manages the provider relationships.

Secret Building it yourself With Agent200
Model provider keys One per provider None: your Agent200 key
Paid service keys One per service None: your Agent200 key
OAuth client secrets and user tokens Stored and refreshed by you Managed by Agent200 for supported connectors
Your own credential n/a One Agent200 key per environment

Users’ tokens stay out of your database

The most sensitive secrets in an agent are not yours: they are your users’ OAuth tokens. With managed OAuth, Agent200 stores each user’s connection and refreshes it. Your database holds user IDs, not access tokens to their inboxes.

Look after the one key you keep

  1. One key per environment. Development, staging and production each get their own, so a leaked laptop key cannot reach production.
  2. Server side only. Never ship the key to a browser or a mobile app. Your backend calls Agent200; your client calls your backend.
  3. From the environment, not the code. Load it from your secrets manager or environment variables.
  4. Least capability. Enable only the services and endpoints each environment needs, so even a leaked key can do little.

The safest secret is the one you never had to hold.

Read more on the Security page, or see how one key covers every model and paid service.

Stacks of envelopes being organised into an index card cabinet with green tabs
Product

iGPT: your agent’s email context in one request

iGPT is a premium connector on Agent200. It indexes your users' email, threads and attachments, and answers your agent with cited, structured context in…

1 min read

Five frosted glass lenses of different shapes in a row, one with a green edge
Guides

Choosing a web search API for your agent

Tavily, Exa, Brave Search, Perplexity and Firecrawl each lean toward a different part of search. How to pick for your agent, and why you…

2 min read

200 OK

Build the agent.
Access everything it needs.

Bring the agent you already have. Agent200 provides and executes its external capabilities.

Book a demo.
See it in action.

Tell us who you are, then pick a time for a 1:1 session with an expert from our team.

We use your details only to email you about Agent200. See the Privacy Policy.

Pick a time. We'll take it from there.

A 1:1 session with an expert from our team, about what you are building.

Open in Calendly (opens in a new tab)