Skip to content

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.


Individual accounts with authentication credentials and profile information.

User Properties:

  • Name and email
  • Password (or OAuth connection)
  • Group memberships
  • Account status (active/disabled)

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:

LevelNameDescription
0Super AdminFull system access including critical operations
1AdminAdministrative access to most features
2ManagerProject and team management capabilities
3LeadLead consultant with elevated project access
4ConsultantStandard consultant access
5ViewerRead-only access

🖥️ User Creation Form Screenshot
  1. Navigate to Admin > Users & Access
  2. Click Create User
  3. Fill in required fields:
    • Full Name
    • Email Address
    • Password (or enable OAuth-only)
  4. Assign to one or more Groups
  5. Click Save
  1. Find the user in the user list
  2. Click the user row or edit icon
  3. Modify fields as needed
  4. Click Save Changes

Disabled users cannot log in but their data and history are preserved.

  1. Open user details
  2. Toggle Account Status to Disabled
  3. Save changes
  1. Open user details
  2. Click Delete User
  3. Confirm deletion

🖥️ Group Management Interface Screenshot
  1. Navigate to Admin > Users & Access > Groups
  2. Click Create Group
  3. Enter group name and description
  4. Assign roles to the group
  5. Add users to the group
  6. Click Save

Groups can be nested for organizational clarity:

Organization
├── Security Team
│ ├── Senior Consultants
│ └── Junior Analysts
├── Management
│ ├── Project Managers
│ └── Account Managers
└── Support
└── Technical Writers
  1. Open group settings
  2. Navigate to Roles tab
  3. Select roles to assign
  4. Save changes

All users in the group inherit the assigned role permissions.


🖥️ Permission Configuration Interface Screenshot
  1. User logs in
  2. System retrieves user’s group memberships
  3. System aggregates roles from all groups
  4. User receives highest permission level across all roles
  5. Specific module permissions are combined additively
CategoryControls
ProjectsCreate, view, edit, delete projects
ReportsCreate, edit, export reports
FindingsCreate, edit findings and library
AssetsAsset management and imports
AdminAdministrative functions
SystemSystem-level operations

Senior Consultant Role:

Projects: Full Access
Reports: Full Access
Findings: Full Access
Assets: Full Access
Admin: None
System: None

Project Manager Role:

Projects: Full Access
Reports: View + Export
Findings: View
Assets: View
Admin: User Management
System: None

Users can generate API tokens for automation:

  1. Go to Account Settings > API Tokens
  2. Click Generate Token
  3. Set token name and expiration
  4. Copy and store the token securely

API tokens inherit the user’s permissions. For restricted access:

  1. Create a dedicated service account user
  2. Assign minimal required permissions
  3. Generate token for that user

All user and permission changes are logged:

EventLogged Information
User CreatedCreator, timestamp, user details
User ModifiedModifier, timestamp, changed fields
User DeletedDeleter, timestamp
Group ChangedModifier, timestamp, membership changes
Login AttemptUser, timestamp, success/failure, IP
Permission ChangeModifier, timestamp, old/new values

View the audit log at Admin > Security > Audit Log.


🖥️ Bulk Operations for User Management Screenshot

Import multiple users from CSV:

  1. Navigate to Admin > Users & Access
  2. Click Import Users
  3. Download the template CSV
  4. Fill in user data
  5. Upload the completed CSV
  6. Review and confirm

CSV Format:

name,email,groups
John Smith,[email protected],"Consultants,Project A"
Jane Doe,[email protected],Managers

Assign multiple users to a group:

  1. Select users in the user list
  2. Click Bulk Actions > Assign to Group
  3. Select target group
  4. Confirm assignment

Assign the minimum permissions required for each role:

  • Start with restricted access
  • Add permissions as needed
  • Regular permission audits
  • Assign permissions to groups, not individual users
  • Create functional groups (by role) not organizational groups
  • Use descriptive group names

For automated systems:

  • Create dedicated service account users
  • Use descriptive names (e.g., “Jenkins CI Bot”)
  • Limit to specific required permissions
  • Rotate tokens regularly

Schedule periodic reviews:

  • Quarterly permission audits
  • Remove unused accounts
  • Verify group memberships
  • Review API token usage

  1. Check user’s group memberships
  2. Verify group has required roles assigned
  3. Check specific permission for the feature
  4. Review audit log for recent permission changes
  1. User may need to log out and back in
  2. Check for conflicting group assignments
  3. Verify role permissions are correctly configured

If all admin accounts are inaccessible:

  1. Access PocketBase admin panel at /_/
  2. Use the superuser account created during setup
  3. Reset user passwords or create new admin account