The Userify Permissions Model
Userify is designed around a Role-Based Access Control (RBAC) system that has several key elements:
* Users * User Groups * Roles * Permissions * Grants
This permission system distributes rights across the following entities:
* Companies * Projects * Server Groups
Projects always exist within companies, and server groups always exist within projects.
Internally, each user is stored as a separate document and links to (and is linked from) each company that the user belongs to.
Users are organized into user groups, and, as with every other element of the permission model, user groups can exist at the company or project level.