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:
- Client to Server - Direct validation from the browser
- Server to Server - Validation via your backend server
- Configuration Options - Storage, caching, tags, and IMEI options
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
- Quick Start Guide - Get up and running quickly
- Client to Server - Direct validation from the browser
- Server to Server - Validation via your backend server
- Configuration Options - Storage, caching, tags, and IMEI options