Admin, Editor, Viewer.
Users hold a global role and can be granted a different role per project. Every API endpoint checks it on the server, so the browser is never the only line of defence. Users only see projects they have been given access to.
- Admin / Editor / Viewer roles
- Project-scoped grants
- Enforced server-side on every endpoint


