Skip to main content

Roles and permissions (RBAC)

Tirify uses a role-based access control system (RBAC). 86 permissions cover every operation in the admin panel. The owner can create custom roles and give staff members access only to the sections they need.


System roles

Six built-in roles that cannot be deleted:

RoleDescription
OwnerStore owner — full access to everything
AdminAdministrator — almost everything except deleting the store
ManagerManager — catalog, orders, players, promo
SupportSupport — tickets and player view only
Content EditorEditor — storefront, pages, widgets
ViewerObserver — can view everything, cannot change anything

Permission groups (20 groups)

Permissions are grouped by admin panel section:

GroupKeyCovers
Productsproducts:*Product CRUD, categories, presets
Ordersorders:*View, refunds, redeliver
Playersplayers:*Player list, wallet, delivery
Serversservers:*Server CRUD, plugin secret
Paymentspayments:*Providers, transactions, balance
Promopromo:*Promo codes and creator codes
Storefrontstorefront:*Design, widgets, pages, SEO
Integrationsintegrations:*Telegram, Discord, webhooks
Teamteam:*Members, invites, roles
Auditaudit:*Audit log, logs
Statisticsstatistics:*Charts, metrics
Settingssettings:*General, domain, plugin
Supportsupport:*Tickets
Wipeswipe:*Schedule, rules
Bonusesbonus:*Top-up bonuses
Analyticsanalytics:*GA4, Metrica
SEOseo:*Meta tags
Organizationorg:*Organizations, billing

Each group contains permissions:

  • :read — view
  • :create — create
  • :update — edit
  • :delete — delete

Custom roles

  1. Admin panel → Team → Roles → "Create role"
  2. Name (e.g. "Content Manager")
  3. Permissions matrix — check the ones needed
  4. Save

A custom role inherits only the checked permissions. No access by default.


Permissions matrix

In the admin panel the matrix looks like a table:

read create update delete
products ☑ ☑ ☑ ☐
orders ☑ ☐ ☐ ☐
players ☑ ☑ ☑ ☑
...

A checked cell grants the permission for that operation. An empty cell denies it (the button is hidden, the API returns 403).


Inviting staff members

The process is described in Members and invites. In short: staff member's email + role selection → email with link → staff member sees only the permitted sections.


How permissions work

  • A staff member only sees the admin panel sections their role has :read permission for
  • Create / edit / delete buttons are hidden when the corresponding permission is absent
  • The API automatically rejects operations without the required permission (error 403)

If a staff member needs more access, the owner can expand their custom role or assign a system role.


Next steps