RBAC

Field reference for role-based access control, the role ladder and the full default permission map enforced across the dashboard and management API.

Administration of Agent Stream itself, including its dashboard and management API, is governed by role-based access control (RBAC): an ordered role ladder checked against a per-feature permission map. This page documents the three roles and the concrete default permission list enforced on every appliance. For the conceptual model, see Security and access control.

The role ladder controls who can see and change credentials, policies, and RBAC itself. What a given surface can do at runtime is separate, governed instead by source authentication and OPA policies.

  • Administrator covers anyone who needs to manage credentials, policies, or RBAC itself.
  • Power User suits people who manage connections and mediators day to day but have no business touching secrets or other admin-only views.
  • User is the default for a new account: assign it to anyone who just needs to build and run surfaces.

Role ladder

The role ladder has three values, each a superset of the one below it:

RoleGrants
AdministratorEvery permission: secrets, RBAC, encryption, and administrator-only views such as governance records, drift, and attributed metrics. An Administrator account always passes the permission check, regardless of the map below.
Power UserEverything a User can do, plus operational features such as mediators, connection points, and surface capture. No access to secrets, API keys, certificates, RBAC, or other admin-only views.
UserThe default role for a new account. View-only across most feature families, with a handful of families (surfaces, notifications, departments) also allowing edit/delete at this base role.

Any feature not listed in the map below is denied by default to Power User and User accounts: access has to be explicitly granted, nothing is allowed just because it’s missing from the list. Administrator is the exception: as noted above, it passes every check regardless of the map.

How the permission map is loaded

The permission map that decides which role a feature requires is a fixed set of hardened defaults. It is not configurable by you; every feature keeps its default requirement unless Affinidi has overridden it for your appliance.

Each feature has one minimum required role. When an account tries to use a feature, its role is checked against that requirement, and access is granted whenever the account’s role meets or exceeds it.

Default permission map

Each row below is one capability; each column shows the actions that role has for it, cumulative with everything to its left ("—" means no access at that role). Scan a column to see everything a role can do, or a row to compare roles on one capability.

Dashboard, settings & users

CapabilityUserPower UserAdministrator
DashboardViewViewView
Activity logsViewViewView
Appliance SettingsView, change
Dashboard user accounts (Settings → Users tab)View, edit, approve, delete
Enrolment (account self-signup) settingsView, change

Teams & members

CapabilityUserPower UserAdministrator
TeamsView, create/edit, delete
MembersView, create/edit, delete

Secrets & credentials

CapabilityUserPower UserAdministrator
JWT verification strategiesView, create/edit, delete
OAuth Identifier profilesView, create/edit, delete
Secrets (Secrets page)View, create/edit, delete
Managed API keysView, create/rotate/edit, delete
Personal access tokens (PATs)View, create/edit, delete
CertificatesView, upload/edit
Delegation Vault identityEdit
Credential providersView, create/edit, delete
Delegation Vault entriesView, delete

Surfaces, prompts & policies

CapabilityUserPower UserAdministrator
Prompt templatesViewViewView, create/edit, delete
Surface, on the canvas builderView, build/edit, delete, run (incl. Sandbox)Same as UserSame as User
Surface configuration, outside the canvas builderChange, delete
Surface-capture onboarding flowUseUse
OPA policy definitionsView, create/edit, delete, enforce globally

The canvas-builder row and the “outside the canvas builder” row aren’t a contradiction: day-to-day surface building stays open to every account, while a narrower, administrator-only set of actions covers what falls outside the regular canvas flow (see the note below).

Trust Fabric

CapabilityUserPower UserAdministrator
GatewaysViewViewView, create/edit, delete
MediatorsViewView, create/edit, deleteSame as Power User
Connection pointsViewView, create/edit, deleteSame as Power User
Trust registriesViewViewView
Integrations (Slack, email, webhook, etc.)ViewViewView, create/edit, delete

Observability & governance

CapabilityUserPower UserAdministrator
Aggregate and per-surface metricsViewViewView
Per-member and per-team attributed metricsView
Audit logView
Governance recordsView
LLM drift data and baselinesView, manage

Departments, notifications, payments & appliance operations

CapabilityUserPower UserAdministrator
DepartmentsView, create/edit, deleteSame as UserSame as User
Notification integrationsView, create/edit, deleteSame as UserSame as User
Payments and marketplace purchasesView, edit, delete, retrySame as UserSame as User
Appliance storage (Backup, Restore, Export)Administer
Identity or credential issuanceIssue
Appliance configuration reloadReload

Notes on specific entries

  • Aggregate metrics vs. attributed metrics: a User can already see aggregate and per-surface figures. Seeing a breakdown by individual member or team needs Administrator-only access. That access is coarse: whoever holds it can view every team’s data, not just their own.
  • Governance records and drift data default to administrator-only because governance records carry raw prompts and completions, and drift series can expose a surface’s refusal or safety-rate behaviour.
  • Building and running surfaces stays open to every account (view/edit/delete/run) since a surface is the one thing every authenticated caller needs to work with day to day.
  • Anyone can view integrations, but only an Administrator can create, edit, or delete one, since an installed integration is a platform-wide webhook that can observe every user’s PII.
  • Connection points and mediators are the two areas where Power User gets write access beyond the base User role; everything else write-level stays Administrator-only.