Case study · Auggy
Client project · AugmentProject period2024 – 2025
Role-based access control
Implemented Role Based Access Control (RBAC) to enforce precise user permissions, dynamically allowing or restricting actions and features based on user roles.
01
Why
Not everyone should reach every feature or agent. Auggy has different roles, from employees to HR to leadership, and what each can do differs. For example, HR work is not for an employee.
02
Decision
Roles decide which features and agents a person can use, and the interface adapts to the role. The important part is where it's enforced. Every role check happens in both the application and the backend, including the check inside the agents. A check in the application alone can be bypassed: someone can send a made-up value and get past it, which can break the backend. So the rule I use is to validate on both sides, every time.
03
Alternatives considered
Enforcing roles in the application only. I rejected it because it's easy to get around, and it isn't a good practice.
04
What I built
Implemented Role-Based Access Control (RBAC) across the application to dynamically control available functionality based on assigned user roles.
User permissions determine which actions and features are available, allowing both application behavior and relevant UI functionality to adapt according to authorization rules.
05
Trade-offs
The rule has to be kept in step in two places, the application and the backend.
06
Outcome
Access follows the role in both the interface and the AI, and it can't be skipped by changing something on the client.
Technologies
- RBAC
- Authorization
React