Skip to main content
Didit Raises $7.5M to Build the Infrastructure for Identity and Fraud
Didit
Back to blog
Blog · March 14, 2026

Designing a Reusable KYC SDK for eIDAS2 & Verifiable Credentials

Explore the architectural considerations and implementation strategies for building a robust Reusable KYC SDK. This post delves into eIDAS2 compliance, verifiable credentials, and identity wallet APIs, offering developers.

By DiditUpdated
reusable-kyc-sdk-design-eidas2-verifiable-credentials.png

Decentralized Identity FocusReusable KYC SDKs should prioritize verifiable credentials (VCs) and decentralized identifiers (DIDs) for enhanced privacy and user control, aligning with eIDAS2 principles.

API-First DesignA well-structured API is crucial for seamless integration, supporting both hosted and headless implementations, and enabling flexible identity orchestration.

Security & Privacy by DesignImplement strong cryptographic measures, secure data handling, and user consent mechanisms from the ground up to protect sensitive identity data.

User Experience is KeySimplify the user journey for credential issuance, presentation, and re-authentication to drive adoption and reduce friction.

The landscape of digital identity is rapidly evolving, driven by new regulatory frameworks like eIDAS2 and the growing adoption of verifiable credentials (VCs). For developers, this presents an opportunity to build more secure, private, and user-centric identity solutions. A key component of this future is the reusable KYC SDK, designed to enable users to verify their identity once and permissionlessly share those verified attributes across multiple services.

This post explores the design principles and technical considerations for creating a powerful and compliant reusable KYC SDK, focusing on its integration with eIDAS2 and verifiable credentials development. We'll examine how an identity wallet API can facilitate this paradigm shift, offering practical insights for developers.

Understanding Reusable KYC and eIDAS2 Compliance

Traditional KYC processes are often repetitive and cumbersome. Each service provider requires users to undergo a full identity verification (IDV) process, leading to poor user experience, high operational costs, and fragmented data. Reusable KYC addresses this by allowing a user to obtain a verified digital identity (often as a verifiable credential) from a trusted issuer and then present it to other relying parties without re-verifying from scratch.

The European Union's eIDAS2 regulation is a significant driver for this model, mandating the creation of European Digital Identity (EUDI) Wallets. These wallets will store and manage verifiable credentials, enabling citizens to prove their identity and attributes digitally across member states. An effective eIDAS2 SDK must therefore be designed with interoperability, strong cryptographic security, and user control at its core.

Key components of eIDAS2 compliance for an SDK include:

  • Support for Verifiable Credentials (VCs): The SDK must be able to issue, store, and present VCs compliant with W3C standards.
  • Decentralized Identifiers (DIDs): Integration with DID methods allows users to manage their identifiers independently of a central authority.
  • Consent Management: Explicit user consent is required for sharing any attribute, with clear mechanisms for revocation.
  • Strong Authentication: Biometric re-authentication (e.g., face match with liveness) is often required to unlock and present credentials, ensuring the rightful owner is present.

Architecting a Reusable KYC SDK: Core Components

A comprehensive reusable KYC SDK needs to manage several complex interactions, from initial identity verification to secure credential presentation. Here's a breakdown of essential architectural components:

1. Credential Issuance Module

This module handles the initial onboarding and verification process. It integrates with backend identity verification services (like Didit's IDV, liveness, and AML modules) to establish trust. Once verified, it orchestrates the creation and issuance of a verifiable credential to the user's digital wallet.


// Example: SDK function for credential issuance
async function issueVerifiableCredential(userId, verificationData) {
    const response = await api.post('/v1/credentials/issue', {
        userId: userId,
        data: verificationData,
        type: 'KYCProfileCredential'
    });
    return response.data; // Returns a VC or a reference to it
}

2. Identity Wallet API Integration

The SDK acts as an intermediary between relying parties and the user's identity wallet (e.g., a mobile app or browser extension). It provides an identity wallet API to request credentials, receive presentations, and manage user interactions. This API must support various wallet standards and communication protocols (e.g., OpenID for Verifiable Credential Issuance/Presentation).


// Example: SDK function to request a credential from user's wallet
async function requestCredentialPresentation(credentialType, requiredAttributes) {
    const challenge = await api.get('/v1/presentations/challenge');
    // Redirect or open deep link to user's wallet with challenge
    const presentation = await waitForPresentationResponse(challenge.data.id);
    return presentation; // Returns a Verifiable Presentation
}

3. Verifiable Presentation & Verification Module

When a relying party needs to verify a user, this module facilitates the request for a verifiable presentation from the user's wallet. It then verifies the authenticity and integrity of the presented credential, checking issuer signatures, revocation status, and ensuring the presented attributes meet the relying party's requirements. Didit's backend can automatically handle the verification of these presentations.

4. Biometric Re-authentication

For enhanced security, especially for high-value transactions or sensitive data access, the SDK integrates biometric re-authentication. This ensures that the person presenting the credential is indeed the legitimate owner. Didit's Biometric Authentication module (Face Match 1:1, Liveness) is critical here, configured for a passwordless re-authentication experience.

Key Design Considerations for Developers

When developing or integrating a reusable KYC SDK, several factors are paramount:

  • Modularity: Design the SDK with modular components so developers can pick and choose functionalities (e.g., just credential verification, or full issuance and presentation flow).
  • Security & Cryptography: All communications should be encrypted. VCs must be cryptographically signed by trusted issuers. The SDK needs robust key management capabilities.
  • Privacy by Design: Implement selective disclosure, allowing users to share only the necessary attributes. Avoid over-collection of data.
  • Developer Experience (DX): Provide clear documentation, comprehensive examples, and intuitive APIs. Support for multiple languages and platforms (Web, iOS, Android) is essential.
  • Error Handling & Fallbacks: Gracefully handle network issues, user cancellations, and invalid credentials. Provide clear feedback to both the user and the relying party.
  • Interoperability: Adhere to open standards (W3C VCs, DIDs, OpenID for VC) to ensure compatibility with various identity wallets and ecosystems.

How Didit Helps with Reusable KYC SDK Integration

Didit's all-in-one identity platform is perfectly positioned to power your reusable KYC SDK development. With Didit, you can:

  • Issue Verifiable Credentials: Leverage Didit's ID Verification, biometrics, and AML screening to establish trust and issue high-assurance verifiable credentials.
  • Biometric Re-authentication: Integrate Didit's Biometric Authentication module for secure, passwordless access to credentials, compliant with eIDAS2 requirements for strong authentication.
  • Identity Orchestration: Use Didit's workflow builder to define the logic for credential issuance and verification, adapting to various use cases and compliance needs.
  • API-First Approach: Didit provides a robust RESTful API and SDKs (Web, iOS, Android) that can be seamlessly integrated into your own reusable KYC SDK, whether you're building a hosted solution or a headless backend.
  • Compliance & Security: Benefit from Didit's SOC 2 Type II, ISO 27001, and GDPR compliance, ensuring your identity solutions meet stringent regulatory and security standards. Didit's privacy-by-default approach (e.g., processing selfies in memory and deleting them) aligns perfectly with the ethos of reusable, privacy-preserving identity.

Ready to Get Started?

Building a robust reusable KYC SDK that embraces eIDAS2 and verifiable credentials is a complex but rewarding endeavor. By leveraging platforms like Didit, developers can accelerate their verifiable credentials development, focusing on user experience and business logic rather than reinventing the underlying identity primitives.

Explore Didit's comprehensive technical documentation to see how our APIs and SDKs can be integrated into your next-generation identity solution. For a deeper dive into our capabilities, consider a product demo or contact our team at hello@didit.me.

FAQ

What is a Reusable KYC SDK?

A Reusable KYC SDK is a software development kit that enables users to verify their identity once with a trusted issuer and then securely and permissionlessly reuse those verified attributes across multiple service providers, often through verifiable credentials stored in a digital wallet.

How does eIDAS2 impact Reusable KYC SDKs?

eIDAS2 mandates the creation of European Digital Identity (EUDI) Wallets, which will store verifiable credentials. Reusable KYC SDKs must be designed to be compatible with eIDAS2 standards, supporting the issuance, storage, and presentation of these credentials while adhering to strong authentication and privacy requirements.

What are Verifiable Credentials (VCs) and how do they work with an Identity Wallet API?

Verifiable Credentials (VCs) are tamper-proof digital proofs of claims (e.g., age, nationality, address) cryptographically signed by an issuer. An Identity Wallet API allows an application to interact with a user's digital wallet to request, receive, and verify these VCs, enabling secure and private data sharing based on user consent.

What makes Didit's platform suitable for building a Reusable KYC SDK?

Didit offers core identity primitives (IDV, biometrics, AML) to issue verifiable credentials, robust APIs and SDKs for integration, and a workflow engine for orchestration. Its eIDAS2 compatibility and focus on security and privacy provide a strong foundation for developing compliant and user-centric reusable KYC solutions.

Infrastructure for identity and fraud.

One API for KYC, KYB, Transaction Monitoring, and Wallet Screening. Integrate in 5 minutes.

Ask an AI to summarise this page
Reusable KYC SDK Design: eIDAS2 & Verifiable Credentials.