MSEdgeExplainers icon indicating copy to clipboard operation
MSEdgeExplainers copied to clipboard

Add permissions bundles

Open tomayac opened this issue 2 years ago • 6 comments

  • Add permissions bundles to allow for tiered API access.
  • Minor changes (implementor → implementer Ngrams).

tomayac avatar Feb 04 '22 14:02 tomayac

CLA assistant check
All CLA requirements met.

ghost avatar Feb 04 '22 14:02 ghost

(I'm just checking back with our open source folks regarding the CLA.)

tomayac avatar Feb 04 '22 14:02 tomayac

CLA signed.

tomayac avatar Feb 07 '22 20:02 tomayac

CC: @aarongustafson & @diekus.

tomayac avatar Feb 21 '22 10:02 tomayac

@tomayac I’m intrigued by this concept, but it made me wonder if a permissions bundle could benefit from being an object with some form of label in addition to the array of permissions, rather than just an array of arrays? For example:

"permissions": [
  {
    "label": "Copy/paste",
    "bundle": [
      "clipboard-write",
      "clipboard-read"
    ]
  },
  {
    "label": "Communications",
    "bundle": [
      "camera", 
      "microphone",
      "notifications",
      "push"
    ]
  }
]

Perhaps implementers would disregard the labeling information, but it could also be profoundly helpful for providing basic context around why permissions are being grouped. Counterargument though: it will be abused when someone labels a bundle "Required." :-(

aarongustafson avatar Apr 25 '22 23:04 aarongustafson

Maybe UAs could come up with commonly agreed-on enums for valid labels (like "Communications") that would then be presented in localized form (for example, "The app example.com wants to use your camera and microphone, and notify you of incoming calls.") to the user at the UA's discretion?

In contrast, mini apps have the notion of a free-form permission description, which would be more in line with your "label" proposal, but they don't have bundled permissions.

tomayac avatar Apr 26 '22 09:04 tomayac