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.).
Your plaintext credentials are never returned to a client after storage. The vault exists to issue them to agents that are permitted to receive them — not to display them back to you.
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 and make read-only API calls. It cannot write to Stripe, and it cannot touch GitHub, Cloudflare, or any other connected service.
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 make its API call, then discards it. Credentials are fetched per-request — they are never stored in agent config.
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
Delete an agent in Gazebo to immediately revoke its access. The bearer token stops working. No credential rotation required.