German eID Solution Integration

Integration Guides

This page explains how to integrate the German eID Solution using the App Drop-in on iOS and Android.

eID Verification is supported only on the Mobile SDK (App Drop-in). It is not available on the Web SDK because the verification flow requires NFC chip reading, which is supported only on mobile devices.

We recommend using eID Verification alongside your existing identity verification methods. This requires implementing two separate verification workflows:

  • Mobile SDK: Includes eID Verification.
  • Web SDK: Uses your existing identity verification flow without eID Verification.

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

Setup

Prerequisites

  • Obtain your Fourthline API key.

  • Align on product and country-specific workflow identifiers with your Fourthline delivery manager.

  • Ensure your application meets the following minimum OS requirements:

    • iOS: 16.0 or later
    • Android: 8.1 (API level 28) or later
  • Update to App Drop-in SDK versions:

    • iOS: 3.4.13 or later
    • Android: 3.4.13 or later
  • Align with your Fourthline delivery manager to enable the eID Verification flow, through your configuration.

  • Make sure you have devices available that support NFC, for testing purposes.


iOS version requirements

If you use FourthlineEID (which depends on AusweisApp2), set the minimum deployment target to iOS 16.0 or later.

Apps running on iOS 15 or earlier will crash at launch. The underlying AusweisApp2 framework requires iOS 16 or later and does not run on earlier versions. When loaded on unsupported versions, iOS will terminate the app during framework initialization.

Recommendations

  • Set the deployment target to iOS 16.0 or later when integrating FourthlineEID.
  • If you need to support iOS 13-15, contact your customer success manager.

AusweisApp2 SDK

AusweisApp2 is the official German eID application provided by the German government. It allows users to identify themselves online using the NFC chip embedded in their German identity card or electronic residence permit.

Fourthline's German eID Solution relies on the AusweisApp2 SDK. Because of its size, the AusweisApp2 SDK is provided as an optional dependency and is not included in the Fourthline SDK by default

Important

The current size impact of Fourthline's German eID SDK is approximately 11 MB.


You can integrate the German eID module into your application on both iOS and Android. The integration steps differ by platform, so follow the instructions for your specific environment below.

iOS integration

To integrate the German eID module, add the following XCFrameworks to your iOS project:

  • FourthlineEID
  • AusweisApp2

The Fourthline SDK automatically detects the FourthlineEID framework at runtime and starts the eID workflow. No additional implementation is required.

See also our GitHub Documentation for implementation details.


Android integration

To integrate the German eID module into your Android application, choose one of the following approaches:

App-level integration

Bundle the German eID module with your application. To integrate the German eID module, include the fourthline-eid dependency and configure your application as follows:

1. Add dependencies

Define the Fourthline SDK dependencies in your gradle/libs.versions.toml file:

[versions]
# Latest available Fourthline SDK version
fourthline-sdk-version = "3.3.0"

[libraries]
fourthline-sdk-orca = { module = "com.fourthline:fourthline-sdk", version.ref = "fourthline-sdk-version" }
fourthline-sdk-eid = { module = "com.fourthline:fourthline-eid", version.ref = "fourthline-sdk-version" }

2. Enable legacy packaging

In your app/build.gradle.kts file, ensure legacy packaging is enabled for JNI libraries:


android {
    packaging {
        jniLibs {
            useLegacyPackaging = true
        }
    }
}

3. Prevent re-initialization of the SDK

In your Application class, add a check to prevent re-initialization when the AusweisApp service starts:


class BusinessPartnerApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        if (getProcessName().endsWith("ausweisapp2_service")) {
            return
        }
        // Initialization logic
    }
}

On-demand delivery

Deliver the German eID module only when needed using Play Feature Delivery.

This requires distributing your app as an Android App Bundle (AAB), allowing the German eID Verification module to be downloaded only when needed, which reduces initial install size.

See the Android Developer documentation on on-demand delivery, and our GitHub Documentation for implementation details.


Webhooks

Set up a webhook and handling for Identity Verification notifications.


Next steps

Continue with the App Drop-in guide to configure your integration.