For a plain-language overview aimed at end users, see User roles. This page is the technical reference.
role field on a user. Access is layered, and a user’s effective role is the combination of three things:
- Group type — the structural role, set by the kind of group a user belongs to (admin, studio department, regional contact, vendor).
- Permissions — fine-grained
accessflags granted to a group, scoped by studio, project, territory, language, and usage. - Account type — whether the account is a full
memberor a limitedguest.
Groups and permissions are managed by admins in the Admin area of the UI (Groups, Permissions, Studios, Territories tabs). That admin interface is the source of truth for everything on this page.
Group types
A user belongs to one or more groups, and each group has atype. The type defines the structural role and the org scope. Defined in api/models/Groups.php and surfaced in the UI in ui/3x/constants/admin.js.
A group also carries the
studios, territories, and users it applies to, plus optional domains for auto-assigning users by email domain.
The API checks structural role by group membership:
Account types
Orthogonal to group type, every user is either a member or a guest. Defined inapi/models/Users.php.
Permissions
Group type sets the baseline, but capabilities come from permissionaccess flags attached to a group. These are the named actions a user can perform. Labels are defined in ui/3x/constants/admin.js (PERMISSION_ACTION_LABELS); the schema lives in api/models/Permissions.php.
Permission
access is granted per group and can be scoped — by studio, project, and territory on the group, and by country, language, and usage on the permission’s sources. So “download” for one group can be narrower than “download” for another.
Functional roles in the UI
The front end derives a handful of roles from the data above. These determine what menu items and screens a user sees (ui/3x/modules/services/user-service.js).
“Admin manager” and “vendor” are not group types — they are derived from permission flags, so a user in any group can hold them.
Work request roles
Within a single work request, a user takes on a contextual role that governs which status transitions they can drive. These are computed per request inapi/models/WorkRequests.php and don’t change the user’s overall role.
How roles map to the org structure
Roles are always relative to the organizational hierarchy:- Studios are the top-level org unit. Studio departments, regional contacts, and vendors all attach to one or more studios.
- Territories are regional units (with their own languages). Groups are permissioned per territory, and permissions can be filtered by country and language.
- Groups tie it together: a group’s
typeis the role, itsstudios/territoriesare the scope, itsusersare the members, and its permissions are the capabilities.