---
title: Evaluating risk with PingOne Protect
description: This use case guides you through integrating with PingOne Protect for risk evaluations using the DaVinci Client across Android, iOS, and JavaScript platforms. It covers setting up your PingOne instance, adding necessary dependencies, and implementing DaVinci Client code to collect and evaluate risk data in your applications.
component: orchsdks
page_id: orchsdks:davinci:use-cases/protect/index
canonical_url: https://developer.pingidentity.com/orchsdks/davinci/use-cases/protect/index.html
keywords: ["DaVinci", "Protect", "Risk", "Integration", "SDK"]
section_ids:
  compatibility: Compatibility
  configuring_pingone_for_pingone_protect: Configuring PingOne for PingOne Protect
  integrate_client_apps_with_pingone_protect_davinci_flows: Integrate client apps with PingOne Protect DaVinci flows
---

# Evaluating risk with PingOne Protect

[icon: circle-check, set=far]PingOne [icon: android, set=fab]Android [icon: apple, set=fab]iOS [icon: js, set=fab]JavaScript

You can integrate [PingOne Protect](https://www.pingidentity.com/en/platform/capabilities/threat-protection/pingone-protect.html) into your apps to evaluate the risk involved in a transaction.

Figure 1. A flowchart illustrating how risk predictors evaluate many different data points.

Your app can gather information during a transaction, return this information to PingOne Protect, and request a risk evaluation.

Based on the response from PingOne Protect, you can choose whether to allow or deny the transaction or perform additional mitigation, such as bot detection measures.

You can use the audit functionality in PingOne to view the risk evaluations:

![Risk evaluation records in the PingOne audit viewer.](../../../_images/protect/pingone-audit-risk-evaluations-en.png)Figure 2. Risk evaluation records in the PingOne audit viewer.

## Compatibility

* PingOne

  * Your PingOne instance must have DaVinci enabled.

- DaVinci flows

  Ensure your flows only use supported connectors, capabilities and fields for user interactions:

* HTTP Connector

  * **Custom HTML** capability

    > **Collapse: View supported fields**
    >
    > * [HTTP Connector field and collector support](#http-connector-fields-js-compatibility)
    >
    > * [HTTP Connector SK-Component support](#http-connector-sk-components-js-compatibility)
    >
    > **HTTP Connector field and collector support**
    >
    > | Field (`Collector`)                       | Description                                                                        | DaVinci module |          |            |
    > | ----------------------------------------- | ---------------------------------------------------------------------------------- | -------------- | -------- | ---------- |
    > |                                           |                                                                                    | Android        | iOS      | JavaScript |
    > | Text field(`TextCollector`)               | Collects a single text string.                                                     | ✅`1.0.0`       | ✅`1.0.0` | ✅`1.0.0`   |
    > | Password field(`PasswordCollector`)       | Collects a single text string that cannot be read from the screen.                 | ✅`1.0.0`       | ✅`1.0.0` | ✅`1.0.0`   |
    > | Submit Button(`SubmitCollector`)          | Sends the collected data to PingOne to continue the DaVinci flow.                  | ✅`1.0.0`       | ✅`1.0.0` | ✅`1.0.0`   |
    > | Flow Button(`FlowCollector`)              | Triggers an alternative flow without sending the data collected so far to PingOne. | ✅`1.0.0`       | ✅`1.0.0` | ✅`1.0.0`   |
    > | Label(`LabelCollector`)                   | Display a read-only text label.                                                    | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | Radio / Dropdown(`SingleSelectCollector`) | Collects a single value from a choice of multiple options.                         | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    >
    > **HTTP Connector SK-Component support**
    >
    > | SK-Component (`Collector`) | Description                                                                                                               | DaVinci module |          |            |
    > | -------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -------------- | -------- | ---------- |
    > |                            |                                                                                                                           | Android        | iOS      | JavaScript |
    > | skIDP(`IdpCollector`)      | Presents a button to allow users to authenticate using an external identity provider, such as Apple, Facebook, or Google. | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | skrisk(`ProtectCollector`) | Instructs the client to gather behavioral data and return it to PingOne so that it can perform risk evaluations.          | ✅`1.3.0`       | ✅`1.3.0` | ✅`1.3.0`   |

    > **Collapse: View unsupported features**
    >
    > Verify that your flow does not depend on any *unsupported* elements:
    >
    > * SKPolling components
    >
    >   The **[SKPolling](https://docs.pingidentity.com/davinci/flows/davinci_sk_components.html#skpolling)** component cannot be processed by the DaVinci Client and should not be included in flows.
    >
    >   Features such as Magic Link authentication require the **SKPolling** component and therefore cannot be used with the DaVinci Client.
    >
    > * Images
    >
    >   Images included in the flow cannot be passed to the SDK.

  For example, the [PingOne sign-on with sessions DaVinci flow](https://support.pingidentity.com/s/marketplace-integration/a7iDo00000110R2IAI/pingone-sign-on-with-sessions).

* PingOne Form Connector

  * **Show Form** capability

    > **Collapse: View supported fields**
    >
    > * [Custom Fields support](#form-connector-fields-js-compatibility)
    >
    > * [Toolbox support](#form-connector-toolbox-js-compatibility)
    >
    > **Custom Fields support**
    >
    > | Field (`Collector`)                        | Description                                                                                                     | DaVinci module |          |            |
    > | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------- | -------------- | -------- | ---------- |
    > |                                            |                                                                                                                 | Android        | iOS      | JavaScript |
    > | Text Input(`TextCollector`)                | Collects a single text string.                                                                                  | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | Password(`PasswordCollector`)              | Collects a single text string that cannot be read from the screen.                                              | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | Dropdown(`SingleSelectCollector`)          | Collects a value from a dropdown containing one or more text strings.                                           | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | Combobox(`MultiSelectCollector`)           | Collects a value from a dropdown containing one or more text strings, the user can enter their own text string. | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | Radio Button List(`SingleSelectCollector`) | Collects a value from one or radio buttons.                                                                     | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | Checkbox List(`MultiSelectCollector`)      | Collects the value of one or more checkboxes.                                                                   | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | Phone Number Input(`PhoneNumberCollector`) | Collects a phone number, including the country code.                                                            | ✅`1.2.0`       | ✅`1.2.0` | ✅`1.2.0`   |
    >
    > **Toolbox support**
    >
    > | Field (`Collector`)                                                    | Description                                                                                                                                                             | DaVinci module |          |            |
    > | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------- | ---------- |
    > |                                                                        |                                                                                                                                                                         | Android        | iOS      | JavaScript |
    > | Flow Button(`FlowCollector`)                                           | Presents a customized button.                                                                                                                                           | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | Flow Link(`FlowCollector`)                                             | Presents a customized link.                                                                                                                                             | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | Translatable Rich Text(`TextCollector`)                                | Presents rich text that you can translate into multiple languages.                                                                                                      | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | Social Login(`IdpCollector`)                                           | Presents a button to allow users to authenticate using an external identity provider, such as Apple, Facebook, or Google.                                               | ✅`1.1.0`       | ✅`1.1.0` | ✅`1.1.0`   |
    > | MFA Device Selection - Authentication(`DeviceAuthenticationCollector`) | Presents a list of methods for performing multi-factor authentication (MFA).&#xA;&#xA;DaVinci client currently only supports the Email, SMS, and Voice MFA types.       | ✅`1.2.0`       | ✅`1.2.0` | ✅`1.2.0`   |
    > | MFA Device Selection - Registration(`DeviceRegistrationCollector`)     | Presents a list of methods you can register for multi-factor authentication (MFA).&#xA;&#xA;DaVinci client currently only supports the Email, SMS, and Voice MFA types. | ✅`1.2.0`       | ✅`1.2.0` | ✅`1.2.0`   |

* PingOne Protect Connector

  * **Create Risk Evaluation** capability

    | Android  | iOS      | JavaScript |
    | -------- | -------- | ---------- |
    | ✅`1.3.0` | ✅`1.3.0` | ✅`1.3.0`   |

## [Configuring PingOne for PingOne Protect](before-you-begin.html)

You must set up your PingOne instance to perform risk evaluations.

## Integrate client apps with PingOne Protect DaVinci flows

Select your platform to discover how to configure your client application to perform PingOne Protect risk evaluations when you are using DaVinci flows:

[icon: android, set=fab, size=3x]

#### [Android](android/index.html)

Integrate Android apps with PingOne Protect DaVinci flows

[icon: apple, set=fab, size=3x]

#### [iOS](ios/index.html)

Integrate iOS apps with PingOne Protect DaVinci flows

[icon: js, set=fab, size=3x]

#### [JavaScript](javascript/index.html)

Integrate JavaScript apps with PingOne Protect DaVinci flows
