Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Semantics for overlapping Permissions #23

Closed
Jimflip opened this issue Oct 10, 2022 · 4 comments
Closed

Semantics for overlapping Permissions #23

Jimflip opened this issue Oct 10, 2022 · 4 comments

Comments

@Jimflip
Copy link

Jimflip commented Oct 10, 2022

Hi

Permission 1 grants use of all apps on my iPhone.

Permission 2 grants use of the WhatsApp app, but has the duty to gain consent first.

These two permissions seem to overlap, and if I wanted to use WhatsApp application Permission 2 is intuitively the more specialised permission to use. However, a computer could find Permission 1 and side step the duty to gain consent.

It could be argued the permissions are poorly modelled, in which case what would be the best way to assign a duty to a very specialised subset?

Any opinions on this?

Thanks,
James.

@Jimflip
Copy link
Author

Jimflip commented Oct 10, 2022

I think the question I'm trying to answer, are Permissions completely independent from each other?

If so in my above example Permission 2 would be pointless, as you could always use Permission 1 without the obligation.

@benedictDD
Copy link
Contributor

Hi James,

Here's how I see it:

If I were offered Permission 1 by network A and Permission 2 by network B, I'd opt for network A, all other things being equal.

Here's an analogous example we met recently:

Permission 1 allows the use of an asset for £10 with no constraint on the purpose of the use.

Permission 2 allows the use of an asset for £1 but only for the purposes of product development.

If I wanted to do some product development with this asset, I could use either permission. But if I were sensible, I'd use permission 2.

Hope this helps,

Ben

@riannella
Copy link
Collaborator

Model the permissions to capture your use case...

Here is something that comes to mind....

x:p1 a o:Permission ;
o:target [
rdf:type a:AssetCollection;
o:uid: urn:myphone:apps:all ]
o:action: o:play .

urn:myphone:apps:whatsapp o:partOf urn:myphone:apps:all
urn:myphone:apps:whatsapp o:hasPolicy x:p2

x:p2 a o:Permission ;
o:target urn:myphone:apps:whatsapp ;
o:action: o:play ;
o:duty [
#add stuff here ].

@Jimflip
Copy link
Author

Jimflip commented Oct 11, 2022

Hi Ben and Renato

In hindsight I don't think my example was a good one :)
I think the issue is really about expressibility, of how to describe a very broad usage with a small exception.

I think I've a solution, using Bens example (as the issue is more around constraints than Asset collections), but with the permissions being from the same assignor.

Permission 1 allows the use of an asset for £10 with a constraint on the purpose of the use NOT being product development.

Permission 2 allows the use of an asset for £1 but only for the purposes of product development.

I'd only considered the use of constraints for specialising by positive matching, forgot they could be a negation.
Alternatively the constraint on Permission 1 could use a list of purposes and O:isAnyOf, and just not have 'product development' in the list.

i think that adequately solves my issue.

Also I think Permissions are independent except where a Prohibition may clash and we then have the conflict strategy.

Thanks for the help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants