Your team sets up a proxy, runs our My IP test and sees the proxy's address. So far, so good. A page can still read the office or home IP behind the proxy through WebRTC, a browser feature that ignores the proxy settings. In a market check, that mixes your real location into the result; in competitor research, it tells the other side where the visit came from. Fixing it takes a few minutes per browser.
What WebRTC does
WebRTC lets browsers run video calls, screen sharing and file transfers directly between devices. To connect two devices, it gathers every IP address the browser can be reached on, including the local one behind any proxy or VPN, and a website can read that list with JavaScript. None of this passes through the proxy, because it happens inside the browser.
Firefox: one setting
- Type
about:configin the address bar and accept the warning. - Search for
media.peerconnection.enabled. - Change it to
false.
WebRTC is now off in that profile. Browser-based video calls stop working there too, so many teams keep a separate Firefox profile just for market checks.
Chrome, Edge and Brave: an extension or a setting
Chrome and Edge have no built-in switch, so the fix is an extension:
- WebRTC Leak Prevent sets the WebRTC IP handling policy to "default_public_interface_only" or "disable_non_proxied_udp".
- WebRTC Network Limiter, Google's own extension, does much the same job.
- Brave needs no extension: in its privacy and security settings, set WebRTC IP handling policy to "Disable non-proxied UDP".
What to do on Safari
Safari has no simple WebRTC switch in its standard settings. If the leak test shows your real address in Safari, run market checks in a Firefox profile with WebRTC turned off, or in a multi-account browser, instead of changing experimental options.
If your agency uses a multi-account browser
Multilogin, Dolphin Anty, GoLogin, Incogniton and Kameleo handle WebRTC per profile, so a page sees the profile's proxy IP rather than your own. If your agency already runs client accounts in one of these, confirm the WebRTC setting in each profile when you create it.
Automated browsers: Selenium, Puppeteer and Playwright
When Selenium, Puppeteer or Playwright launches Chrome for QA or monitoring jobs, WebRTC handling is set with launch flags, for example:
--disable-features=WebRtcHideLocalIpsWithMdns
--force-webrtc-ip-handling-policy=default_public_interface_only
Flag behaviour changes between Chrome versions, so treat any set of flags as something to verify rather than a permanent fix. The puppeteer-extra-plugin-stealth and playwright-stealth packages also adjust WebRTC, but they change many other browser signals at the same time. For predictable QA results, keep the setup minimal and check it with the leak test below.
Sign off with the leak test
After any change, open our WebRTC leak test through the proxy. You want to see "No leak" or "Local IPs only". Add the test to your team's setup checklist and repeat it after browser updates, which sometimes reset these settings. For the other common leak, see our guide to DNS leaks on team devices.