How Gazebo works
Gazebo works in three layers: the vault (your credentials), access profiles (permission sets), and agents (the things that retrieve credentials).
1. Connect your services
Add your API keys and OAuth tokens to the Gazebo vault. Each credential is encrypted at rest with AES-256-GCM and associated with a service (Stripe, GitHub, Cloudflare, etc.).
Dashboard connection views do not display stored credential values. Authorized agent requests return the actual plaintext credential to the agent runtime over HTTPS; a third-party host running that agent receives it too.
2. Create an access profile
An access profile is a named permission set that answers the question: which services can this agent access, and what can it do with each one?
Example profile — stripe-reader:
| Service | Allowed methods |
|---|---|
| Stripe | GET |
An agent with this profile can retrieve the Stripe credential when it declares GET. Gazebo denies retrieval for other declared methods and services. It does not proxy later Stripe calls: use a provider-enforced read-only credential if writes must be prevented.
3. Create an agent and issue a bearer token
Create an agent in Gazebo, link it to an access profile, and copy the bearer token. This token is what the agent uses to authenticate with Gazebo at runtime.
The bearer token identifies the agent and resolves its access policy. It does not contain credential values — it's just an identity claim.
4. The agent retrieves credentials at runtime
When the agent needs to make an API call, it calls Gazebo — either via MCP (get_credential) or the REST API — with its bearer token and the name of the service it needs.
Gazebo:
- Validates the bearer token
- Checks the agent's access profile against the requested service and method
- Logs the request
- Returns the plaintext credential (or a structured denial)
The agent uses the credential to call the provider directly. Fetch credentials when needed and avoid persisting them, but Gazebo cannot force an agent to discard a retrieved key or observe its subsequent use.
5. Every access is logged
Every call to get_credential — whether it succeeds or is denied — appears in the audit log. You can see which agent accessed which service, with which method, and when.
6. Revoke anytime
Revoke an agent to block future credential retrieval with its bearer token. Provider keys already retrieved remain usable within their provider permissions until they expire or are revoked there. If a key may have leaked, assess provider-side revocation or rotation.