solid / solid/data-interoperability-panel

Endpoint to see with whom a resource has already been shared

Open
#329 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Bikeshed
Stars
58
Forks
18
PR merge metrics
No merged PRs in 30d

Description

When we give others the right to share a resource (through delegation), it's very annoying if they can't know with whom the resource has already been shared. They may want to select all their contacts, thinking none of them can see the resource... while in reality all their contacts can already see the resource. The AA will mostly likely ignore these Delegated Data Grants, but it's still a very bad user experience.

So it would be very useful if there could be some endpoint that shares the authorizations that have already been granted. And maybe the resource owner could give it only to people who received the right to share (delegation).

In WAC, there has been a proposal to create a ControlRead ACL mode: the right to see the permissions, but not to change them. We would be something similar for SAI grants.

This cannot be something specific to the Authorization Agent (that would be implementation-specific) because, if Bob receive the right to share a resource from Alice, it is Alice's AuthorizationAgent that can tell to Bob with whom this resource has already been shared. So the endpoint needs to be published somewhere.

In ActivityPods, we currently use an ActivityStreams collection, linked from every shared resources, that simply list the WebID of users. This collection is private by default, but users who receive the right to share a resource also get the right to read that collection. It works, but we would prefer to have something that better integrate into SAI.

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 reviewing the SAI grant model and the linked WAC ControlRead proposal to clarify what permission visibility should expose. Compare this with the ActivityStreams collection approach described for ActivityPods, then define where the endpoint belongs and which delegated users may read it. Done means an agreed specification for the endpoint, access rules, and returned authorizations.

Written by the indexing model from the issue text.

Assessment

Domain
api, authorization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.