A browser extension to provide transparency about online tracking and the inferences companies make about your browsing in order to target advertisements and personalize your web experience.
The extension and its effects on user understanding of web tracking were evaluated in the following publication: Weinshel et al. "Oh, the Places You've Been! User Reactions to Longitudinal Transparency About Third-Party Web Tracking and Inferencing." In Proceedings of CCS, 2019.
Download precompiled Firefox build here.
A browser extension to provide information about online tracking.
-
Install dependencies (run once and when any dependencies are changed): -
$ npm install
-
Build the code:
$ npm run build
- (Optional for development) Build using
$ npm run build:watch
. This runs Webpack in watch mode and automatically reruns whenever you change any files. Recommended to leave this running in a background terminal.
- (Optional for development) Build using
Recommended: run $ npm run start:chromium
to start up a temporary Chromium instance in with the extension installed, and pre-seeded data.
Otherwise, to install to your normal chrome profile, do:
- Visit
chrome://extensions
in your browser (or open up the Chrome menu by clicking the icon to the far right of the window, and select Extensions under the More Tools menu to get to the same place). - Ensure that the Developer mode toggle in the top right-hand corner is checked.
- Click Load unpacked extension… to pop up a file-selection dialog.
- Navigate to where the code is located on your computer, and select the
extension/
subdirectory.
Alternatively, you can drag and drop the directory where the extension files live onto chrome://extensions
in your browser to load it.
- Open
about:debugging
in Firefox, click Load Temporary Add-on. - Navigate to where the code is located on your computer, and select the
extension/manifest.json
file.
The extension will now be installed, and will stay installed until you close or restart Firefox.
Run npm test
to run automated tests that check end-to-end functionality.
Run npm run start:chromium
to start up a temporary Chromium (Chrome) instance with the extension installed, and pre-seeded data.
Run npm run start:firefox
to start up a temporary Firefox profile with the extension installed.
Run npm dist
. This runs webpack in production mode, minfies the files, and packs the code in a zip file in the web-ext-artifacts/
folder. This can be installed in developer mode with the same procedure as above.
The built extension will not install easily in permanent non-developer mode - it will need to be uploaded to the browser's respective store and approved.