Governance registry
The Governance registry screen lets you read the inventory of the agents, models and tools known to the platform, with their version, owner, risk level, status and scope. Portal path: /security/governance, menu Security and governance > Governance registry. It is used by security officers, AI governance officers and auditors who check that every asset has an owner and a risk assessment.
What the screen shows
The screen (Governance in portal/src/screens/security.tsx) reads GET /v1/governance/registry once and shows three tabs, each with its count in brackets: Agents (n), Models (n), Tools (n).
Each tab holds one table:
| Column | Content |
|---|---|
| Name | Name of the asset. |
| Version | Version recorded in the registry of the asset. |
| Owner | Owner of the asset; empty when none is recorded. |
| Risk | EU AI Act category of the latest risk assessment of the asset, else the risk level the asset declares. |
| Status | Status of the asset in its own registry. |
| Scope | platform for a shared asset, tenant for an asset of the tenant. |
| Updated | Last update. |
An empty tab shows "Nothing registered", "Assets appear here once registered with a manifest." The answer of the API also holds providers, skills, plugins, connectors and a summary (counts by status, by risk, assets without owner); the screen shows only the three tabs above.
Actions
| Button or action | What it does | API call | Roles |
|---|---|---|---|
| Agents, Models, Tools tabs | Switch the table, without another call. | None | Every user of the tenant |
| Retry (error state) | Reads the registry again. | GET /v1/governance/registry | Every user of the tenant |
The screen is read only: an asset is registered, changed or retired in its own screen (agent registry, model registry, tools), and its risk level comes from the Risk and compliance screen.
Roles
The portal asks no role. The Control Plane only requires a tenant (tenant_of in services/control-plane/src/eai/domains/governance/__init__.py): every user of the tenant reads the registry. platform_admin passes every role check.
Typical tasks
Find the agents without owner
- Open the registry. It gathers every asset in one place. Menu Security and governance > Governance registry. Expected result: the Agents tab with its count. If it fails:
tenant_required(HTTP 403) means the account has no tenant. - Read the Owner column. An asset without owner has no one accountable for it. Look for the empty cells of Owner. Expected result: the list of agents to assign. If it fails: "Nothing registered" means no agent was registered yet.
- Assign an owner. The owner is set on the asset itself. On the agent registry screen, use the Edit action of the agent and fill Owner. Expected result: after Retry or a reload, the owner appears here. If it fails: see the agent registry page.
Check the risk level of the models
- Open the Models tab. Click Models. Expected result: the models with their Risk and Scope. If it fails: an empty tab means no model is registered.
- Spot the missing assessments. A model without risk level was never assessed. Note the rows with an empty Risk. Expected result: the models to assess. If it fails: nothing to retry.
- Assess them. Create an assessment for each one on the Risk and compliance screen, target
model:<name>. Expected result: the assessment is listed there. If it fails: see the Risk and compliance page.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
Error state tenant_required (HTTP 403) | The account acts without a tenant. | Sign in with an account of the tenant. |
Error state invalid_request (HTTP 400) with kind | A kind parameter outside the known sources was sent to the API. | The screen sends none; call the route without kind or with known kinds. |
| "Nothing registered" in a tab | No asset of this kind is registered for the tenant. | Register the asset with its manifest in its own screen. |
| A risk level stays empty | No risk assessment targets the asset. | Create an assessment on the Risk and compliance screen. |
| "The Control Plane API cannot be reached" | The API is down or the API address of the portal is wrong. | Check the Control Plane and the NEXT_PUBLIC_EAI_API_URL setting of the portal. |