Privacy Master Controller (PMC) is, on the surface level, an interface within Breeze for quick access to useful privacy and security settings and information as well as a gateway to Dashboard
.
This is an integrated browser extension
used to control global settings of internal privacy and security extensions* within Breeze as well as display the count of tracking attempts blocked per site.
Users can access these features, including Dashboard
, using the popup interface.
* In further text, any mention of other extensions will refer to their respective implementation explained in Supporting Extensions
.
-
Tracking attempts blocked on this site Displays the current amount of blocked elements by
uBlock
,Privacy Badger
andClearURLs
for the tab the popup is opened on. -
Master Toggle Displays and controls the state of PMC. The state is defined as "in-use" if at least one toggle is active, "off" otherwise. If toggled while being "in-use", it will deactivate all active toggles. If toggled while "off", it will activate all three toggles. Initiates a 1s tab refresh timer upon being toggled.
-
Privacy, Security and Cosmetic Toggles
- Privacy Toggle
Enables/Disables
ClearURLs
andPrivacy Badger
. Enables/Disables the followingfilter lists
[1] inuBlock
. - Security Toggle
Enables/Disables
HTTPs Everywhere
. Enables/Disables the followingfilter lists
inuBlock
. - Cosmetic Toggle
Enables/Disables the following
filter lists
inuBlock
.
A 3s tab refresh timer is initiated upon any of the three being toggled.
- Privacy Toggle
Enables/Disables
-
View Dashboard
OpensDashboard
(located at breeze://dashboard ) in a new tab.
PMC is installed during the build phase of Breeze.
This repository is used as a submodule in the Breeze core repository.
The following patches are used for its integration:
-
pmc-installer.patch
Sets PMC to be installed during the build process as an integrated extension, sets the appropriate tooltip and disables right-click interaction. -
pmc-positioning.patch
Sets the position of the PMCbrowser action
[2] to be on the left side of theomnibox
.
Although Breeze users will not be prompted to acknowledge and accept the use of these permissions by PMC as they would with regular (e.g. Chrome Webstore) extensions due to it being an integrated extension, it is still imperative to make privacy-related information crystal clear.
These are the permissions
[3] required by PMC for it to work as intended:
"permissions": [
"storage",
"tabs",
"management",
"browsingData"
],
These permissions allow access to their respective APIs which PMC uses in the following way:
storage
[4]
- Save and load toggle values for the popup menu initialization.
- Monitor changes to toggle values for global synchronization of the popup menu.
tabs
[5]
- Perform tab queries to relay information to and from internal privacy and security extensions based on tab IDs.
- Communicate with PMC's
content script
[6] responsible for aggregating and providing block count information for each eligible tab to the popup. - Create a new tab (View Dashboard).
management
[7]
- Enable/Disable internal privacy and security extensions
browsingData
[8]
- Delete
cache
andcacheStorage
data for a specifiedhost
. (This happens when the aforementioned delayed refresh upon toggle interaction is initiated. Thehost
is the page that was in the "background" while the toggle interaction occurred.)
[1] uBlock Wiki: Filter lists
[2] Chrome Developers API Reference: chrome.browserAction
[3] Chrome Developers API Reference: Declare permissions
[4] Chrome Developers API Reference: chrome.storage
[5] Chrome Developers API Reference: chrome.tabs
[6] Chrome Developers API Reference: Content scripts
[7] Chrome Developers API Reference: chrome.management
[8] Chrome Developers API Reference: chrome.browsingData
See LICENSE