every server-reflexive candidate has a host candidate behind it
Check id webrtc-srflx-without-host
What an ordinary browser yields
Either no reflexive candidate at all, or reflexive candidates accompanied by at least one host candidate (contextual, never scored).
What a detector infers
A server-reflexive candidate is not an address the browser knows about itself. It is what a STUN server reported seeing when a LOCAL socket sent it a packet, which makes it derived from a host candidate by construction. So reflexive entries with no host candidate behind them -- no mDNS .local name, no literal LAN address -- describe the mapping of something that was never gathered. That is the shape most findings on this page share: a value rewritten while the fact derived from it was not recomputed. Substituting a public address into the candidate list is easy; manufacturing the host candidates it would have had to be reflected from is the part that gets skipped. Measured on the reference machine: stock Chrome 150 gathers four candidates, two mDNS host and two server-reflexive, and never reflexive alone. A stealth build configured to report a fixed public address produced seven reflexive candidates all carrying that one address, zero host candidates, and gathering that never reached completion. The row is placed outside the completed-gathering branch for that reason -- inside it, it would be dead code in exactly the case it exists for.
How to resolve it
A reflexive candidate is derived from a host candidate rather than reported independently, so a candidate list cannot hold the reflection without the original. To keep a real public address off the media path, either suppress WebRTC outright or leave mDNS host candidates in place -- both are coherent. Substituting an address into the reflexive entries while the host candidates it would have been reflected from are absent is not.
Nearby checks in Network & WebRTC
- relay-forced WebRTC exits the same address this page arrived from
webrtc-turn-egressEvery other WebRTC check on this page reads what the browser is willing to show it. - host candidates use an mDNS hostname rather than a literal LAN address
webrtc-mdns-hostWhen WebRTC enumerates the ways a peer might reach you, it offers host candidates describing your machine's own network interfaces. - ICE gathering offers at least one candidate on a working network
webrtc-gathering-suppressedThe other WebRTC rows on this page read what the candidates SAY. - The WebRTC host candidate does not expose a routable public address
webrtc-address-classReading from the same fully offline RTCPeerConnection — built with no iceServers, so host-only gathering, no STUN, no packets — the first… - WebRTC header extensions match the claimed engine family
webrtc-extmap-engine-familyThis check generates an SDP offer and collects its a=extmap RTP header-extension URIs. - The WebRTC SDP offer matches the engine the User-Agent claims
sdp-engine-signatureAn RTCPeerConnection is constructed with no iceServers key, which makes the probe entirely offline: the native stack builds a local SDP… - NetworkInformation is only present on Chromium engines
connection-api-vs-engineThis check compares an API's mere existence against the engine family named by the User-Agent. - navigator.connection.rtt obeys Chromium's 25ms quantisation
connection-rtt-quantizationThe probe reads navigator.connection.rtt from the NetworkInformation API, and the check runs only when that value is a number.
Clearcote is a browser built for fingerprint coherence
It is a Chromium fork, maintained by the same people who wrote this reference. It ships as a compiled browser rather than as a stealth script injected into someone else's — which is a description of how it is built, and is not an argument about how it behaves on this check.
This audit takes no position on how Clearcote scores on Network & WebRTC checks, on this one, or anywhere else. It has no baseline corpus of other people's fingerprints to rank you against and no vendor scoreboard — nearly every check is self-referential, asking one browser the same question through two independent APIs and reporting whether both answers can be true at once. It runs identically on any browser, including ours. Run it on yours and read the result yourself.
See the other checks in Network & WebRTC — the family webrtc-srflx-without-host belongs to.