Access Control

Roles

The eight seeded roles, how they stack, and how to author a role of your own

Overview

A role is a named bundle of grants. You assign a role to a person, or to a group, and they get its grants.

MagOneAI ships eight seeded roles that reproduce the access model that existed before, exactly. You can also author your own roles.

The seeded roles

RoleScopeReach
DefaultEveryoneThe floor every person holds with no assignment at all
Project ViewerProjectRead the projects they belong to, including their own runs and files
Project OperatorProjectRun use cases, and read their own runs
Project BuilderProjectAuthor and publish use cases, agents and knowledge bases
Project AdminProjectAdminister the project, including its members
Organization AdminOrganizationAdminister the organization, its projects and its members
Organization OwnerOrganizationEverything an Org Admin can do, plus the highest-trust organization actions
Platform SuperadminPlatformEverything, everywhere. The break-glass role.

The project roles stack

The five project-level roles are cumulative. Each contains everything in the one before it.

Default  ⊂  Project Viewer  ⊂  Project Operator  ⊂  Project Builder  ⊂  Project Admin

So a Project Builder can do everything an Operator can, and an Operator everything a Viewer can. You never need to assign two of these to the same person for the same project.

The two organization roles stack the same way: Organization Owner contains Organization Admin.

The Default role is undeletable. It is the access floor, so there is always something for a person with no other assignment to hold. You can edit what it contains, but be careful: emptying it affects every person in the organization at once.

Why the seeded roles use wildcards

A seeded role's grants are wildcards, meaning "on the projects you can already reach". That is what makes them reusable across every project without listing them.

It is also why they are not a way to give someone access to a new project. For that you need an explicitly targeted grant. See wildcard and explicit targets.

How a person gets a role

Four sources combine, and all four are real at the same time.

Everyone holds it. Nothing assigns it; it is the floor.

Joining an organization or a project writes a role assignment at that moment. This happens on every membership path, not only the obvious one, because a path that wrote no role would leave the person holding nothing and falling through to the loud fail-open.

Authoring your own role

Create a custom role when the seeded ladder does not describe the shape you need. Two common cases:

  • A population that needs one specific action and nothing else, for example running a single published use case
  • A population that needs most of a tier but must be denied one thing

Create the role

In the Admin Portal, open Access Control, select the organization, and use the Roles tab. Give the role a name that says who it is for, not what it contains, because what it contains will change.

Add permissions

Each permission is an action plus the level it attaches to, and optionally a specific target.

Only actions you hold can be added. See You cannot grant what you do not hold.

Decide wildcard or explicit target

Leave the target empty for a wildcard, which narrows what the holder may do where they already are. Name a target to establish access to that one object.

For "run this one use case", you want an explicit target.

Add denies where you need them

A deny beats every allow. Use it to carve an exception out of a wide grant rather than building a narrower role from scratch.

The grant ceiling does not apply to denies, so you can deny an action you do not hold yourself.

Assign it

Assign the role to a group if more than one person needs it, and directly to a person only for a genuine one-off. See Groups.

Saving a role's permissions replaces the whole set. It is not a merge. Read the existing rows before you save, or you will drop scoped and deny permissions that someone else added.

Reading what a role actually grants

Two places answer this, and they answer different questions.

SurfaceAnswers
Roles page in the Admin PortalWhat does each seeded role contain? A read-only matrix.
Effective permissions tab on the Access Control pageWhat does this person actually hold, from all four sources combined?

Always check effective permissions before concluding that a role is wrong. A person's access is the union of four sources minus every deny, so a role rarely tells the whole story on its own.

Good practice

Troubleshooting

Next steps

MagOneAI© 2026 Magure, Inc.

On this page