Fingerprint Connector
Fingerprint (previously FingerprintJS) is a device detection platform that provides valuable information about the device. Fingerprint's key feature is its ability to generate a unique ID, often called a "device fingerprint", and permanently associate it with each device. Once the service identifies the device, it can provide crucial geoinformation, bot detection, VPN detection, and more. This connector provides the ability to automate threat detection in an authentication process with Descope and scare off unwelcome visitors to a platform.
Setting Up The Fingerprint Connector
To integrate the Fingerprint connector, follow the steps below:
Navigate to Connector
- Visit the Connectors page in the Descope Console.
- Choose Fingerprint from the list of connectors.
Connector Setup
Set up the necessary inputs:
- Connector name: Assign a custom name for your connector, especially useful when using multiple connectors originating from the same template.
- (Optional) Connector description: A brief description of your connector's purpose.
Proceed by providing the connector Public API Key and Secret API Key, which are copied from Fingerprint's configuration page, the details for these keys can be found here:
- Login to
https://fingerprint.com/. - Go to "App Settings".
- Go to the API Keys tab.
CloudFlare Integration
When a Descope flow uses the Fingerprint connector, it calls Fingerprint to establish or get a unique device ID. Toggle CloudFlare integration to configure Fingerprint's API calls to match your domain.
Integration with CloudFlare needs to be ready on Fingerprint read more.
- Cloudflare integration Script URL: The Cloudflare integration Script URL (format example -
https://api.company.com/fXj8gt3x8VulJBnb/w78aRZnnDZ3Aqw0v). - Cloudflare integration Endpoint URL: The Cloudflare integration Endpoint URL (format example -
https://api.company.com/fXj8gt3x8VclJBna/x96Emn69oZwcd7I4).
Note
Make sure that the URLs are accessible.
Test & Save
The "Test" button allows you to test the configuration, ensuring it was successfully configured before using it in a flow. Note that it may take up to a minute for a new private key created in Fingerprint to work. Until then, you may face a failure response.
- Conclude the setup process by selecting
Create.
Implementing the Fingerprint Connector
Select or Create a Flow
Access your Dashboard and go to flows. You can choose an existing flow or generate a new one.
Integration
Click on the blue plus sign inside the flow builder and choose "Connector". You should be able to see the new connector actions as shown below:

Warning
Since fingerprinting is completed within the browser, the connector steps need to be added after at least one "screen" component has been displayed to the user.
Running the Fingerprint Script on a Specific Screen
By default, the Fingerprint script loads when the flow starts, in any flow that uses the Get Event action. To choose which screen runs the Fingerprint script, attach the Fingerprint connector to that screen:
- Open the screen in the flow editor.
- In the screen's settings, go to Actions > Connector.
- Select your Fingerprint connector.
Note
Each Fingerprint script run is a billed Fingerprint identification event. The Fingerprint script runs each time the screen is displayed, so attach the Fingerprint connector to a screen that users see only once per flow.
When the Fingerprint connector is attached to a screen:
- The Fingerprint script runs each time the screen is displayed, and no longer loads when the flow starts.
- Place the Get Event action after the screen that runs the Fingerprint script.
- A screen can run one connector script. A screen that already uses another connector, such as Darwinium, cannot also run the Fingerprint script.
Risk Signals
When the Get Event action runs, the Fingerprint connector adds the following keys to the flow's riskInfo context. Flow conditions can check riskInfo keys directly instead of using raw JSON paths from the connector output.
| Context Key | Set to true when |
|---|---|
riskInfo.botDetected | Fingerprint detects a malicious bot |
riskInfo.vpnDetected | Fingerprint detects a VPN or a proxy |
- Bot detection, VPN detection, and proxy detection are Fingerprint Smart Signals, and availability depends on your Fingerprint plan. If Fingerprint does not return a signal, the Fingerprint connector leaves the matching
riskInfokey unset instead of setting the key tofalse. - The keys combine with
riskInfovalues from other risk connectors in the flow. If any connector sets a key totrue, the key staystrue. - The full Fingerprint response remains available in the Get Event output for other signals.
Examples
Integrating one of the connector actions inside a flow can be used in various scenarios. Here is an example of a flow that utilizes the result as follows:


The flow checks whether the user returned from a non-VPN origin and continues logging him in.
This example uses the context key - connectors.fingerprint_getEvent.data.vpn.data.result
You can also check riskInfo.vpnDetected, which is broader than the Fingerprint VPN result. riskInfo.vpnDetected is also true when Fingerprint detects a proxy, or when Descope or another risk connector flags a VPN. See Risk Signals.
To read about the possible results from Fingerprint click here.