Users & Access
SPEAR implements role-based access control (RBAC) through a flexible system of users, groups, and roles. This architecture allows granular permission management while keeping administration straightforward.
Concepts
Section titled “Concepts”Individual accounts with authentication credentials and profile information.
User Properties:
- Name and email
- Password (or OAuth connection)
- Group memberships
- Account status (active/disabled)
Groups
Section titled “Groups”Collections of users that share the same permissions through assigned roles.
Example Groups:
- Senior Consultants
- Junior Analysts
- Project Managers
- Report Reviewers
Permission sets that define what actions users can perform.
Permission Levels:
| Level | Name | Description |
|---|---|---|
| 0 | Super Admin | Full system access including critical operations |
| 1 | Admin | Administrative access to most features |
| 2 | Manager | Project and team management capabilities |
| 3 | Lead | Lead consultant with elevated project access |
| 4 | Consultant | Standard consultant access |
| 5 | Viewer | Read-only access |
User Management
Section titled “User Management”Creating Users
Section titled “Creating Users”- Navigate to Admin > Users & Access
- Click Create User
- Fill in required fields:
- Full Name
- Email Address
- Password (or enable OAuth-only)
- Assign to one or more Groups
- Click Save
Editing Users
Section titled “Editing Users”- Find the user in the user list
- Click the user row or edit icon
- Modify fields as needed
- Click Save Changes
Disabling Users
Section titled “Disabling Users”Disabled users cannot log in but their data and history are preserved.
- Open user details
- Toggle Account Status to Disabled
- Save changes
Deleting Users
Section titled “Deleting Users”- Open user details
- Click Delete User
- Confirm deletion
Group Management
Section titled “Group Management”Creating Groups
Section titled “Creating Groups”- Navigate to Admin > Users & Access > Groups
- Click Create Group
- Enter group name and description
- Assign roles to the group
- Add users to the group
- Click Save
Group Hierarchy
Section titled “Group Hierarchy”Groups can be nested for organizational clarity:
Organization├── Security Team│ ├── Senior Consultants│ └── Junior Analysts├── Management│ ├── Project Managers│ └── Account Managers└── Support └── Technical WritersAssigning Roles to Groups
Section titled “Assigning Roles to Groups”- Open group settings
- Navigate to Roles tab
- Select roles to assign
- Save changes
All users in the group inherit the assigned role permissions.
Permission System
Section titled “Permission System”How Permissions Work
Section titled “How Permissions Work”- User logs in
- System retrieves user’s group memberships
- System aggregates roles from all groups
- User receives highest permission level across all roles
- Specific module permissions are combined additively
Permission Categories
Section titled “Permission Categories”| Category | Controls |
|---|---|
| Projects | Create, view, edit, delete projects |
| Reports | Create, edit, export reports |
| Findings | Create, edit findings and library |
| Assets | Asset management and imports |
| Admin | Administrative functions |
| System | System-level operations |
Example Permission Configuration
Section titled “Example Permission Configuration”Senior Consultant Role:
Projects: Full AccessReports: Full AccessFindings: Full AccessAssets: Full AccessAdmin: NoneSystem: NoneProject Manager Role:
Projects: Full AccessReports: View + ExportFindings: ViewAssets: ViewAdmin: User ManagementSystem: NoneAPI Access
Section titled “API Access”User Tokens
Section titled “User Tokens”Users can generate API tokens for automation:
- Go to Account Settings > API Tokens
- Click Generate Token
- Set token name and expiration
- Copy and store the token securely
Token Permissions
Section titled “Token Permissions”API tokens inherit the user’s permissions. For restricted access:
- Create a dedicated service account user
- Assign minimal required permissions
- Generate token for that user
Audit Trail
Section titled “Audit Trail”All user and permission changes are logged:
| Event | Logged Information |
|---|---|
| User Created | Creator, timestamp, user details |
| User Modified | Modifier, timestamp, changed fields |
| User Deleted | Deleter, timestamp |
| Group Changed | Modifier, timestamp, membership changes |
| Login Attempt | User, timestamp, success/failure, IP |
| Permission Change | Modifier, timestamp, old/new values |
View the audit log at Admin > Security > Audit Log.
Bulk Operations
Section titled “Bulk Operations”Import Users
Section titled “Import Users”Import multiple users from CSV:
- Navigate to Admin > Users & Access
- Click Import Users
- Download the template CSV
- Fill in user data
- Upload the completed CSV
- Review and confirm
CSV Format:
name,email,groupsBulk Group Assignment
Section titled “Bulk Group Assignment”Assign multiple users to a group:
- Select users in the user list
- Click Bulk Actions > Assign to Group
- Select target group
- Confirm assignment
Best Practices
Section titled “Best Practices”Least Privilege
Section titled “Least Privilege”Assign the minimum permissions required for each role:
- Start with restricted access
- Add permissions as needed
- Regular permission audits
Group-Based Management
Section titled “Group-Based Management”- Assign permissions to groups, not individual users
- Create functional groups (by role) not organizational groups
- Use descriptive group names
Service Accounts
Section titled “Service Accounts”For automated systems:
- Create dedicated service account users
- Use descriptive names (e.g., “Jenkins CI Bot”)
- Limit to specific required permissions
- Rotate tokens regularly
Regular Audits
Section titled “Regular Audits”Schedule periodic reviews:
- Quarterly permission audits
- Remove unused accounts
- Verify group memberships
- Review API token usage
Troubleshooting
Section titled “Troubleshooting”User Can’t Access Feature
Section titled “User Can’t Access Feature”- Check user’s group memberships
- Verify group has required roles assigned
- Check specific permission for the feature
- Review audit log for recent permission changes
Permission Not Taking Effect
Section titled “Permission Not Taking Effect”- User may need to log out and back in
- Check for conflicting group assignments
- Verify role permissions are correctly configured
Locked Out Admin
Section titled “Locked Out Admin”If all admin accounts are inaccessible:
- Access PocketBase admin panel at
/_/ - Use the superuser account created during setup
- Reset user passwords or create new admin account