incognito

Type String
Mandatory No
Example
"incognito": "spanning"
"incognito": "split"
"incognito": "not_allowed"

Use the incognito key to control how the extension works with private browsing windows.

This is a string which may take any of the following values:

  • "spanning" (the default): the extension will see events from private and non-private windows and tabs. Windows and tabs will get an incognito property in the Window or Tab that represents them. This property indicates whether or not the object is private:

    browser.windows.getLastFocused().then((windowInfo) => {
      console.log(`Window is private: ${windowInfo.incognito}`);
    });
  • "split": the extension will be split between private and non-private windows. There are effectively two copies of the extension running: one sees only non-private windows, the other sees only private windows. Each copy has isolated access to Web APIs (so, for example, localStorage is not shared). However, the WebExtension API storage.local is shared.
  • "not_allowed": private tabs and windows are invisible to the extension.

Example

"incognito": "spanning"
"incognito": "split"
"incognito": "not_allowed"

Browser compatibility

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic supportYesNo4848Yes
splitYesNoNoNoYes
not_allowedYesNoNoNoYes

Document Tags and Contributors

 Contributors to this page: wbamberg, hellosct1, andrewtruongmoz, Brettz9
 Last updated by: wbamberg,