This project is open source and available on GitHub

ID Verifier - Request and Verify Digital IDs with Ease

Try it out

This example demonstrates how to request and verify digital credentials using the id-verifier library.

Checking browser compatibility...

Configure Request

Select the document types and information you'd like to request from the user:

Allowed Document Types

Requested Information

Personal Information

Address Information

Document Information

Trust Settings

Registry Trust Lists

Select trust lists from trusted-issuer-registry. Leave both unchecked to skip registry lookups.

Paste one or more PEM-encoded issuer certificates to trust them directly. This is useful for testing credentials from issuers that are not in the registry.

Sample Code

Here's the code that would be used to request the selected claims:

// Import the library
import { Verifier, generateNonce, generateJWK, DocumentType, Claim } from 'id-verifier';
 
const verifier = new Verifier();
 
// Generate security parameters
const nonce = generateNonce();
const jwk = await generateJWK();
 
// Create request parameters
const requestParams = verifier.createWebCredentialsRequest({
  documentTypes: ['org.iso.18013.5.1.mDL'],
  claims: ['givenName', 'familyName', 'ageOver21'],
  nonce,
  jwk
});
 
// Request credentials
const credential = await verifier.requestCredentials(requestParams);
 
// Process and verify the credential
const result = await verifier.processCredentials(credential, { nonce, jwk, origin: window.location.origin });

How it works

  1. Configure your request - Select which information you need from what types of documents
  2. Request credentials - The browser prompts the user to select and share their credentials
  3. User consents - The user reviews and approves the credential request
  4. Credential is returned - The browser returns the requested credential data
  5. Backend verifies - The server validates the credential and extracts information

Supported Document Types

Supported Protocols

Browser Support

This demo requires a browser that supports the Digital Credentials API. Currently, this is an experimental API and may not be available in all browsers.

Note: In a real application, you would:

🤝 Help Us Improve

This is an open source project and we welcome contributions from the community to make digital identity verification more secure and accessible.

🔧 Contribute Code

Help us add new features, fix bugs, or improve documentation. Every contribution matters!

Issues, pull requests, and feedback are always welcome.

🔒 Security Audits

Security researchers and auditors: please help us identify vulnerabilities and improve our security posture.

Responsible disclosure is appreciated and recognized.