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
BandwidthUsageDisplay
```