anusii / anusii/solidpod

SOLIDPOD: add permission record verification to ensure veracity of past permission

Open
#593 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.