Skip to content

Introduction

The DeviceAssure Android library validates devices accessing your mobile application by collecting device characteristics and comparing them against known valid device profiles maintained by the DeviceAssure backend service.

The library utilizes an embedded DeviceAtlas DeviceInfo library and requires certain permissions before it can validate the device. Validation results may be returned directly to the library, to an intermediate server, or to a predefined callback URL.


Device Identification

The Android library uses three independent identifiers to verify a device's claimed identity: the User-Agent, the Make/Model (from Android build properties), and the TAC. These are cross-referenced to check that they all point to the same device. The library then compares measured hardware properties against known reference profiles for that device.

Having three identifiers rather than two (as with the Web library) provides stronger corroboration and more confident validation results.


Data Collection

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

The collected data falls into the following groups:

  • Audio
  • Bluetooth
  • Build
  • Build Version
  • Camera
  • CPU
  • Customer Properties
  • Device Dates
  • Display
  • GPU
  • Input Devices
  • Media Codecs
  • Memory
  • Network
  • Permissions
  • Privilege Escalation
  • Sensor
  • Storage
  • Telephony
  • USB
  • Vibrator
  • Web

The library has minimal impact on the host application and uses a background thread where possible to avoid blocking the main UI thread. If the background thread does not complete within 10 seconds, it will terminate and send the properties gathered up to that point.


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 Validation Methods

The DeviceAssure library exposes two main methods:

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


See Also