Source code

Revision control

Copy as Markdown

Other Tools

IP Protection
=============
This document describes the implementation of the IP Protection feature in Firefox.
The code is split across two directories:
* ``toolkit/components/ipprotection`` — platform-independent core: the state machine,
the proxy/network stack, and all core helpers. This layer has no dependency on
browser UI or chrome.
* ``browser/components/ipprotection`` — browser-specific UI layer: the panel, toolbar
button, alert and infobar managers, and onboarding helpers.
Each layer is composed of three major areas:
* A finite-state machine managed by the main component: ``IPProtectionService`` (toolkit).
* The UI, controlled by ``IPProtection`` and ``IPProtectionPanel`` (browser).
* The proxy/network controller: ``IPPProxyManager`` and helper classes (toolkit).
The two layers are wired together by ``IPProtectionActivator`` (toolkit), which
assembles the full helper list and initialises the service.
See the following pages for details on components, preferences, and the state machine.
.. toctree::
Components
Constants
Preferences
StateMachine