Skip to content

Introduction

The purpose of this JavaScript library is to analyse and validate a device visiting a webpage with the library embedded. The collected data is compared with sets of known valid characteristics for legitimate devices. This comparison and validation is performed by the DeviceAssure backend service.

The DeviceAssure JavaScript library must be included on a webpage for it to work. It is recommended to include the library at the end of the web page.


Device Identification

The Web library uses the User-Agent and (optionally) the TAC to identify the claimed device. These are cross-referenced to check that they point to the same device. The library then compares measured hardware and browser properties against known reference profiles for that device.

Because the library runs in the browser, it is limited to the data the browser exposes. Some browsers (e.g., Firefox, Brave) withhold device-identifying properties, which may limit identification. Chromium-based browsers provide richer data via client-hints when the page is served over HTTPS.

Beyond comparing device properties against reference profiles, the library also runs additional checks for signs of tampering and inconsistency — such as misaligned platform claims, overridden browser properties, known automation frameworks, headless browsers, and GPU/screen contradictions.


Data Collection

The library collects data about the underlying hardware and browser capabilities. It does not collect any PII data.

The library stores data in a configurable location to prevent subsequent calls to the DeviceAssure library for a 30 minute period. DeviceAssure will not be called again until the cache expires or is deleted.

It is possible to delete the cached location within the library. The expiry and the location of the cache can be set, or can be disabled entirely. Please see Configuration Options for more details.

Note: To collect the most complete set of device data—including client-hints from Chromium-based browsers such as Chrome—ensure that your site is served over a secure context (typically HTTPS). Some browser features and data, including client-hints, are only available when the page is loaded securely.


Integration Methods

The data collected by the library may be sent to the DeviceAssure service using either the Client to Server or Server to Server model. For help deciding which to use, see Choosing an Integration Method.


The .load Method

The DeviceAssure library exposes the .load method as the entrypoint for all integration scenarios. This method supports:

Please see the Quick Start Guide and the setup guides for detailed usage examples.


Supported Browsers

DeviceAssure can reliably identify and verify devices running on browsers. The table below describes the most common browsers that can be identified.

Browser Android iOS Windows MacOS Linux
Chrome
Edge
Opera
Firefox*
Brave*
Duck Duck Go  
Samsung Browser        
Safari      
IE 11        

Note:

In addition to identifying the browsers above, DeviceAssure can identify and verify the device model except on Firefox and Brave as the identifying properties are withheld by the browser.

There is an exception for iOS devices running Firefox and Brave browsers. Due to Apple restrictions, all browsers on iOS must use the WebKit engine and therefore it is possible to identify the device model on these browsers.

A more detailed browser list DeviceAssure identifies can be found here.


QR Code

The Web library also includes a QR Code feature that allows you to verify mobile devices by having users scan a QR code displayed on a webpage. When scanned, the QR code triggers device verification on the user's mobile device and returns results to your page. See the QR Code Quick Start Guide for details.


See Also