Roles & Permissions (RBAC)

πŸ”
πŸ”‘ The platform uses Role-Based Access Control (RBAC) with 8 roles and 24 permissions. Province-scoped roles (Province Admin, Editor) are further restricted by Row Level Security (RLS) policies in PostgreSQL.
Roles Summary (roles table)
RoleDescriptionProvince Scoped?UsersPermissions
super_adminFull system access, all provincesNo224/24
adminManage users, content, settingsNo1020/24
province_adminAdmin for assigned province onlyYes716/24
content_managerManage all content, approve articlesOptional1514/24
reviewerReview and approve submitted contentOptional208/24
editorCreate/edit draft contentYes426/24
sme_userRegistered SME β€” bookmarks, trackerNo7,8903/24
public_userAnonymous visitorNo∞2/24
Permission Matrix (role_permissions table)
Permission super_adminadminprovince_admincontent_managerreviewereditorsme_userpublic
πŸ“ DB Schema β€” roles, permissions, role_permissions