Skip to content

[TODO] Switch to Bit-Vectors for Access Control #11

@arg3t

Description

@arg3t

Description

Currently, access control is done via calculating a set of accesible notes and comparing notes with that. This does not scale. Instead, we could switch to a method that makes use of bit-vectors to calculate access levels.

Example

  1. Each entity has a field access_id which stores its index in the access control vector
  2. Each note has a dynamically calculated access_level value which is a Bit-Vector. (Possibly Propagated to Relationships)
  3. Every time a query is made, an access control vector is calculated for the user (readable entities 1, non-readable 0)
  4. This access vector is compared with the user's vector (similar to vector clocks)

Priority

  • High
  • Medium
  • Low

Environment

  • Component: Backend
  • Version: v1.X.X

Expected Outcome

Faster query times for graph operations.

Metadata

Metadata

Assignees

Labels

backendRelated to the application backendenhancementNew feature or requesttodoA task to be completed

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions