The QES (Qualified Electronic Signature) module shows the user documents to sign, collects their consent, and captures a Qualified Electronic Signature (QES), the highest-assurance electronic signature under the EU eIDAS Regulation. A qualified certificate from a Qualified Trust Service Provider (QTSP) backs the signature, making it legally equivalent to a handwritten signature across EU member states.
For an overview of this module and how it works, see Qualified Electronic Signature.
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. See Integration Approaches.
Availability: All variants.
Add QES
- Add identity check modules before QES. ID Capture, Phone, and Selfie must come before QES when included in the flow.
- Add the module with
addQes().flowConfig.addQes(configuration: QESConfiguration(downloadDocument: true))
QES ships both a v1 and v2 UI.
Configuration Options
Configure the module by passing a QESConfiguration to addQes(configuration:).
| Option | Type | Description |
|---|---|---|
downloadDocument |
Bool? |
When true, downloads the signed document. Defaults to false. |
providerCode |
String? |
The QTSP provider code used for the signature. Optional. |
uploadDocument |
Bool? |
Present on QESConfiguration but not currently applied by the QES module. |
Result
onQESCompleted is called regardless of the outcome, and the user continues with any modules configured after QES.
func onQESCompleted(result: QESResult)
QESResult fields:
success: Bool:trueif the documents were signed successfully.error: QESError?: The signing error, ornilif there was no error.
QESError cases:
noDocuments: No documents were available for the session.failedToSign: Signing failed.