---
updatedAt: 2026-03-04T17:48:31.000Z
agentTools:
  projectIndex: https://docs.sumsub.com/llms.txt
---

# Enable Device Intelligence simulation

Device Intelligence's output primarily culminates in a selection of [risk labels](#supported-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](https://docs.sumsub.com/sumsub/reference/get-started-with-device-intelligence) on your side.

To enable Device Intelligence simulation, pass an optional [simulationConfig](#simulation-configuration)  as part of the [InitParams](https://docs.sumsub.com/sumsub/reference/get-started-with-device-intelligence).

# Usage example

The following is an example of using Device Intelligence simulation:

```javascript
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:

```javascript
export type FpSimulationConf = {
  visitorId?: string
  riskLabels?: string[]
}
```

The following table explains the element fields of the Simulation property object.

[block:parameters]
{
  "data": {
    "h-0": "Field",
    "h-1": "Required",
    "h-2": "Type",
    "h-3": "Description",
    "0-0": "`FpSimulationConf`",
    "0-1": "No",
    "0-2": "Object",
    "0-3": "Contains configuration properties for simulation.",
    "1-0": "`FpSimulationConf.visitorId`",
    "1-1": "No",
    "1-2": "String",
    "1-3": "Unique identifier of the user's browser/device (e.g., `constant_visitorId_1`).  \n  \nSet 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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/User-Agent)) information.",
    "2-0": "`FpSimulationConf.riskLabels`",
    "2-1": "No",
    "2-2": "Array",
    "2-3": "Most of Device Intelligence processing results in different [risk labels](#supported-risk-labels).  \n  \nAllows you to specify which risk labels Device Intelligence will produce. For example, [`badBot`, `incognito`, `developerTools`, `tampering`]."
  },
  "cols": 4,
  "rows": 3,
  "align": [
    "left",
    "left",
    "left",
    "left"
  ]
}
[/block]

# 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.                        |
| `factoryReset`        | The device has been recently factory reset, which may be used to erase previous activity or bypass fraud detection. |
| `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.     |