Docs

AI Actors

Discover, classify, and inspect the identities interacting with the AI estate — agents, models, applications, roles, and other observed callers.

"Actor" is not one database table — it is four: agents, model versions, applications, and identity roles, each with its own list route and its own shape, brought together under one catalog surface. Agents are the actively-behaving kind: a row carries a framework hint, an optional API key (fab_ak_-prefixed, SHA-256-hashed at rest, shown to the operator exactly once at generation time), and the list of IdP role names the gateway writes into the request context at key-resolution time so role-bound policies fire on agent traffic the same way they fire on a human call carrying a JWT.

Not every agent row is registered the same way. A curated agent is one an operator added by hand through "Register AI Actor." An observed agent is one the platform inferred from live traffic — an X-MCP-Agent-ID header, a telemetry reconciliation pass, or (once wired) an MCP initialize packet — and it stays in that unvetted state until an operator explicitly approves or blocks it. claimed_identity holds whatever the runtime asserted about itself and is never trusted on its own; verified_identity holds what has actually been checked. Deleting an observed or blocked agent also purges its underlying invocation rows so the reconciliation job can't re-materialize it on the next pass — curated and approved agents keep their invocation history because it stays audit-relevant.

Roles, models, and applications are simpler and carry no confidence lifecycle. A role is a normalized identity synced from an external source system, recording which system and which source-side role ID it came from. A model version is an immutable snapshot identified by a SHA-256 hash, optionally linked back to the MCP server that exposed it. An application is a runtime client identity carrying an SSO client ID and an owner email. All three are reachable from this surface and can be the subject of a policy exactly like an agent can.

An actor's detail page pulls its recent activity from the same place policy enforcement logs live: it looks up recent decisions for that subject, then derives which MCP servers and tools appear in those decisions to show what the actor has actually touched. It is a view over enforcement history, not a separate activity log kept by the catalog itself.

Reference

Features

Observed actors
description
Actors the platform inferred from runtime traffic rather than manual registration — created with confidence_state 'observed' and left unvetted until an operator reviews them.
Approved actors
description
An observed actor an operator has reviewed and promoted to 'approved'; from then on it is treated like a curated registration.
Blocked actors
description
An actor an operator has flagged as denied. Blocking is currently advisory in the catalog — the gateway does not yet reject calls from a blocked actor on its own.
Actor type
description
The kind of actor a row represents — agent, model, application, or role — inferred from the framework field and role assignments (an agent-shaped row with role names but no framework is treated as a role placeholder).
Discovery method
description
How an observed actor was found: an X-MCP-Agent-ID header on a live call, a telemetry reconciliation pass, or an MCP initialize packet. Manually registered actors record 'manual'.
Associated MCP servers
description
The MCP servers that appear in an actor's recent policy decisions, showing which parts of the mesh it has actually reached.
Associated tools and resources
description
The tools and resources an actor's recent decisions reference, showing what it has actually invoked or accessed rather than what it is merely permitted to.
Runtime activity
description
The actor's recent enforcement decisions — allow, deny, warn, or audit outcomes, each with the rules that matched — pulled from the same log the policy engine writes to.

Interfaces

data-plane serves /gcdm-agents
data-plane serves /agent/:id
data-plane serves /roles
data-plane serves /roles/:id
data-plane serves /models
data-plane serves /models/:id
data-plane serves /models/new
data-plane serves /applications
data-plane serves /applications-catalog