yomichan/docs/permissions.md
toasted-nutbread 849e4fabe1
Native messaging optional permission (#1348)
* Refactor PermissionsToggleController to not require a setting

* Update nativeMessaging to be optional on Chrome

* Update parsing.enableMecabParser setting to request permissions

* Update permissions page to use PermissionsToggleController

* Update permissions documentation

* Disable toggle for permissions which are not optional
2021-02-08 17:52:41 -05:00

2.1 KiB

Yomichan Permissions

  • <all_urls>
    Yomichan requires access to all URLs in order to run scripts to scan text and show the definitions popup, request audio for playback and download, and connect with Anki.

  • storage and unlimitedStorage
    Yomichan uses storage permissions in order to save extension settings and dictionary data. unlimitedStorage is used to help prevent web browsers from unexpectedly deleting dictionary data.

  • webRequest and webRequestBlocking (Manifest V2 only)
    Yomichan uses these permissions to ensure certain requests have valid and secure headers. This sometimes involves removing or changing the Origin request header, as this can be used to fingerprint browser configuration.

  • declarativeNetRequest (Manifest V3 only)
    Yomichan uses this permission to ensure certain requests have valid and secure headers. This sometimes involves removing or changing the Origin request header, as this can be used to fingerprint browser configuration.

  • scripting (Manifest V3 only)
    Yomichan will sometimes need to inject stylesheets into webpages in order to properly display the search popup.

  • clipboardWrite
    Yomichan supports simulating the Ctrl+C (copy to clipboard) keyboard shortcut when a definitions popup is open and focused.

  • clipboardRead (optional)
    Yomichan supports automatically opening a search window when Japanese text is copied to the clipboard while the browser is running, depending on how certain settings are configured. This allows Yomichan to support scanning text from external applications, provided there is a way to copy text from those applications to the clipboard.

  • nativeMessaging (optional on Chrome)
    Yomichan has the ability to communicate with an optional native messaging component in order to support parsing large blocks of Japanese text using MeCab. The installation of this component is optional and is not included by default. This permission is optional on Chrome, but required on Firefox, because Firefox does not permit it to be optional.