XiriGoXiriGo Admin Docs

Roles & Permissions

Understand the role-based access control (RBAC) system that governs who can do what in the Admin Panel.

Roles & Permissions

The XiriGo Admin Panel uses a Role-Based Access Control (RBAC) system to ensure that administrators only have access to the features and data they need. Every action in the panel is governed by permission checks.

Role Hierarchy

RoleAccess LevelDescription
Super AdminFull platform accessUnrestricted access to all modules, settings, and administrative actions. Can create and manage other admin accounts.
Operations ManagerMarketplace + FinanceManage vendors, orders, products, customers, commissions, and payouts. Cannot modify system settings or manage admin users.
Content ManagerContent + MarketingManage banners, announcements, campaigns, coupons, and loyalty program. Read-only access to marketplace data.
Support AgentDisputes + Orders (read)Handle disputes, moderate reviews and Q&A, view orders and customers. Cannot modify financial settings.
AnalystAnalytics (read-only)View dashboards, reports, and search analytics. Export data. No write access to any module.

The Super Admin role is the default for the initial platform setup. Additional roles can be configured as your team grows.

Permission Scopes

Permissions are organized by module and action type. Each role is assigned a set of permission scopes that define what they can access.

Permission Structure

Permissions follow the pattern module:action. Available actions are:

ActionDescription
readView data and listings
createCreate new records
updateModify existing records
deleteRemove records
manageFull control (includes all above actions)

Module Permissions

ModulePermission Scopes
Vendorsvendors:read, vendors:create, vendors:update, vendors:manage (includes approve/suspend/ban)
Ordersorders:read, orders:update, orders:manage (includes returns, claims)
Productsproducts:read, products:update, products:manage (includes moderation)
Customerscustomers:read, customers:update, customers:manage
Financefinance:read, finance:manage (includes commission rules, payout actions)
Disputesdisputes:read, disputes:update, disputes:manage
Contentcontent:read, content:create, content:update, content:delete
Campaignscampaigns:read, campaigns:create, campaigns:update, campaigns:manage
Loyaltyloyalty:read, loyalty:manage
Searchsearch:read, search:manage (includes synonyms, redirects, merchandising)
Analyticsanalytics:read, analytics:export
Settingssettings:read, settings:manage
Auditaudit:read, audit:manage (includes admin user management)

Role-Permission Matrix

The following table shows which permissions are granted to each built-in role:

PermissionSuper AdminOps ManagerContent ManagerSupport AgentAnalyst
vendors:manageYesYes---
orders:manageYesYes-Read only-
products:manageYesYes---
customers:manageYesYes-Read only-
finance:manageYesYes---
disputes:manageYes--Yes-
content:manageYes-Yes--
campaigns:manageYes-Yes--
loyalty:manageYes-Yes--
search:manageYes----
analytics:readYesYesYes-Yes
analytics:exportYesYes--Yes
settings:manageYes----
audit:manageYes----

Managing Roles

Go to System > Audit > Admin Users in the sidebar.

Click Create Admin to add a new administrator, or click on an existing user to edit their role.

Select the appropriate role from the dropdown. The permission scopes are automatically applied based on the selected role.

Click Save. The user's permissions take effect immediately on their next page load or API call.

Only Super Admin users can create, modify, or delete other admin accounts. This prevents privilege escalation by lower-level roles.

Permission Enforcement

Permissions are enforced at two levels:

  1. Frontend (UI) — Sidebar items, buttons, and pages are conditionally rendered based on the logged-in user's permissions. Unauthorized modules are hidden from navigation entirely.
  2. Backend (API) — Every API endpoint validates the caller's JWT token and checks permission scopes before processing the request. Even if a user bypasses the UI, the backend rejects unauthorized actions with a 403 Forbidden response.

All permission checks and access denials are logged in the Audit Log for security monitoring.

On this page