// METHODOLOGY

WebRTC Leak Test

How WebRTC candidates are gathered, how a leak verdict is reached per address family, and why some browsers show nothing.

Open the WebRTC Leak Test toolRuns: in your browser

// What is tested

  • A WebRTC peer connection is opened in your browser against a public STUN server, and the ICE candidates it produces are collected.
  • Each candidate address is classified as private or public, and as IPv4 or IPv6.
  • Public candidates are compared against the address this site already sees for your connection — separately for IPv4 and IPv6, because a dual-stack connection legitimately presents a different address in each family.
  • A leak is reported only when a public candidate in a family differs from the known address in that same family.
  • Whether the browser is returning mDNS-masked candidates (.local hostnames) instead of real addresses.

// Data sources

Your browser's WebRTC stack
The candidates are produced locally by RTCPeerConnection. No candidate address is sent to any Vuther server.
Google public STUN server
stun.l.google.com:19302, used to discover the public address your connection presents. This is a standard STUN query, the same mechanism any video-calling site uses.

// Limits

  • Most current browsers mask local candidates behind randomised .local hostnames by default. That is the protection working, and it means the test cannot enumerate your private addresses — which is the correct outcome, not a failure.
  • A browser with WebRTC disabled, or an extension that blocks it, produces no candidates. That is reported as unsupported rather than as a pass.
  • The comparison is only as good as the address this site sees for you. Behind certain proxy configurations that address is itself indirect, and the comparison becomes meaningless.
  • This tests WebRTC specifically. DNS leaks, IPv6 leaks outside WebRTC and traffic-analysis exposure are different problems and are not covered.