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", "remoteControl"]
}
})
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, [ rooted , emulator , badBot , highActivity , developerTools , adblock ]. |
Supported risk labels
Currently, we support the following risk labels:
Label | Description |
---|---|
rooted | User device has been modified to give them access to the root file system and administrative rights. |
emulator | Informs whether the request was made with an emulator software. |
badBot | Indicates that the bot is an automated tool that does not have legitimate uses and assumes fraudulent activity. |
tampering | Indicates the usage of anti-detect browser or tampering with the browser default behaviour. |
clonedApp | Indicates whether the request is coming from a cloned application. |
jailbroken | Detects unauthorized modifications made to the device. |
fridaTool | Informs whether the Frida tool was used to intercept the app at runtime and change its behaviour. |
virtualMachine | Detects whether the browser is running inside a virtualization software by examining the browser configuration. |
locationSpoofing | Indicates whether the location of the mobile device has been spoofed or not. |
remoteControl | Indicates whether the request originated from a device being remotely controlled or remotely controlling another device. |
mitmAttack | Detects whether the communication between two parties was intercepted and potentially modified. |
goodBot | Indicates that the bot is a well-known web crawler or other search engine bot. |
incognito | Detects whether incognito or private modes are being used. |
privacySettingsMode | Privacy settings that have the ability to randomize and obfuscate signal output are enabled. |
developerTools | Informs whether developer tools were manually opened in Chrome or Firefox browsers. |
adblock | Detects whether the advertisement blocking software is used. |