How EnvTrace Evaluates Environment Consistency

EnvTrace Current version 1.0 Last reviewed

EnvTrace's Environment Consistency check looks for clear conflicts between your current network exit, regional browser settings, WebRTC results, and device signals.

It focuses on four questions:

  • Does the browser timezone make sense for the country of the current IP?
  • Does the browser language make sense for that country?
  • Does WebRTC expose a different public IP from the one used to load the page?
  • Do the browser's reported operating system, platform, and graphics signals contradict one another?

Each comparison can return one of three states: Match / Mismatch / Unknown

EnvTrace then uses the checks that have enough data to produce an Environment Health Score from 0 to 100 and lists any specific conflicts it found.

A consistent result does not mean an environment is guaranteed to be genuine. A mismatch does not automatically mean the environment is risky.

Environment consistency answers a narrower question: Do the signals we can currently observe make sense together?

What does EnvTrace compare?

Version 1.0 currently compares four groups of signals:

ComparisonWhat EnvTrace checks
IP country ↔ Browser timezoneWhether the timezone falls within a range commonly used in that country
IP country ↔ Browser languageWhether the primary browser language is commonly used in that country
Page public IP ↔ WebRTC public IPWhether WebRTC exposes another public network exit
OS ↔ Platform ↔ GPUWhether device-related signals clearly contradict one another

If there is not enough information to make a comparison, the result stays Unknown.

Missing data is not treated as a mismatch, and EnvTrace does not fill gaps with guessed values.

DNS location is not currently part of the Environment Consistency check.

IP country and browser timezone

EnvTrace compares: the country associated with the current public IP

with: the timezone currently exposed by the browser.

The goal is not to match the browser to one exact city. Instead, EnvTrace checks whether the browser's UTC offset falls within the timezone range normally used in that country.

Match

The browser timezone falls within a normal range for the IP country.

Mismatch

The timezone clearly falls outside that range.

The report may show: Timezone does not match IP country

Unknown

EnvTrace does not have enough IP-country or timezone reference data to complete the comparison.

For example:

IP country: Japan

Browser timezone: Asia/Shanghai

If the browser's current UTC offset does not fall within Japan's normal timezone range, EnvTrace records a mismatch.

This only means: the network location and browser timezone do not currently line up.

A traveler who keeps their home timezone, for example, can produce exactly this result.

IP country and browser language

EnvTrace compares the browser's primary language with languages commonly used in the country associated with the current IP.

For example:

  • zh-CN is compared as zh
  • en-US is compared as en

If the primary language is commonly used in that country, the result is a match.

Otherwise, the report may show: Language does not match IP country

If the IP country or language reference data is unavailable, the result stays Unknown.

Language should be interpreted carefully.

Browser language is a user preference, not proof of location or identity.

For example:

U.S. IP + Chinese browser language

can be completely normal.

This check simply records that the regional settings are not a typical combination.

Page public IP and WebRTC

This check looks for one specific condition: Does WebRTC expose a different public IP from the address used to load the page?

EnvTrace compares:

  • the public IP observed when the page loads;
  • public IP addresses exposed through WebRTC.

Private and link-local addresses are not treated as separate public network exits.

Match

The WebRTC public address matches the page's public IP.

Mismatch

WebRTC exposes another public IP.

The report may show: WebRTC exposed a different public IP

This means the browser exposed additional public network information beyond the current page exit.

Unknown

If EnvTrace does not know the page's public IP, there is no reliable baseline for comparison.

In that case, even if WebRTC returns an address, EnvTrace does not automatically label it as a leak.

When are device signals considered inconsistent?

EnvTrace does not flag a device simply because one value is unusual.

A rare browser, uncommon screen size, unusual font set, or uncommon GPU model is not enough by itself.

A device mismatch is recorded only when the available signals clearly contradict each other.

Version 1.0 mainly checks:

  • the operating system declared by the User-Agent;
  • navigator.platform;
  • platform information from Client Hints;
  • WebGL Renderer;
  • a limited set of mobile-device form-factor signals.

Operating system and platform conflicts

EnvTrace currently focuses on clear distinctions between:

  • Windows
  • macOS
  • iOS
  • Android

For example:

User-Agent clearly reports Windows

Client Hints clearly reports macOS

This is treated as a conflict.

However:

iOS + macOS-related platform information

is not automatically considered inconsistent, because some iPadOS environments can report desktop-style platform values.

Linux, unknown values, and ambiguous platform strings do not trigger a mismatch by themselves.

Operating system and graphics conflicts

Version 1.0 only flags a small number of graphics combinations that can be interpreted with high confidence.

For example:

WebGL Renderer clearly indicates an Apple GPU

but the reported operating system is neither macOS nor iOS

may be treated as a conflict.

Likewise:

Renderer clearly exposes Direct3D

but the reported operating system is not Windows

may also be recorded as inconsistent.

EnvTrace does not treat an unusual GPU name as a conflict by itself.

If the graphics information cannot be tied confidently to a different platform, no mismatch is recorded.

Mobile-device form-factor conflicts

EnvTrace also checks for a limited class of obvious mobile-device contradictions.

For example, a browser may claim to be a phone or tablet while also reporting:

  • no touch support; and
  • a screen shape that clearly resembles a desktop environment.

That combination may be recorded as a device-signal conflict.

A touchscreen desktop is not considered inconsistent simply because touch support is present.

When one of these clear contradictions is found, the report may show: Device signals conflict

How does the Environment Health Score use these results?

EnvTrace combines the checks that currently have enough data into an Environment Health Score from 0 to 100.

A higher score means fewer explicit conflicts were found among the signals that could be evaluated.

The key principle is: Missing data is not replaced with a guessed value.

Only checks with enough information are used.

The current consistency layer mainly includes:

  • timezone consistency;
  • language consistency;
  • WebRTC public-IP consistency;
  • device-signal conflicts.

Other signals, such as IP reputation, proxy classification, or browser automation indicators, belong to different parts of the EnvTrace analysis.

For example:

An IP being identified as a VPN does not automatically mean the environment is inconsistent.

Likewise:

A fully consistent environment does not mean the IP has no reputation or abuse issues.

These dimensions are shown separately.

Examples

Example 1: Signals line up

Suppose the environment shows:

  • U.S. IP
  • browser timezone within a common U.S. timezone range
  • primary language en
  • WebRTC public IP matching the page IP
  • no clear OS, platform, or GPU contradiction

The result would be:

  • Timezone: Match
  • Language: Match
  • WebRTC: Match
  • Device: No detected conflict

This means the signals EnvTrace checked can be reasonably explained as one environment.

Example 2: U.S. IP with a Chinese browser language

Suppose the environment shows:

  • U.S. IP
  • U.S.-compatible timezone
  • browser language zh-CN

The result would be:

  • Timezone: Match
  • Language: Mismatch

The report may show: Language does not match IP country

This describes a regional-settings difference. It does not mean the user or browser is illegitimate.

Example 3: WebRTC exposes another public IP

Suppose:

Page public IP: Germany

WebRTC: a different public IP

The WebRTC check is marked as a mismatch and the report may show: WebRTC exposed a different public IP

Example 4: OS and GPU clearly contradict each other

Suppose:

User-Agent: iPhone

WebGL Renderer: Direct3D

Because Direct3D is strongly associated with Windows graphics environments, Version 1.0 may record this as: Device signals conflict

If the GPU string is ambiguous and does not clearly indicate another platform, EnvTrace does not flag it based on the GPU name alone.

How should you read the Environment Consistency result?

Start with two things:

1. Environment Health Score

This gives you a quick view of whether EnvTrace found clear conflicts among the signals it was able to evaluate.

2. Issue list

The issue list is more important than the score itself because it tells you which relationship did not line up.

Common messages include:

  • Timezone does not match IP country
  • Language does not match IP country
  • WebRTC exposed a different public IP
  • Device signals conflict

If an item does not appear in the issue list, it may have matched successfully, or there may not have been enough data to evaluate it.

What does a match or mismatch actually mean?

A Match means the signals involved in that comparison can be reasonably explained together.

It does not mean: the environment has been proven to be genuine.

A Mismatch means EnvTrace found a clear difference between the signals being compared.

It does not mean: the environment is fake or inherently risky.

Normal situations can produce mismatches, including:

  • travel;
  • VPN usage;
  • remote desktops;
  • multilingual browser setups;
  • mixed IPv4 and IPv6 environments;
  • customized browser configurations.

The purpose of Environment Consistency is therefore to answer: Which signals do not currently line up?

not: Is this environment real or fake?

Method limitations

EnvTrace Environment Consistency is based on browser, device, and network signals visible to the current web session.

It cannot prove that:

  • the environment comes from a specific physical device;
  • two consistent environments belong to the same person;
  • two inconsistent environments belong to different people;
  • a consistent environment will never trigger verification;
  • an inconsistent environment will trigger a restriction;
  • another website will use the same rules as EnvTrace.

A third-party service may also use signals such as:

  • cookies;
  • account history;
  • login history;
  • server-side data;
  • behavioral patterns;
  • proprietary device-identification systems.

Environment consistency is only one layer of the broader environment.

Method version

Version 1.0

The current version covers:

  • IP country ↔ browser timezone;
  • IP country ↔ browser language;
  • page public IP ↔ WebRTC public IP;
  • clear conflicts between operating system, Platform, Client Hints, and GPU signals;
  • selected mobile-device form-factor conflicts;
  • how these checks contribute to the Environment Health Score and issue list.

DNS location is not currently included in the consistency comparison.

If EnvTrace adds new comparison signals, changes conflict rules, or materially changes the scoring model, this page will be updated with a new version and explanation.