SOLIDPOD: add permission record verification to ensure veracity of past permission
Nobody has claimed this yet.
- Dominant language
- Dart
- Stars
- 10
- Forks
- 7
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 6
Description
Description
The permission log file is appendable by any authenticated user. This forms only a weak protection against unauthorised editing.
This issue is to consider some form of cryptographic verification or other, that checks a permission is correct before it is loaded in the app. When permissions are granted/revoked/changed, a permission record is appended to the logs of the owner, granter and recipient. As the owner of a resource is constant, so their permission log (filtered for the resource) contains all permission changes to that resource. Whereas the permission records of a resource in the granter and recipient will be only a subset of the owner's set. A permission record will not necessarily match the ACL, as ACL only shows the current permissions. Verification of a permission record could be made by checking for a match of that permission record (or some representation of it) against the owner's permission record.
Why
So that as a owner or granter I want to know that records in the permissions history for a resource are true and accurate.
Closing Criteria
Checklist for closing the issue:
- No errors from
make prep - All tests pass
make qtest - Verification to ensure the veracity of past permission records.
Alternatives
Interested in alternate options to achieve this feature.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the permission log and ACL handling in the Dart project, then trace how permission records are appended and loaded for owners, granters, and recipients. Review the existing tests and run make prep and make qtest to establish the baseline. Done means past permission records are cryptographically or otherwise verifiably checked before loading, with all checks passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart
- Domain
- authorization, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100