Risk Signals
Risk Signals provide contextual and behavioral data to the Relying Party (i.e. the customer's bank), allowing it to ensure the authentication is happening under expected and secure conditions.
A Relying Party may decide upon its own risk controls, meaning this data is technically optional, but may be required at the sole discretion of the Relying Party, making them recommended.
Risk Signals are used both in Device Linking and Payment processing, and the available parameters are the following:
| Parameter | Requirement | Description |
|---|---|---|
device_id | Optional | string Unique and persistent device ID. |
isRootedDevice | Optional | boolean Indicates whether the device has root (Android) or jailbreak (iOS). |
screenBrightness | Optional | integer Screen brightness (typically 0 to 255). |
elapsedTimeSinceBoot | Optional | integer Elapsed time (in milliseconds) since device boot. |
osVersion | Optional | string Operating system version (e.g., '14' for iOS 14). |
userTimeZoneOffset | Optional | string User's time zone offset relative to UTC (i.e.: "-03"). |
language | Optional | string Device language (ISO 639-1 code). |
screenDimensions.height | Optional | integer Screen height in pixels. |
screenDimensions.width | Optional | integer Screen width in pixels. |
accountTenure | Optional | string Customer account creation date in the merchant's system (yyyy-mm-dd). |
geolocation.latitude | Optional | number Geolocation information. |
geolocation.longitude | Optional | number Geolocation information. |
geolocation.type | Optional | string Location precision (FINE or COARSE). |
isCallInProgress | Optional | boolean Indicates whether there is a phone call in progress. |
isDevModeEnabled | Optional | boolean Indicates whether developer mode is enabled. |
isMockGPS | Optional | boolean Indicates whether mock location (mock GPS) is enabled. |
isEmulated | Optional | boolean Indicates whether the application is running on an emulator. |
isMonkeyRunner | Optional | boolean Indicates whether an automated testing tool (MonkeyRunner) is in use. |
isCharging | Optional | boolean Indicates whether the device is charging the battery. |
antennaInformation | Optional | string Information about the mobile network connection type (e.g., 3G, 4G, 5G). |
isUsbConnected | Optional | boolean Indicates whether a USB cable is connected. |
integrity.appRecognitionVerdict | Optional | string Verdict on app recognition (e.g., via Google Play Protect). |
integrity.deviceRecognitionVerdict | Optional | string Verdict on the device's basic integrity. |
Node Example
"risk_signals": {
"device_id": "{string}",
"isRootedDevice": false,
"screenBrightness": 255,
"elapsedTimeSinceBoot": 6356027,
"osVersion": "14",
"userTimeZoneOffset": "-03",
"language": "pt",
"screenDimensions": {
"height": 720,
"width": 1280
},
"accountTenure": "yyyy-mm-dd",
"geolocation": {
"latitude": -15.738602,
"longitude": -47.926498,
"type": "{FINE/COARSE}"
},
"isCallInProgress": false,
"isDevModeEnabled": false,
"isMockGPS": false,
"isEmulated": false,
"isMonkeyRunner": false,
"isCharging": false,
"antennaInformation": "4G",
"isUsbConnected": false,
"integrity": {
"appRecognitionVerdict": "PLAY_RECOGNIZED",
"deviceRecognitionVerdict": "BASIC_INTEGRITY_SUCCESS"
}
}