You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using public supported API surfaces with backend access control enabled:
create active synthetic users A and B in one tenant;
A creates dataset M and writes a synthetic memory/object into it;
fresh B search/read of M is denied (Cognee may intentionally return empty results rather than 403; evidence must distinguish this from an empty dataset);
A explicitly grants B read on M through POST /permissions/datasets/{principal_id};
fresh B process can retrieve M;
A explicitly revokes B read through DELETE /permissions/datasets/{principal_id} while A, B and M all remain alive;
fresh B process can no longer retrieve M;
restart the bounded Cognee stack against the same storage;
B remains denied and A remains allowed;
inspect public permission/provenance evidence where available.
Required semantic checks
share is the permission authorizing grant/revoke;
no direct ACL table mutation;
no application-side filter counted as provider ACL;
dataset granularity must be recorded honestly: this qualifies a dataset/collection governance complement, not per-atom ACL;
Activity