Skip to main content
Sessions collected through the native Verisoul iOS or Android SDK include a mobile object with device facts read directly from the operating system — values that are more precise than what a browser or WebView can report. The mobile object is returned in the session block of POST /session/authenticate, POST /session/unauthenticated, and GET /session/{session_id}.

Mobile Data

Example Mobile Data

Sessions that did not come from the native mobile SDK (web and WebView-only sessions) return an empty object:

Fields

Platform availability

Not every field is collected on every platform. Fields the platform does not provide are null: oem_app_integrity and oem_device_integrity return unavailable when the platform attestation was not performed or could not be validated for the session — for example, when the app has not integrated App Attest or the project has no DeviceCheck configuration on iOS. iOS sessions commonly read unavailable for both verdicts today; Android sessions carry Play Integrity verdicts on nearly all traffic.

How mobile data relates to risk

The mobile object contains device facts only — the same way the browser and device objects report facts. All mobile risk interpretation (emulators, rooted or jailbroken devices, factory-reset boot profiles, integrity failures) is emitted through the device array of Risk Signal Details, so there is exactly one catalog of named risk signals. Native sessions also improve existing device fields: device.os is sourced from native readings on both platforms, and on iOS device.gpu, device.cpu_cores, and device.memory are as well — fixing values the WebView masks, clamps, or misreports (Android GPU, core count, and memory follow once the SDK collects them; WebView values remain the fallback).