SDK reference · iOS SDK / iOS Individual Modules

Combined Consent

The Combined Consent module shows the user one preconfigured consent to review and accept, then records their agreement. Consents obtain the user's permission to collect and process their data. Most jurisdictions require this at the start of an identity verification journey. Consents are configured in Dashboard; the module presents what your Flow or Workflow configuration provides.

For an overview of this module and how it works, see Data Sharing Consent.

How you use this module depends on your integration pattern. When the app defines the steps in code, you add the module to an IncdOnboardingFlowConfiguration as shown below; when the flow is defined in Dashboard, you reference it by ID and let the back end drive the steps. See Integration Approaches.

Availability: All variants.

Add the module with addCombinedConsents().

flowConfig.addCombinedConsents(
    configuration: CombinedConsentsConfiguration(
        combinedConsents: "YOUR_COMBINED_CONSENTS_ID",   // consent id from Dashboard
        language: "en"                                   // optional
    )
)

Configuration Options

Configure the module by passing an CombinedConsentsConfiguration to addCombinedConsents(configuration:).

Option Type Notes
combinedConsents String ID of the preconfigured consent to present. Fetch the consent ID from Configuration > Consents in Dashboard.
language String? Language for the presented consents, as a two-letter code. Optional; if omitted, the SDK uses its own resolved language: the localization override, then the session language, then the device language.

combinedConsents and language are write-only. You set them through the CombinedConsentsConfiguration initializer shown above, but you won't be able to read them back from an existing CombinedConsentsConfiguration instance.

Result

func onCombinedConsentsGiven(_ result: CombinedConsentResult)

CombinedConsentResult fields:

  • success: Bool?: true when the consent was submitted successfully.
  • error: IncdError?

If a mandatory consent has no readable text or no checkbox id, the user cannot review and accept it. Text that is empty or only spaces counts the same as missing text. The module ends instead of showing the consent, and the flow stops with IncdFlowError.combinedConsentsNotReceived on onError. Give the consent a text in Dashboard to clear the error.


Was this page helpful?