Qualified Electronic Signature Integration

Integration Guides

Setup

This page provides guidance on preparing to integrate Qualified Electronic Signature via the App Drop-in, Web SDK, or the API.

Before you begin your integration, make sure you have the following in place:

Prerequisites

  • You need your Fourthline API credentials.
  • The client must have a pending or successfully completed Identity Verification case with Fourthline.
  • Agree with your Fourthline delivery manager the identifiers of your product and country-specific workflows. For default options, see Create workflow.
  • For Fourthline QTSP, for the Mobile SDK, update to the latest version:
    • Native (iOS/Android): 3.6.0 or later.
    • Cross-platform: 2.6.0 or later.

Statuses

Set up handling for Qualified Electronic Signature statuses.

Webhook

Set up a webhook and handle Qualified Electronic Signature notifications.


Configuration

Discuss with your Fourthline delivery manager the following configuration options:

Signature flow

Required Required

In general, we recommend configuring the pending verification flow:

Pending verification
DescriptionThe signature flow starts while the Identity Verification case is being processed.
BenefitThe user experience is smoother as the client can continue the signature flow immediately after the Identity Verification flow, without waiting for case processing.
Trade-offThe client may need to re-do the signature flow if inconsistent data is identified during case processing.
ConfigurationIf you use Web SDK integration, you can ensure the client always finishes the signature flow even if the associated Identity Verification case is unsuccessful, e.g.: case status inconsistent_data, invalid_data, or completed_unacceptable_risk.

This offers a more cohesive user experience than discontinuing the signature flow.

With your Fourthline delivery manager, configure to delay triggering signature status kyc_required until after reaching pending_verification status.

The pending verification flow is as follows: the first diagram shows the Fourthline QTSP flow, and the second shows a third-party QTSP flow.
Click to magnify

Fourthline QTSP flow
Third-party QTSP flow

If many ID documents in your target market do not contain an MRZ or require careful analysis, we recommend the completed verification flow:

Completed verification
DescriptionThe signature flow starts after the Identity Verification case has been processed.
BenefitsThe signature flow can only start if the client is eligible, which ensures higher conversion.
The QEC data is confirmed in case processing .
Trade-offThe client must wait for the case to be processed before they can start the signature flow.

The completed verification flow is as follows: the first diagram shows the Fourthline QTSP flow, and the second shows a third-party QTSP flow.
Click to magnify

Fourthline QTSP flow
Completed verification flow

QTSPs

Required Required

From August 2026, you can use Fourthline as the QTSP for Identity Verification with QES workflows. Unlike the third-party QTSP flow, the Fourthline QTSP flow does not require a one-time passcode.

To get started, contact your Fourthline success manager, or get in touch.

Important

QES-only workflows continue to use third-party QTSPs. Support for Fourthline as the QTSP in QES-only workflows will be added at a later date.

Fourthline uses three QTSP - Fourthline, Namirial, and InfoCert - to provide fallback options. If one QTSP is temporarily unavailable, clients are automatically redirected to another available QTSP to minimize disruption to the signature flow.

There are the following differences between the QTSPs:

Legal conditions

Clients must accept the following legal conditions per QTSP:

FourthlineInfoCertNamirial
Fourthline Terms & ConditionsInfoCert Terms & ConditionsNamirial Terms & Conditions
Fourthline Privacy StatementInfoCert Privacy StatementFourthline Privacy Statement
InfoCert PKI Disclosure Statement
InfoCert legal clauses

For SDK integration, Fourthline's UI dynamically displays the relevant legal conditions per QTSP on the Document approval screen.

Document approval screen

If using API-only integration and your own UI, the relevant QTSP legal conditions for a specific signature flow are returned in the Get signature details response. The following requirements apply:

Document approval screenRequired
Dynamically display the QTSP legal conditions, which the client must actively accept and be able to download.Required
Display InfoCert's legal clauses, which the client must actively accept.Required
InfoCert contract

InfoCert generates a personalized contract for the client, which you must download via a Get InfoCert contract request and share with the client.

One-time passcode

Namirial's one-time passcode is 6 digits long and InfoCert's 8 digits long.

For SDK integration, Fourthline's UI dynamically displays the relevant number of passcode digits per QTSP on the Signature confirmation screen.

Fourthline UI: Signature confirmation screen

For API-only integration, the relevant QTSP passcode length for a specific signature flow is returned in the Get signature details response. The following requirements apply:

Signature confirmation screenRequired
Display the titles of the documents to sign.Required
Dynamically change the passcode mask to the right number of digits per QTSP.Required

Legal conditions

Required Required

The client must accept the following legal conditions per party:

Fourthline
Legal conditionsFourthline Terms & Conditions
Display whenBefore starting the Identity Verification flow, and during the document approval step (if Fourthline is the QTSP)
SourceRequest from Fourthline delivery manager
ResponsibilityYou display them to the client in your UI.

If Fourthline is the QTSP:
  • App Drop-in & Web SDK: Fourthline displays them.
  • API: Is not available for Fourthline QTSP.
  • App Components: Fourthline displays them.
InfoCert
Legal conditionsInfoCert Terms & Conditions
InfoCert Privacy Statement
InfoCert PKI Disclosure Statement
InfoCert legal clauses
Display whenDocument approval step
SourceGet signature details request
ResponsibilityApp Drop-in & Web SDK: Fourthline displays them to the client in our UI.
App Components & API: You display them to the client in your UI.
Namirial
Legal conditionsNamirial Terms & Conditions
Namirial Privacy Statement
Fourthline Privacy Statement
Display whenDocument approval step
SourceGet signature details request
ResponsibilityApp Drop-in & Web SDK: Fourthline displays them to the client in our UI.
App Components & API: You display them to the client in your UI.
Legal conditions language

When retrieving legal conditions via the Get signature details request, you can also optionally specify the language:

  • English (default)
  • French
  • German
  • Italian
  • Polish
  • Portuguese
  • Romanian
  • Spanish

Note

Depending on the documents, legal condition documents may not be available in all languages listed above. If a document is not available in the specified language, it will default to English.

This setting also determines the language of the passcode SMS.


One-time passcode required for third-party QTSPs

Required Required

Important

From August 2026, you can use Fourthline as the QTSP for Identity Verification with QES workflows. Unlike the third-party QTSP flow, the Fourthline QTSP flow does not require a one-time passcode. To get started, contact your Fourthline success manager, or get in touch.

When using Namirial or InfoCert as the QTSP, the QTSP sends the client a one-time passcode by SMS when they confirm the signature.

The number of passcode digits differs per QTSP:

QTSPAgreements
Namirial6 digits
InfoCert8 digits

The SMS can be sent in the following languages:

  • English (default)
  • French
  • German
  • Italian
  • Polish
  • Romanian
  • Spanish

You can specify the SMS language in the Get signature details request.

Note

This setting also determines the language of the legal conditions.


ID documents

Required Required

Fourthline supports passports, national ID cards, residence permits, and driving licenses. Supported documents must meet the following requirements:

  • Travel documents (passports, national ID cards, and residence permits) must comply with the ICAO 9303 standard for machine readable travel documents (MRTDs), endorsed by ISO as ISO/IEC 7501.

  • Include detectable security features (such as holograms, watermarks, UV inks, etc.) as configured for the specific document type and issuing country, in accordance with ICAO 9303.

  • Include an MRZ as defined in ICAO 9303, with document type codes indicating the type of document (for example, P< for passport) as specified by the standard.

Note

Driving licences may include an MRZ in some jurisdictions. However, this is not required because they typically follow national document standards rather than ICAO 9303. See the table below for more information.

  • Adhere to the configured combinations of issuing country and document type for each Business Partner.

The following ID documents do not contain an MRZ, which in the pending verification flow can lead to invalid_signature status. This is because we extract the details for the certificate from the VIZ, which is less reliable.

Decide with your Fourthline delivery manager if you want to support the following documents or not.

Document typeCode
Austrian driving licenseAUT-FO-04001 AUT-FO-05001 AUT-FO-05002
Greek identity cardGRC-BO-01001 GRC-BO-01004
Italian driving licenseITA-FO-05001 ITA-FO-05001
Italian paper IDITA-BO-03001 ITA-BO-03002 ITA-BO-03003 ITA-BO-03004
UK driving licenseGBR-FO-05001 GBR-FO-05003 GBR-FO-06001 GBR-FO-07001
GBR-FO-08001 GBR-FO-08002 GBR-FO-09001 GBR-FO-09002
GBR-FO-09003 GBR-FP-05001 GBR-FP-06001

Sanctions check

Optional Optional

During the signature flow, check if the client is potentially sanctioned when you want them to sign documents. The client is only eligible for a signature if there are no hits for them in your selected AML> database.

If including this check, we recommend using the pending verification flow to avoid clients getting stuck at kyc_required status.

Important

This check is triggered only if the client's most recent Identity Verification case that included an AML screening was completed more than 24 hours ago.

Fourthline can perform the sanctions check via either AML Monitoring or a one-time sanctions check:

AML Monitoring

We monitor the client against your selected AML database daily. During the signature flow, we check the client's sanctions status for that day.

If we find a potential hit, we investigate the case. When the investigation is completed, we send you the outcome via a webhook notification.

You always have an up-to-date screening status for the client and can act accordingly, e.g. offboard a sanctioned client.

Tip

Consider configuring your application to prevent sanctioned clients from starting a signature flow.

One-time sanctions check

Screen your selected AML database for potential hits during the signature flow.

Fourthline doesn't perform an investigation. If we find potential hits, the client is ineligible for a signature.


Flow language

Optional Optional

For App Drop-in or Web SDK integration, you can set the language of the signature flow UI when you create the SDK session.

For the supported languages and instructions, see:

If you do not set the UI language or the language isn't supported, the default is English.


Signature position

Optional Optional

You can configure if you want the signature to be visible on signed documents and on which page.

Specify its size and position in PDF units. There are 72 PDF units per inch (") / 2.83 per millimeter (mm), e.g.:

  • US letter page size of 8.5" x 11"= 612 x 792 PDF units
  • A4 page size of 210mm x 297mm= 595 x 842 PDF units
Signature position

Signature position

Configure the signature visibility and position in the Upload documents to sign request.


Testing

We offer the following endpoints for testing signature flows in the Sandbox environment only:

EndpointDescription
Test signature flowStart the signature flow for a test signature with a target status.
Get test passcodeGet a one-time passcode to confirm a test signature, without requiring a valid mobile phone number.

CautionImportant:
If you have InfoCert configured as one of your QTSPs, you do not need to make this request because the passcode is the same as the last 8 digits of the mobile phone number.
Example:
• Phone number: +39 11111112222
• Passcode: 11112222

FAQ

Why does my PDF signature appear as unverified?

The PDF viewer you are using may not support the signature-validation capabilities required to verify the document.

A signature appearing as unverified does not by itself mean that the signature is invalid or that the document has been modified.

How can I verify the signature?

Open the PDF in Adobe Acrobat or Adobe Acrobat Reader and check the signature status there.

What about browsers and macOS Preview?

Chrome, Firefox, Safari, and macOS Preview should not be used to verify Fourthline PDF signatures. They may display the PDF without providing the signature-validation information available in Adobe Acrobat or Reader.

What your clients need to know?

Clients should open the PDF in Adobe Acrobat Reader to verify its digital signature. Web browsers and macOS Preview may not display the signature's verification status correctly.

Why doesn't Adobe Acrobat recognize a newly approved QTSP?

Adobe Acrobat does not check the live EU Trusted Lists when validating a signature. Instead, it uses a local snapshot of qualified trust providers derived from the EU Trusted Lists and updated periodically by Adobe.

As a result, a newly approved Qualified Trust Service Provider (QTSP) may not be recognized in Acrobat immediately after being added to a Member State Trusted List.

How long can it take for Adobe Acrobat to recognize a new QTSP?

Adobe typically publishes an updated EUTL-derived trust snapshot once a month, usually during the first week of the month.

It can take up to approximately 30 days for a change to a Member State Trusted List to be reflected in Adobe's trust data. After Adobe publishes the update, an Acrobat installation may take up to an additional 14 days to download the updated trust data.

What contact details are required for QES?

When using Fourthline as the QTSP, you must provide either the client's phone number or email address. We recommend providing a phone number whenever possible because it is supported by a wider range of QTSPs.

For API integrations, provide the client's contact details before the client reaches the contact details screen. If the contact details have already been provided, the SDK skips this screen.


Support

For any questions, contact your Fourthline delivery manager.