Device Intelligence's output primarily culminates in a selection of risk labels. To support better testing across various scenarios, we have introduced the ability to configure the risk labels returned by Device Intelligence.
The following document assumes that Device Intelligence is already integrated on your side.
To enable Device Intelligence simulation, pass an optional simulationConfig as part of the InitParams.
Usage example
The following is an example of using Device Intelligence simulation:
import { init } from '@sumsub/fisherman'
const fisherman = await init({
token: fishermanToken.value,
baseUrl: sumsub.value?.fishermanApiUrl,
simulationConfig: {
visitorId: "visitorId_1",
riskLabels: ["goodBot", "incognito", "virtualMachine"]
}
})
Simulation configuration
Simulation property is an object that is segmented as follows:
export type FpSimulationConf = {
visitorId?: string
riskLabels?: string[]
}
The following table explains the element fields of the Simulation property object.
| Field | Required | Type | Description |
|---|---|---|---|
FpSimulationConf | No | Object | Contains configuration properties for simulation. |
FpSimulationConf.visitorId | No | String | Unique identifier of the user's browser/device (e.g., constant_visitorId_1).Set this property to have a constant identifier across all browsers/devices. If this property is not set, the identifier will be generated using the User-Agent (MDN docs) information. |
FpSimulationConf.riskLabels | No | Array | Most of Device Intelligence processing results in different risk labels. Allows you to specify which risk labels Device Intelligence will produce. For example, [ badBot, incognito, developerTools, tampering]. |
Supported risk labels
Currently, we support the following risk labels:
| Label | Description |
|---|---|
adblock | Detects whether the advertisement blocking software is used. |
badBot | Indicates the bot is an automated tool that does not have legitimate uses and assumes fraudulent activity. |
clonedApp | Indicates the request is from a cloned version of the user's app. |
developerTools | Informs whether developer tools were manually opened in Chrome or Firefox browsers. |
emulator | Indicates the user's app is running from within an Android emulator instead of a physical device. |
fridaTool | Indicates the user's app is being tampered with using Frida. |
goodBot | Indicates the bot is a well-known web crawler or other search engine bot. |
incognito | Detects whether incognito or private modes are being used. |
jailbroken | Indicates the user's app is running on a jailbroken iOS device. |
locationSpoofing | Indicates the mobile device is trying to spoof its location. |
mitmAttack | Indicates the request from the user's app is intercepted and potentially modified. |
privacySettingsMode | Privacy settings that have the ability to randomize and obfuscate signal output are enabled. |
rooted | Indicates the user's app is running on a rooted Android device. |
tampering | Indicates the usage of an anti-detect browser or tampering with the browser's default behavior. |
virtualMachine | Detects whether the browser is running inside a virtualization software by examining the browser configuration. |