Permissions

RedStick AI uses a role-based permission system with a fixed permission matrix.

Roles#

Every workspace member has one of three roles:

RoleDescription
OwnerFull control of the workspace, including billing. The owner role is held by the workspace creator.
AdminAll six platform permissions — identical to owner in the permission matrix. Billing-related API routes are restricted to the owner role via a separate role-level guard that is independent of the permission matrix.
MemberLimited permissions — can run and view executions.

Permissions#

6 permissions control access to platform features:

PermissionDescription
execution:createStart new agent tasks
execution:cancelStop running tasks
execution:viewView task history and messages
project:createCreate new projects
project:deletePermanently delete projects
project:settingsModify project settings, environment variables, and services

Permission Matrix#

PermissionOwnerAdminMember
execution:createYesYesYes
execution:cancelYesYesNo
execution:viewYesYesYes
project:createYesYesNo
project:deleteYesYesNo
project:settingsYesYesNo

How Permissions Are Enforced#

The permission matrix is fixed — it is the same for every workspace and cannot be customized. The matrix is applied in two places:

  • API layer — every relevant endpoint checks the caller's role before executing (e.g., POST /api/executions requires execution:create).
  • UI layer — buttons, forms, and routes that require a permission are hidden or disabled for roles that lack it.

Owner permissions cannot be modified — owners always have full access.

Managing Roles#

Roles are assigned and changed in the Settings → Team & Billing page:

  • Owners can assign or change any non-owner member's role (between admin and member).
  • Admins can invite new members (assigned the member role). Admins cannot change any existing member's role — the role-change UI is restricted to owners, and the API blocks any admin-initiated role assignment that would result in a meaningful change.
  • The owner role cannot be assigned or transferred — it belongs to the workspace creator. This is enforced both in the UI and at the API level.

Role changes take effect immediately — all active sessions for the affected user are invalidated so the new role applies on their next request.

Troubleshooting#

SymptomLikely causeResolution
"You don't have access to create projects." toastYour role lacks project:createContact your workspace owner to be promoted to Admin
"You don't have access to project settings." toast followed by redirectYour role lacks project:settingsYou need Admin or Owner role to access project settings
Cancel button missing on a running taskYour role lacks execution:cancelOnly Admin and Owner can cancel executions
Team & Billing not visible in sidebarYour role is MemberThe Settings group is hidden for members; only admin and owner see it