Dome Systems

Agents

Agent identity, lifecycle states, grants, delegated identity, and credentials

This page lists the fields and state transitions of an Agent record. An Agent is the durable identity Dome authorizes, audits, and attaches credentials and grants to.

Refer to Agents for the identity model. Register and manage Agents on Connect agents.

Identity

FieldTypeDescription
idUUIDStable Agent identifier and the identifier used by Dome::Agent in Rules
namestringDisplay name, unique within the workspace
tenant_idUUIDTenant that owns the Agent
workspace_idUUIDWorkspace that owns the Agent and its generated Rules
parent_idUUIDOptional parent Agent; fixed after registration
metadatamap of stringsCustomer-defined attributes exposed to Rules as principal.metadata
created_attimestampRegistration time
updated_attimestampLast record update
last_seen_attimestampMost recent authenticated activity

An Agent hierarchy may be at most 10 levels deep. Parent and child must belong to the same tenant. Hierarchy does not grant access: each Agent keeps its own credentials, grants, and effective Rules.

Lifecycle

StatusMeaningAllowed transition
provisionedIdentity exists but has not yet authenticatedBecomes active after successful use
activeMay authenticate and make governed callsSuspend or revoke
suspendedTemporarily blocked from authenticatingReactivate or revoke
revokedPermanently blockedDelete

Suspension can cascade to descendants. Revocation always cascades. Deletion is a hard delete and requires the Agent to be revoked first.

Resource grants

The Agent record exposes grants in two forms:

ViewFieldsBehavior
Name viewallowed_pool_names, allowed_direct_model_names, allowed_toolsAuthoring input and display projection; reflects current resource names
Canonical viewallowed_pool_ids, allowed_direct_model_ids, allowed_tool_idsRename-safe identifiers Dome stores and enforces
Gateway accessallowed_gateway_idsGateway UUIDs whose endpoints the Agent may use

Tool entries take the form <connection>/<tool>. Canonical tool entries keep the leaf tool name but replace the connection name with its UUID.

Writing these fields generates an Agent-scoped Rule bundle. Pool and model grants permit model actions; tool grants permit mcp:call and mcp:discover; Gateway grants permit the actions reachable through that Gateway. Workspace Rules and explicit forbids still apply.

Delegated identity

The actas_* fields define how Dome verifies the person an Agent acts for and which verified people it may represent.

FieldDescription
actas_methodVerification method: none, oidc, hmac, or bound
actas_requiredWhether every request must include verified Act-As identity
actas_verification_provider_idShared verification provider used by this Agent
actas_oidc_discovery_urlInline OIDC issuer material
actas_config_nameLabel for inline Agent-specific configuration
actas_allowed_groupsVerified groups the Agent may represent
actas_allowed_emailsVerified email addresses the Agent may represent
actas_allowed_subjectsVerified subjects the Agent may represent

When every allow-list is empty, any identity accepted by the effective workspace Act-As policy may be represented. Populating any list generates a forbid-unless Rule against the verified claims.

interactive_access permits authorized humans to ride the Agent through Dome's OAuth flow. It requires at least one allowed email or subject. Groups cannot qualify an interactive login.

Device-bound Agents expose pop_required, actas_bound_identity, and device as read-only fields set by enrollment. They cannot also use interactive access.

Credentials

Credentials are separate records from the Agent identity. Creating an Agent does not issue a key.

PropertyBehavior
Agent API keyLong-lived secret exchanged for short-lived Agent access tokens
token_ttlLifetime of those access tokens; defaults to 10m, accepted range 1m24h
RotationRevokes the old key and returns a new secret
RevocationPermanently invalidates one key without changing the Agent's grants

Key secrets are returned once. Dome stores their verification material, not a retrievable plaintext value.

On this page

Was this page helpful?