IAM

What IAM is

Identity & Access Management (IAM) controls who can access your EfficientAI organization and what they can do inside each workspace. EfficientAI uses two independent permission layers on every request:

  1. Organization role — set per membership (reader, writer, or admin).
  2. Workspace role — set per workspace (Viewer, Editor, or Workspace Admin, plus optional custom roles).

A user must satisfy both layers to perform an action. Your organization role controls whether you can write anywhere in the org; your workspace role controls what you can do inside the active workspace.

Open-source deployments are capped at 1 org member and 1 default workspace. Multi-member orgs and additional workspaces require an Enterprise license.

Organization roles

Manage organization roles from IAM → Organization (admin only) or Settings → Team.

RoleScopeTypical use
ReaderRead-only for the entire organizationAuditors, stakeholders who only view dashboards
WriterCreate, update, and delete most org resourcesEngineers and operators doing day-to-day work
AdminEverything a writer can do, plus user/team management, API keys, and org settingsOrg owners and IT admins

Org readers are always read-only If your organization role is Reader, every mutating API call (POST, PATCH, DELETE) is blocked — even if you hold Workspace Admin in a workspace. Workspace roles cannot override an org-level read-only membership.

Org admins bypass workspace membership checks and receive all workspace capabilities in every workspace.

API keys behave differently depending on whether they are linked to a user:

  • User-bound keys (created while signed in) carry the linked user's organization role, workspace memberships, and capabilities. They are subject to the same RBAC rules as that user's session.
  • Unbound keys (legacy keys with no linked user) bypass workspace membership and capability checks and receive full workspace access within the key's organization. Prefer user-bound keys for least-privilege automation.

Workspace roles

Each workspace has its own membership list. When you are added to a workspace, you receive one of three seeded system roles (or a custom role defined by an org admin):

Workspace roleCan doCannot do
ViewerView calls, metrics, evals, simulations, reports, and workspace membersImport, edit, delete, run evaluations, change settings, manage members
EditorEverything Viewer can do, plus create/update resourcesDelete call imports, rename workspace, add/remove members, change workspace roles
Workspace AdminFull access in that workspace, including delete, workspace settings, and member management—

Roles are cumulative: Editor includes all Viewer permissions; Workspace Admin includes all Editor permissions.

What each role needs for common actions

ActionMinimum org roleMinimum workspace role
View call imports, agents, metricsReaderViewer
Upload / import calls, edit rowsWriterEditor
Delete call imports or batchesWriterWorkspace Admin
Create or edit metrics (workspace-scoped)WriterEditor
Run evaluationsWriterEditor
Rename a workspaceWriterWorkspace Admin
Add/remove workspace membersWriterWorkspace Admin
Create a new workspaceWriter(creator becomes Workspace Admin automatically)
Delete a workspaceAdmin(org admin only)
Manage organization users & invitationsAdmin(not workspace-scoped)

Configure IAM

What you configure

  • Organization name and membership (invitations, roles, password resets)
  • Workspace membership and per-workspace roles
  • Custom workspace roles (capability bundles for narrow access slices)

IAM tabs

Open IAM in the sidebar. The page has three tabs:

TabWho can accessPurpose
OrganizationAdminOrg name, member list, invitations, password resets
Workspace MembersAll membersAssign org users to workspaces with roles
Workspace RolesAdminDefine custom workspace roles from the capability registry

IAM organization management

  1. Invite org members from Organization (admin only).
  2. Create workspaces from the workspace switcher in the sidebar.
  3. Assign members and roles from Workspace Members.
  4. Define custom roles under Workspace Roles when system roles are too broad.

Org admins should review Workspace Members after creating workspaces and remove or downgrade memberships that are too broad for your team model.

How to manage workspace access

  1. Open IAM in the sidebar.
  2. Go to Workspace Members, select a workspace, and assign roles to org members.
  3. Org admins can define custom roles under Workspace Roles.

The workspace dropdown shows your current role in the selected workspace (for example, Viewer). Use the members table to review who has access and change roles — if you hold Workspace Admin in that workspace and are an org Writer or Admin.

Notes:

  • You can only manage members in a workspace if you are an org Writer or Admin and hold Workspace Admin (or org admin) in that workspace.
  • Workspace Admins cannot demote their own role; another admin must change it.
  • Users with org Reader can see member lists where allowed but cannot change memberships.

Workspaces and scoping

Workspaces provide in-organization project isolation. Multiple teams or projects can share one EfficientAI organization while keeping their agents, metrics, call imports, and prompt libraries separate.

The workspace switcher lives at the top of the left sidebar, directly under the EfficientAI logo. When you switch workspaces, all data views refetch automatically so you never see stale rows from the previous workspace.

The UI stores your active workspace in the browser and sends it on every API request as the X-Workspace-Id header. If a request arrives without the header, the backend falls back to the organization's Default workspace.

Custom workspace roles

Workspace permissions are implemented as capabilities grouped by product area. System roles are bundles of these capabilities; org admins can define custom workspace roles in IAM → Workspace Roles by picking capabilities from this registry:

DomainViewCreate / edit / runDelete / admin
Calls (call imports)View batches and rowsImport and updateDelete imports
MetricsView definitionsManage metrics—
EvaluationsView runs and resultsRun evaluations—
SimulationView agents, personas, scenariosManage simulation resources—
ReportsView reportsGenerate reports—
WorkspaceView member list—Rename workspace; add/remove members and roles

Custom roles are useful when a user needs a narrow slice of access (for example, view + run evals but not import calls). Assign them per workspace from IAM → Workspace Members.

Enterprise IAM

Multi-member organizations and additional workspaces require an Enterprise license. Enterprise also unlocks advanced authentication (OIDC, SAML, SCIM, MFA enforcement, audit export). See the Authentication guide for deployment recipes.

Community & contact

  1. Found a bug or have a feature request? Open a GitHub issue.
  2. Join our Discord for faster replies!