NavigatorUAData.getHighEntropyValues()

The getHighEntropyValues() method of the NavigatorUAData interface is a Promise that resolves with a dictionary object containing the high entropy values the user-agent returns.

Note: The terms high entropy and low entropy refer to the amount of information these values reveal about the browser. The values returned as properties are deemed low entropy, and unlikely to identify a user. The values returned by NavigatorUAData.getHighEntropyValues() could potentially reveal more information. These values are therefore retrieved via a Promise, allowing time for the browser to request user permission, or make other checks.

Syntax

NavigatorUAData.getHighEntropyValues(hints);

Parameters

hints

An array containing the hints to be returned, one or more of:

  • "architecture"
  • "bitness"
  • "model"
  • "platformVersion"
  • "uaFullVersion"

Return value

An object containing some or all of the following values, based on the hints requested:

architecture

A string containing the platform architecture. For example, "x86".

bitness

A string containing the architecture bitness. For example, "64".

model

A string containing the device model. For example, "Pixel 2XL".

platformVersion

A string containing the platform version. For example, "10.0".

uaFullVersion

A string containing the full browser version. For example, "91.0.4472.124".

Exceptions

A DOMException NotAllowedError

Thrown if the user-agent decides that one or more of the hints requested should not be returned.

Examples

In the following example a number of hints are requested using the getHighEntropyValues() method. When the promise resolves, this information is printed to the console.

navigator.userAgentData.getHighEntropyValues(
  ["architecture",
  "model",
  "platformVersion",
  "uaFullVersion"])
  .then(ua => { console.log(ua) });

Specifications

Specification
User-Agent Client Hints
# dom-navigatoruadata-gethighentropyvalues

Browser compatibility

BCD tables only load in the browser