Dome Systems

Reference

Dome Platform Entities

Dome governs a set of first-class objects. Each one has an identity, can be referenced by a rule, and appears in the audit record under the same vocabulary as every other. This is the whole model, grouped the way the platform is.

Connect

Connect entities

What you attach. Each of these is an object the rest of the platform can name.

Connect documentation

Agents

The registered identity of an agent.

Name, owner, declared capabilities, and a lifecycle that runs provisioned, active, suspended, revoked. The credential issued at registration is the root of trust for every call that follows, which is what makes revoking an agent a single action rather than a hunt across systems.

dome agents register --name support-triage

dome agents list
dome agents suspend support-triage

Callers

The person an agent is acting for.

Asserted per request on a header and verified before it becomes an identity — by OIDC or HMAC, configured per agent. Once verified, a rule can name the caller as well as the agent, and the audit record names both. An agent can be required to always act for someone, so unattended calls are refused.

dome agents update support-triage \
  --actas-required \
  --actas-method oidc

Tools

A connection to something an agent can call.

An MCP server, a REST API described by OpenAPI, or a first-party internal service. Tools surface into a catalog that policy filters per agent, so an agent that may not call a tool does not see it in discovery — it gets a shorter list rather than a forbidden entry.

dome tool add --name zendesk \
  --url https://mcp.zendesk.example.com \
  --protocol streamable-http \
  --auth-method oauth

dome tool catalog list zendesk

Gateways

The named access surface you create and grant.

A Gateway composes tools, tool sources and model pools into one endpoint an agent is granted as a unit. Gateways are logical rather than physical, so you create as many as the shape of your estate needs. A resource that sits in no Gateway is unreachable — a valid state, not an error.

dome gateway create support-prod
dome gateway tool-sources add support-prod zendesk
dome gateway model-pools add support-prod prod-models
dome gateway access grant support-prod support-triage

Models

A connection to a model provider.

Anthropic, OpenAI, Bedrock, Vertex, Azure OpenAI, or any OpenAI-compatible endpoint including a self-hosted one. The provider credential lives with the connection and is injected at egress, so the agent never holds it.

dome model add anthropic-prod \
  --provider anthropic \
  --model claude-sonnet-5

Pools

A named group of models with a routing strategy.

Priority and weight decide which member serves a request, and failover falls through on rate limits or outages. Each candidate is authorized in its own right rather than inheriting the first choice's permission, so failover cannot quietly route around policy.

dome model pool create prod-models \
  --routing-strategy priority_weighted

dome model pool member add prod-models anthropic-prod --priority 0

Govern

Govern entities

What you apply. Each of these constrains what a call may do, expressed against the objects above — which is how one rule set covers the whole estate.

Govern documentation

Rules

Policy evaluated at the call boundary.

A rule permits or forbids a call before it runs. Written at four scopes — org, tenant, workspace, agent — fail-closed, with forbid winning over any permit. Conditions can reference any other entity, including the caller an agent is acting for. Simulate a decision before you ship the rule. The policy engine is Cedar.

permit (
  principal == Dome::Agent::"support-triage",
  action    == Dome::Action::"mcp:call",
  resource  == Dome::MCPTool::"zendesk/update_ticket"
) when {
  principal has act_as &&
  resource.arguments.requester == principal.act_as.email
};

Guards

Inspection and filtering of what comes back.

Classify, redact or constrain a tool or model response before the agent ever sees it, so a permitted call cannot return data the caller should not have. Versioned with rollback, and assigned per connection in either direction.

dome guards filters create pii-redact \
  --config-from pii.json

dome tool guards filters set zendesk \
  --direction response --filters pii-redact

Quotas

Spend and usage ceilings bound to an identity.

Bound to an agent, workspace or tenant rather than to an API key — which is what makes attribution and containment possible without reconciling two systems by hand. Enforced per scope, with the denial recorded like any other decision.

dome model quota set \
  --subject agent \
  --agent support-triage \
  --limit 2000000 \
  --window 24h

Operate

Operate entities

What you get back, and the structure everything else sits inside.

Operate documentation

Audit

The immutable event trail.

One vocabulary across every entity: agent, caller chain, target, arguments, rule version, outcome. Because tool calls and model calls share it, reconstructing what an agent did is one query rather than a join across two systems.

dome audit query
dome audit chain act_9f2k1p

Events

The same vocabulary, live.

The estate as it happens rather than after the fact — useful for watching a policy change land, or for catching a denial while the person who triggered it is still on the call.

dome audit stream

Integrations

Where the record goes.

Identity providers, secrets stores, SIEM, APM and CI/CD. Dome composes with what you already run rather than replacing it, and webhook subscriptions push events out as they happen.

dome webhooks subscriptions create siem \
  --url https://siem.example.com/dome \
  --event-type access.denied

Workspaces

The scope hierarchy everything sits inside.

Organization, tenant and workspace — the levels rules are written against and the boundary that isolates one team's estate from another's.

dome workspace create --name triage
dome context use support/triage

Users

The people who operate Dome.

Roles and workspace membership, federated from the identity provider you already run. Distinct from Callers: a user administers the platform, a caller is who an agent is acting for.

dome workspace members list
dome workspace members set alex --role admin