SDK reference · iOS SDK / iOS Getting Started

SDK Modes

The SDK runs in one of three modes, selected through the sdkMode property (type SDKMode) on IncdOnboardingManager.shared. The mode controls how and when captured data is sent to Incode. Choose the mode that matches your integration's network, privacy, and timing requirements.

Mode What It Does When To Use It
Standard Captures data and sends it to Incode in real time as the flow runs. Results are returned through the delegate callbacks. The default. Use when the device has connectivity and you want server-side validation as each step completes.
Capture-Only Captures media on-device without sending it to Incode. You retain the captured data and submit it later from your own back end. Use when capture and submission must be decoupled, or capture happens in an environment without a direct path to Incode. See Capture-Only Mode.
Submit-Only Submits previously captured data to Incode without showing the capture UI. Use as the counterpart to Capture-Only, once data has already been captured and needs to be submitted for verification.

The mode is set on the shared manager before a flow starts:

IncdOnboardingManager.shared.sdkMode = .standard

initIncdOnboarding authenticates the SDK and prepares it for use. In -tri builds there is an additional overload that accepts a Transactional Risk Intelligence (TRI) configuration; other variants expose only the non-TRI overload.


Standard Mode

Standard mode is the default (SDKMode.standard). The SDK captures each module's data and sends it to Incode as the flow progresses. Server-side validation results are available in real time through the IncdOnboardingDelegate result callbacks. No additional configuration is required.

IncdOnboardingManager.shared.sdkMode = .standard

See Getting Started for the standard integration.


Capture-Only Mode

Capture-Only mode (SDKMode.captureOnly) runs the capture UI on the device without sending the captured data to Incode during the flow. The result objects include the raw capture data, and your back end submits it separately. This mode uses a dedicated integration path.

IncdOnboardingManager.shared.sdkMode = .captureOnly

In the Public distribution variant, captureOnly is restricted and the SDK reverts to standard.

See Capture-Only Mode for the full guide, including how the raw captures and diagnostics are delivered to your app.


Submit-Only Mode

Submit-Only mode (SDKMode.submitOnly) is the counterpart to Capture-Only: it submits previously captured data to Incode without showing the capture UI.

IncdOnboardingManager.shared.sdkMode = .submitOnly

For fully programmatic capture and verification without presenting any SDK UI, use the headless APIs described in the API Reference.


Was this page helpful?