Commit b0357cc7 authored by Simon McVittie's avatar Simon McVittie

Add use cases for revoking and unrevoking permissions

Apertis: https://phabricator.apertis.org/T3515Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
Reviewed-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.co.uk>
Differential Revision: https://phabricator.apertis.org/D6385
parent a8a8babe
......@@ -469,6 +469,40 @@ in Android, Flatpak or iOS, but it would be straightforward for any of these
frameworks to do so: they would merely have to stop presenting a user
interface for that permission, and make requests for it always succeed.
### Changing access
An Apertis user uses a Facebook app-bundle. The user wants their location at
various times to appear on their Facebook feed, so they give the app-bundle
permission to monitor his location, as in [Location] above.
Later, that user becomes more concerned about their privacy. They want to
continue to use the Facebook app-bundle, but prevent it from accessing their
new locations. They use a user interface provided by the system vendor,
perhaps a [system preferences application], to reconfigure the permissions
granted to the Facebook app-bundle so that it cannot access their location.
Later still, that user wants to publish their location to their Facebook feed
while on a road trip. They reconfigure the permissions granted to the
Facebook app-bundle again, so that it can access their location again.
#### Security implications
This use-case is applicable if the user's perception of the most appropriate
trade-off between privacy and functionality changes over time.
#### In other systems
Android 6.0 and later versions have a
[user interface][Android app permissions] to revoke and reinstate broad
categories of permissions. Older [Android] versions had a hidden control
panel named [App ops][Android AppOps] controlling the same things at a
finer-grained level (individual permissions), but it was not officially
supported.
[iOS] allows permissions to be revoked or reinstated at any time via
the [Privacy page in its Settings app][iOS Privacy settings], which is the
equivalent of the Apertis [system preferences application].
## Potential future use-cases
Use cases described in this section are not intended to generate requirements
......@@ -1120,6 +1154,8 @@ Usage descriptions not corresponding to a use-case in this document include:
<!-- External links -->
[Android AppOps]: https://www.theguardian.com/technology/2015/jun/09/google-privacy-apple-android-lockheimer-security-app-ops
[Andoid app permissions]: https://www.howtogeek.com/230683/how-to-manage-app-permissions-on-android-6.0/
[Android calendar permissions]: https://developer.android.com/guide/topics/providers/calendar-provider.html#manifest
[Android calendar sync adapters]: https://developer.android.com/guide/topics/providers/calendar-provider.html#sync-adapter
[Android contact management]: https://developer.android.com/guide/topics/providers/contacts-provider.html
......@@ -1130,6 +1166,7 @@ Usage descriptions not corresponding to a use-case in this document include:
[Flatpak Portals]: https://github.com/flatpak/flatpak/wiki/Portals
[GNOME Calendar]: https://wiki.gnome.org/Apps/Calendar
[iOS fingerprinting]: https://arxiv.org/abs/1605.08664
[iOS Privacy settings]: https://www.howtogeek.com/177711/ios-has-app-permissions-too-and-theyre-arguably-better-than-androids/
[Kernel-based Virtual Machine]: https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
[mq_overview(7)]: https://manpages.debian.org/mq_overview(7)
[NSBluetoothPeripheralUsageDescription]: https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW20
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment