Permissions & Staff Roles¶
Managing Access Control¶
PulseRoster provides a flexible permission system with staff roles, community roles, and department-level command staff permissions.
Permission Levels¶
Hierarchy¶
| Level | Description |
|---|---|
| Owner | Full control over everything |
| Community Staff | Has isCommunityStaff flag, sees staff sections |
| Staff Role Holder | Has permissions defined by their staff role |
| Command Staff | Department-level permissions via rank |
| Member | Standard community member |
Community Staff Flag¶
Members with isCommunityStaff enabled:
- See staff-only dashboard sections
- Access analytics and reports
- View audit logs
- Access settings (with appropriate permissions)
Staff Roles¶
Create custom staff roles at Settings > Staff Roles.
Included on every plan, capped by plan
Custom staff roles with granular permissions are available on every plan. You can create 3 on Free, 10 on Standard, and unlimited on Professional. These are in addition to the three built-in community roles (Owner, Admin, and Moderator), which do not count toward the cap.
Creating a Staff Role¶
- Click Create Staff Role
- Enter name and description
- Select permissions
- Click Create
Available Permissions¶
Staff-role permissions are grouped into categories. A role grants any combination of them, and a member's effective permissions are the union of all their roles.
Roster¶
| Permission | Description |
|---|---|
roster.view |
View roster and member profiles |
roster.edit |
Edit member information and custom fields |
roster.add |
Add new members to the community |
roster.remove |
Remove members from the community |
roster.promote |
Promote and demote members |
roster.manage_assignments |
Add/remove department and subdivision assignments |
Department¶
| Permission | Description |
|---|---|
department.view |
View department details and settings |
department.edit |
Edit department settings |
department.create |
Create new departments |
department.delete |
Delete departments |
department.manage_ranks |
Create, edit, and delete ranks |
department.manage_subdivisions |
Manage subdivisions |
Time Logs & LOA¶
| Permission | Description |
|---|---|
timelogs.view / timelogs.view_all |
View time logs (own / all members) |
timelogs.edit / timelogs.delete |
Edit/approve or delete time logs |
loa.view / loa.view_all |
View LOA requests (own / all members) |
loa.approve |
Approve or deny LOA requests |
loa.manage |
Manage all LOA settings and requests |
Certifications & Disciplinary¶
| Permission | Description |
|---|---|
certifications.view |
View certifications |
certifications.manage |
Create, edit, delete certification types |
certifications.assign |
Assign and revoke member certifications |
disciplinary.view |
View disciplinary records |
disciplinary.create |
Issue disciplinary actions |
disciplinary.edit / disciplinary.delete |
Edit or delete records |
disciplinary.appeal |
Handle disciplinary appeals |
Documentation & Applications¶
| Permission | Description |
|---|---|
documentation.view / documentation.create / documentation.edit / documentation.delete |
Manage documents and folders |
documentation.publish |
Publish document updates |
documentation.manage_acknowledgments |
View and manage acknowledgment status |
applications.view |
View application forms and submissions |
applications.review |
Review submissions (status, comments, interviews) |
applications.manage_forms |
Create, edit, publish, and delete forms |
Community Admin¶
| Permission | Description |
|---|---|
community.settings |
Edit community settings |
community.billing |
Manage billing and subscriptions |
community.integrations |
Manage Discord and API integrations |
community.staff_roles |
Manage staff roles and permissions |
community.custom_fields |
Manage custom field definitions |
community.integrations covers both the Discord integration and the PulseCAD
integration: connecting it, managing its API keys, and configuring its webhook.
Two settings ignore staff roles entirely
Billing and the Danger Zone (community export and deletion) are reachable only by the community owner, the account that created the community. No staff role can grant them, including a role you have named "Owner", and the built-in Full Admin preset deliberately excludes billing. To hand these over, transfer ownership of the community.
Assigning Staff Roles¶
How to Assign¶
- Go to member profile
- Click Assign Staff Role
- Select the role
- Click Assign
Multiple Roles¶
Members can have multiple staff roles. Permissions combine (union of all permissions).
Removing Roles¶
- Go to member profile
- Find the assigned role
- Click Remove
Command Staff¶
Department-level permissions through ranks.
How It Works¶
Ranks marked as isCommandStaff: true grant permissions within their department:
| Permission | Scope |
|---|---|
| Approve/deny LOA requests | Department members only |
| Issue disciplinary actions | Department members only |
| Award commendations | Department members only |
| Promote members | Within department |
| View department audit logs | Department changes only |
Setting Up¶
- Edit the rank
- Enable Command Staff toggle
- Save
Command Staff vs Community Staff¶
| Feature | Command Staff | Community Staff |
|---|---|---|
| Scope | Their department only | Entire community |
| Source | Rank designation | Staff role/flag |
| Automatic | Yes, via rank | No, must assign |
Community Roles¶
For non-permission roles (titles/badges).
Creating Community Roles¶
- Go to Settings > Community Roles
- Click Add Role
- Enter name and color
- Save
Examples¶
| Role | Purpose |
|---|---|
| Trainer | Training team member |
| Coordinator | Event coordinator |
| Developer | Technical contributor |
| Mentor | New member mentor |
Assigning¶
- Go to member profile
- Click Assign Community Role
- Select role
- Confirm
Permission Matrix¶
Quick Reference¶
| Action | Owner | Staff | Command | Member |
|---|---|---|---|---|
| View members | ✓ | ✓ | ✓ | ✓ |
| Edit members | ✓ | * | Dept | ✗ |
| Approve LOA | ✓ | * | Dept | ✗ |
| Issue discipline | ✓ | * | Dept | ✗ |
| Award commendations | ✓ | * | Dept | ✗ |
| Access settings | ✓ | * | ✗ | ✗ |
| Manage roles | ✓ | * | ✗ | ✗ |
* Depends on assigned staff role permissions
Best Practices¶
- Least Privilege: Grant only necessary permissions
- Role-Based: Use staff roles instead of individual permissions
- Document Roles: Maintain clear descriptions of what each role can do
- Regular Review: Periodically audit staff role assignments
- Separation: Keep administrative and operational roles separate
Quick Reference¶
Permission URLs¶
| Page | URL |
|---|---|
| Staff Roles | /c/[slug]/settings/staff-roles |
| Community Roles | /c/[slug]/settings/community-roles |
Required Permissions¶
| Action | Permission |
|---|---|
| View staff roles | Staff |
| Create / edit staff roles | community.staff_roles |
| Assign staff roles | community.staff_roles |
Need help? Join our Discord Community for support.