Access & Permissions
This is the centralized system for handling all access across the entire Colibri platform.
Task Chat LaunchThis document is not meant to outline how to use the API endpoints, rather how to build it. We outline what it's capabilities should be, once you have built them, you can create documentation on how to utilize them on the APIs tab.
- Status & Details
- Research
- User Stories, Flows & Personas
- Features & Functions
- Data
Description
Each chat, file, or anything else that a user creates or is given access to must hold an access document to detail who gave access, for how long, to what and any other related details. In addition to the doc, we also need an api for developers to use this system to hande what they have access to within third party apis or Actions. The permissions API will ectend past the doc access but also data type like location, age, gender, contact detail, emails and push notification... and hardware access like bluetooth, camera, etc.
Status
These details are only updated with each release, for more acurate updates and keeping track of progress, see the task in GitHub.
Development Status
| Doc | Backend | Frontend | Last Update |
|---|---|---|---|
| In Progress | Up Next | Up Next | 04.03.2024 |
Release Status
| Version | Channel | Phase |
|---|---|---|
| 0.01 | Internal | Alpha |
Team
| Owner | Lead |
|---|---|
| Mendy | Debora |
Reminders
- Keep code lean and clear
- follow the outlined arcetecture
- write commetes in your code
- update the staus in the docs and in GitHub
- try not to recreate functions we alredy have, rather update exsiting functions to support your needs
- Be sure to follow the release guidelines
- Update Documentation
- keep API docs up to date each time you update or add endpoints
Links & Resources
Research
Features
Below is a list of features that will be utilized in order to deliver the best Access and Permissions features and functionalities. The details bellow are not comprehensive feature details but rather, describe how the features will be utilized within the account, for further details, please see the individual feature documentation.
-
[Permissions]
permissions are a a spesifict fuunction like users, projects, etc. esencaliy every action that can be taken has a related permission.-
[Levels]
each permission has a permission level (e.g. view, comment, edit, admin, owner)
-
[Sets]
Select from a prebuilt set of permissions (e.g. finance, crm, etc) or build your own. Sets allows for more granular controle while allowing a repeatble process for sililar users. A set is not a fixed list of permissions, but rather an "add in bulk" feature, once a set is added, it simply add all the permissions in that set to the user and indiviusal permissions can be chnaged or removed without affecting the rest of the set.
-
Teams
A team allows the user to apply permissions and access levels to an etire team at once, ant user added to the team get whatever permissions and levels applied to the team.
-
You can find the Data Structure.
On the document we want to keep all the important data, the first fetch and fast to access.
- who (user id)
- what (object id e.g. project, aseet, etc)
- from (shared by ID)
Access
If the account type is not "indiviual" the account will not have an auth method and thefore will reqesre access. This will be a sub-collection within the account document that will hold the account, group, etc IDs of anyone who has access to this account.
- access
- - account 1
- - - account id
- - - level
- - - inhrited (id)
- - - expries