High-level overview
Dome architecture separates into three kinds of concept: the components you define, the controls you apply to them, and the audit that records what happened. The control plane is where you configure those components and controls and sync that configuration. The data plane is where requests are enforced on the hot path. Components are what you define in the control plane:- Agents identify the applications and automated processes making requests.
- Resources are the tools, model connections, and model pools exposed through Dome.
- Gateways group resources behind named endpoints and control which agents can reach them.
- Rules authorize what an agent may do after reaching a Gateway.
- Guards inspect request and response content before it reaches its destination.
- Quotas cap what an agent can spend on model calls over a window.
Agents
An agent is an identity in Dome. It represents the application, assistant, or automated process making a request. Dome does not run the agent. An agent authenticates each request with an API key or a short-lived agent token. The credential identifies the agent, but it does not contain the agent’s permissions and is not bound to a specific Gateway. Each agent can have one or more API keys. Because identity is independent from the endpoint, you can use the same agent credentials with multiple Gateways, as long as the agent has access to each Gateway. Refer to Agents concept for how identity works across Gateways.Resources
A resource is something an agent can call through Dome. Dome supports three resource types:- Tools are MCP servers, local processes over stdio, or catalog-backed tool integrations.
- Model connections point to LLM providers such as Anthropic, OpenAI, Google, or a self-hosted runtime.
- Pools group model connections and add routing, weighting, and failover.
Gateways
A Gateway is a named logical access surface in Dome. Each Gateway packages a selected set of resources behind an endpoint and defines which agents may use it. A Gateway is not a separately deployed data-plane process. A Gateway can contain many resources, and the same resource can belong to more than one Gateway. A registered resource that belongs to no Gateway is Unreachable. A Gateway exposes both tools and models through different protocol endpoints:- Tools use
/gateways/<id>/mcp - Models and model pools use
/gateways/<id>/v1/...
Rules
An access grant and membership get the request to the resource. A rule then controls what the agent may do once it’s there, deciding tool calls and model calls the same way. Cedar, the default rule engine, evaluates the agent, requested action, resource, and request context, and denies the request by default when no rule matches. Dome combines rules from organization, tenant, workspace, and agent scopes. Rules can permit access to one tool while forbidding another, even when both belong to the same Gateway. Dome fails closed if it can’t verify current policy, rather than falling back to a stale or default configuration.Guards
Guards inspect content in both directions. Request Guards inspect prompts or tool arguments before Dome calls the resource. Response Guards inspect model output or tool results before content returns to the agent. Guards use ordered, connection-specific Filters. A Filter can redact, omit, or block matching content. Dome fails closed when an assigned Filter cannot be evaluated, rather than forwarding uninspected traffic. Refer to Guards concept for the model and Configure Guards for configuration.Quotas
Quotas cap spend on model calls. Each Quota sets a budget over a window at a chosen scope: workspace, agent, Gateway, pool, model, or verified end user. Dome checks applicable Quotas before it authorizes the call. An exhausted total cap rejects the request. An exhausted per-model budget can spill to another member of the pool. Refer to Quotas concept for the model and Set Usage Limits for configuration.How requests move through Dome
Every request passes through Dome before it reaches a tool or model. Dome identifies the agent, enforces access and authorization, applies request Guards, calls the resource with protected backend credentials, and applies response Guards before returning content.1
Send the request
The agent runtime sends an API key or agent token to a Gateway endpoint.
2
Authenticate and check access
Dome validates the credential, identifies the agent, and checks the active Gateway, access grant, and resource membership.
3
Verify represented identity
If the request carries an act-as claim for an end user, Dome verifies it before exposing it to Rules or backends.
4
Check quotas
For a metered call, Dome checks applicable spend Quotas. An exhausted limit stops the request here.
5
Apply Rules
Dome evaluates the agent, action, resource, and request context. A denied request stops here.
6
Apply request Guards
Dome inspects configured prompts or tool arguments before they reach the resource. A Guard can transform or block the request.
7
Call the resource
For an allowed request, Dome retrieves the backend credentials and calls the tool or model provider. The agent never receives those credentials.
8
Apply response Guards and return
Dome inspects configured model output or tool results before disclosure, then returns the governed response.
9
Record the outcome
Dome writes an audit event for the permitted, denied, failed, or filtered result.
Workspaces and isolation
An organization is a company’s top-level account. It contains one or more tenants, hard isolation boundaries usually drawn around a business unit or product line, such as aCommerce tenant kept separate from a Support tenant. Each tenant holds workspaces that scope day-to-day work, such as separate production and staging workspaces for the same team.
Agents, resources, Gateways, Rules, Guards, Quotas, and audit events all live inside a workspace. Dome enforces tenant and workspace boundaries on every configuration and runtime request, so nothing scoped to one workspace leaks into another.
Next steps
With the component and request-path model in mind, continue with:- Scopes concept for organization, tenant, and workspace isolation
- Agents concept, Resources concept, and Gateways concept for the components you define
- Rules concept, Guards concept, and Quotas concept for the controls on each request
- Audit events concept for the evidence trail
- Data plane concept for fail-closed runtime placement