Account types
Tenants and landlords are stored as data records — see Tenants & Landlords for details.
Each account type sees a different view of the platform based on their role and permissions. Contractors can only see jobs assigned to them. Agents can only see jobs within their assigned branches.
Role-based access control
Every account is assigned a role that determines what they can see and do. Permissions are defined across 30+ categories covering API endpoints, pages, notifications, and documents.Permission categories
Privilege hierarchy
Roles have a privilege level (numeric). Users cannot:- Create or edit accounts with a higher privilege level than their own
- Assign a role that outranks their own
- Grant permissions they do not hold themselves
Onboarding
New accounts go through a guided onboarding flow:- Account created — by an admin or via invitation email
- Welcome email — sent via Brevo with login credentials
- Email verification — the email verification guard ensures non-staff users verify their address before accessing the platform
- Profile completion — avatar, contact details, notification preferences
Password security
- Passwords are hashed with bcrypt (adaptive cost)
- Breach monitoring — passwords are checked against the HaveIBeenPwned database using k-anonymity (only the first 5 characters of the SHA-1 hash are transmitted)
- On breach detection:
- All active sessions are immediately blacklisted
- A password-reset email is sent automatically
Session management
Users can view and manage their active sessions:Branch assignment
Agent accounts can be assigned to branches. Branch assignment controls:- Which jobs they can see and manage
- Which analytics and reports they can access
- SLA rules that apply to their jobs