Skip to content

Commit

Permalink
Introduce new data, web-browser-extension-distribution-information.js…
Browse files Browse the repository at this point in the history
…on, which expresses relationships between web browsers and web browser extension storefronts (#818)

See the changes to the project README for an explanation of the data.

Although some attempt is made at extensibility for various platforms, the file currently is largely designed to cater to developers of password manager apps for macOS. Patches welcome, as always!
  • Loading branch information
rmondello authored Sep 11, 2024
1 parent 9318264 commit acc16c2
Show file tree
Hide file tree
Showing 3 changed files with 419 additions and 0 deletions.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,14 @@ The file [`apple-appIDs-to-domains-shared-credentials.json`](quirks/apple-appIDs

The JSON file is a map from [App Identifier](https://developer.apple.com/help/account/manage-identifiers/register-an-app-id/) to an array of domains. Domains should be ordered by prominence from most prominent to least. The apps do not need to be distributed on Apple's App Store.

### Web Browser Extension Distribution Information

The file [`web-browser-extension-distribution-information.json`](quirks/web-browser-extension-distribution-information.json) expresses relationships between web browsers and web browser extension storefronts.

This information may be useful to any password manager with a web browser extension for the purpose of discovering installed web browsers where a user may want to install the password manager's extension.

Information in this file is re-packaged by Apple for use in macOS Sequoia version 15.1 and above to limit the [Native Messaging Host](https://developer.chrome.com/docs/extensions/develop/concepts/native-messaging) of the iCloud Passwords extension to only communicate with known web browsers.

### Websites Where 2FA Code is Appended to Password

The file [`quirks/websites-that-append-2fa-to-password.json`](quirks/websites-that-append-2fa-to-password.json) contains a JSON array of domains which use a two-factor authentication scheme where the user must append a generated code to their password when signing in. This list of websites could be used to prevent auto-submission of sign-in forms, allowing the user to append the 2FA code without frustration. It can also be used to suppress prompting to update a saved password when the submitted password is prefixed by the already-stored password.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"extension_storefronts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
},
"identifier": {
"type": "integer"
}
},
"required": [
"name",
"url",
"identifier"
]
}
},
"web_browsers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"long_name": {
"type": "string"
},
"short_name": {
"type": "string"
},
"supported_platforms": {
"type": "array",
"items": {
"type": "string"
}
},
"platform_specific_information": {
"type": "object",
"properties": {
"Mac": {
"type": "object",
"properties": {
"bundle_identifier": {
"type": "string"
},
"code_signing_identifier": {
"type": "string"
},
"code_signing_team_identifier": {
"type": "string"
},
"extensions_install_path_relative_to_user_library_directory": {
"type": "string"
}
},
"required": [
"bundle_identifier",
"code_signing_identifier",
"code_signing_team_identifier"
]
}
}
},
"supported_store_identifiers": {
"type": "array",
"items": {
"type": "integer"
}
}
},
"required": [
"long_name",
"short_name",
"supported_platforms",
"platform_specific_information",
"supported_store_identifiers"
]
}
}
},
"required": [
"extension_storefronts",
"web_browsers"
]
}
Loading

0 comments on commit acc16c2

Please sign in to comment.