Roles and least privilege
Role-based access gives each person exactly the screens and actions their job requires — and nothing more. An operator records stock movements; a reviewer approves; finance reconciles; an administrator configures. Each sees an appropriate slice of the system, not the whole thing.
The principle behind this is least privilege: the fewer powers a person holds, the smaller the blast radius when something goes wrong, whether by mistake or malice. Handing everyone full control feels convenient until a wrong click or a compromised login can change anything. Least privilege is not about distrust; it is about limiting how far any single error can travel.
In practice, a typical setup for a retailer with three branches: storekeepers receive and transfer stock but cannot approve adjustments; branch managers approve adjustments and requests; finance posts journals and reconciles; one or two administrators manage users and settings. A non-admin user can also be restricted to a single warehouse, so a storekeeper in one branch cannot post stock into another. When someone needs extra access for a while — covering a manager on leave — use Settings → Temporary Access to grant a second role that ends by itself, rather than permanently widening their standing role.
Key takeaways
- Roles grant only the access a job needs — operator, reviewer, finance, admin.
- Least privilege shrinks the impact of any mistake or breach.
- It is about limiting blast radius, not about distrust.
- Cover absences with a temporary role that expires on its own, not a permanent upgrade someone has to remember to undo.