Skip to content

Roles & Permissions

The system uses Role-Based Access Control (RBAC) to manage what users can see and do. Each user is assigned a role, and each role has specific permissions.

The system includes these standard roles:

RolePriorityAccess Level
Super Admin100Full system access including sensitive operations
Admin90Full dashboard access, team management
Team Lead50Dashboard access, manage assigned canvassers
Canvasser10Mobile app only, assigned voters
Pending0No access until approved

Each role has a priority number. Higher priority roles have more access:

  • Users can only manage users with lower priority roles
  • Team Leads can manage Canvassers but not other Team Leads or Admins
  • Admins can manage everyone except Super Admins
  • Only Super Admins can manage other Super Admins

Full access to everything, plus:

  • Audit log access
  • Data import/export
  • System configuration
  • Role management
  • Can manage other Super Admins
  • Full dashboard access
  • Approve/reject new users
  • Create and manage cut lists
  • View all voters across all districts
  • Create invite codes for Canvass app
  • Manage events and call scripts
  • View analytics and reports
  • Dashboard access
  • View team members’ activity
  • Manage assigned cut lists
  • Create invite codes for CET app only
  • View analytics for their team
  • Mobile app access only
  • View assigned voters from cut lists
  • Record contact results
  • View and sign up for events
  • Create CET invite codes

To access role management:

  1. Click Roles in the sidebar (Super Admin only)
  2. View all roles and their permissions
  3. Click a role to see detailed permissions

Super Admins can create custom roles:

  1. Go to Roles
  2. Click Create Role
  3. Enter a name and description
  4. Set the priority level
  5. Select permissions to grant
  6. Click Save

To change a user’s role:

  1. Go to Team
  2. Click on the user
  3. Select a new role from the dropdown
  4. Click Save

You can only assign roles with a lower priority than your own role.

Different roles have different invite code permissions:

RoleCan CreateApp Types
Super Admin / AdminYesBoth Canvass and CET
Team LeadYesCET only
CanvasserYesCET only

Dashboard access is controlled by role:

  • Super Admin, Admin, Team Lead - Can access the admin dashboard
  • Canvasser - Mobile app only, no dashboard access

The system checks dashboard access using the can_access_admin_dashboard() function.

  • Start users as Canvassers and promote as needed
  • Use Team Lead for coordinators who need limited admin access
  • Reserve Admin for trusted campaign staff
  • Keep Super Admin count minimal
  • Review roles periodically
  • Remove access when volunteers leave
  • Use audit logs to monitor sensitive actions
  • Don’t share Super Admin credentials