Role hierarchy
The RBAC system follows a hierarchical structure with three distinct scopes:- Platform level — the Superadmin flag, a platform-wide override.
- Organization level — Owner, Admin, and Member, assigned per organization.
- Project level — Admin, Builder, Operator, and Viewer, assigned per project.
- Default project (every organization has one) — no explicit membership needed. Your org role maps to a project role automatically: Owner → Admin, Admin → Builder, Member → Operator. (The lowest level in a default project is Operator — there is no Viewer there.)
- Team project — requires explicit membership. Being in the organization is not enough; you must be added to the project with a specific role (Admin / Builder / Operator / Viewer).
Organization roles
Assigned per organization. Hierarchy: Owner > Admin > Member.Owner — organization administrator
Owner — organization administrator
- Delete the organization
- Manage billing and SSO configuration
- Manage OAuth / tool credentials for the organization
- Promote other members to Owner
- Access every project in the organization
Admin — manages members and projects
Admin — manages members and projects
- Invite and remove members
- Change member roles (but cannot grant Owner)
- Create and delete projects
- Manage organization settings
Member — standard organization user
Member — standard organization user
- Access organization resources
- Work in the default project as an Operator (run workflows, chat, upload files)
- Join team projects when explicitly added, at the role they’re given
- Cannot create projects or manage members
- Cannot manage organization settings or providers
Project roles
Assigned per project (or mapped automatically in the default project). Hierarchy: Admin > Builder > Operator > Viewer.Admin — governs the project
Admin — governs the project
- Add, remove, and change project members’ roles
- Grant or revoke which LLM configurations the project can use
- Create and revoke project API keys
- Update project settings
Builder — creates, edits, and deletes resources
Builder — creates, edits, and deletes resources
- Create / update / delete agents
- Create / update / delete / duplicate / import / export use cases
- Create and delete knowledge bases and documents
- Create / update / delete MCP connections and schedules (pause/resume)
- Create / update / delete test cases and manage baselines
- Write secrets, initiate OAuth connections, generate use-case documentation
- Delete executions and files
Operator — runs things, can't change configs
Operator — runs things, can't change configs
- Run workflows
- Create conversations and send messages (which trigger agent runs)
- Upload files
- Manually trigger a schedule
- Run test cases and test suites
Viewer — read-only
Viewer — read-only
- View agents, use cases (incl. workflow config and variables), executions and activity logs
- View chat conversations and messages
- List and download files; search knowledge bases
- View schedules, test cases and reports, and project/use-case analytics
- List API keys and view their stats; read secrets
Superadmin (platform)
The Superadmin flag is a platform-wide override, not an organization or project role. It is set only via the bootstrap script or database — it cannot be granted through the UI by other users. Capabilities:- Bypasses all permission checks across every organization and project
- Manages platform settings (email configuration, global MCP servers)
- Views platform-wide stats and LLM usage
- Is effectively treated as Owner in every organization and Admin in every project
Permissions matrix
Organization scope
Project scope
Organization isolation
Organization isolation is a fundamental security principle in MagOneAI. Each organization functions as a complete data boundary with no cross-organization access.Isolation guarantees
- Data isolation — Organizations cannot see or access data from other organizations. This includes agents, workflows, execution logs, knowledge bases, and all metadata.
- User isolation — Users belong to specific organizations. A regular user in Organization A has no visibility into Organization B, even if the same person is a member of both organizations.
- Provider isolation — Model provider configurations are scoped to organizations. Credentials configured in one organization are not accessible to others.
- Audit isolation — Audit logs are scoped to organizations. Org Owners and Admins see logs for their organization only.
API key management
API keys provide programmatic access to trigger a project’s workflows. Keys are scoped to a project — a key can start that project’s published workflows (and hold chat sessions for chat-enabled workflows). They are credentials for the external API, not a way to grant resource permissions. See Triggers & execution for how to sign and send API requests.Creating API keys
Navigate to project settings
Generate a new API key
Store the key and secret securely
Key rotation
To rotate an API key without downtime:- Create a new API key
- Update your application to use the new key
- Verify the new key is working in production
- Revoke the old key
Key revocation
Revoke a key immediately if:- The key is compromised or accidentally exposed
- The user who created the key leaves the organization
- The key is no longer needed
Audit trail
All API key usage is logged in the project audit trail:- Key creation with creator and timestamp
- Every API request with key ID, endpoint, and timestamp
- Key revocation with user and reason
Role assignment workflows
Adding a new organization member
Invite the user
Assign organization role
Assign to team projects
User accepts invitation
Promoting a user to Project Admin
Review current access
Update role
Communicate responsibilities
Offboarding a user
Revoke organization access
Revoke API keys
Revoke OAuth tokens
Review audit logs