Enable Fisherman simulation

Fisherman'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 Fisherman.

The following document assumes that Fisherman is already integrated on your side.

To enable Fisherman simulation, pass an optional simulationConfig as part of the InitParams.

Usage example

The following is an example of using Fisherman 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.

FieldRequiredTypeDescription
FpSimulationConfNoObjectContains configuration properties for simulation.
FpSimulationConf.visitorIdNoStringUnique 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.riskLabelsNoArrayMost of Fisherman's processing results in different risk labels.

Allows you to specify which risk labels Fisherman will produce. For example, [rooted, emulator, badBot, highActivity, developerTools, adblock].

Supported risk labels

Currently, we support the following risk labels:

  • rooted
  • emulator
  • badBot
  • tampering
  • clonedApp
  • jailbroken
  • fridaTool
  • virtualMachine
  • locationSpoofing
  • remoteControl
  • mitmAttack
  • goodBot
  • incognito
  • privacySettingsMode
  • highActivity
  • developerTools
  • adblock