-
Notifications
You must be signed in to change notification settings - Fork 56
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
Proposal: Targeted Permissions #687
Comments
This is the main reason why Safari auto-grants API permissions without notifying or warning the user, with privacy controls centered on granted host permissions. For instance, even with the I'm neutral on this issue, as it wouldn't impact Safari's overall permission model, but I can see the benefit to other browsers' permission models. |
I like the idea of opening up the ability for an extension to use WebExtensions capabilities that don't expose sensitive information to the extension, but I'm not quite sure how best to accomplish it. I expect @rdcronin and @Rob--W can speak to the details better than I can, but an advantage of our current approach is that it allows browser to limit the amount of binding necessary to initialize an extension's JavaScript context. I may be out of my lane here, but I think this may reduce startup times or have other performance benefits. It also provides a useful signal the capabilities an extension is requesting for static analysis and browser telemetry purposes. If we do allow extensions to access non-sensitive parts of existing namespaces, we may want to consider other ways to preserve the beneficial aspects of the current design.
The
Besides |
APIs with tiered permissions:
|
Reducing the permissions needed for capabilities such as Edit: Switching to supportive following discussion at TPAC. We feel this more accurately represents our feelings on the general concept but would still like to see a more concrete proposal(s). |
I'm supportive of adding tiered permissions for a read / write split for things like |
Proposal: Targeted Permissions
Background
The current permissions are designed to be comprehensive. It simplifies the API access, however, users may become wary of the access given to the extensions, as reflected by the associated permission warnings.
There are many occasions when developers require minimal non-private data/function from an API.
For example, general data is accessible in tabs.query() without the need for
tabs
permission.clipboardRead
&clipboardWrite
is another example of the targeted permission.APIs such as bookmarks, downloads, history, and more, offer a mix of general non-private access, and more in-depth private access.
While it may add to the back-end processing complexity for the browsers, targetted permission should benefit developers, users, and browsers in the long run.
Proposal
Introduce a method in API permissions to separate general data/functions from privacy-concerned data access
Method
I can think of two approaches at the moment:
tabs.query()
bookmarksBasic
(orbookmarksLimited
, etc)Use Case Example: history
General
history.addUrl()
history.deleteUrl()
history.deleteRange()
history.deleteAll()
Privacy Concerns
history.search()
history.getVisits()
The text was updated successfully, but these errors were encountered: