Skip to content

Repository files navigation

SimpleDigiCreds

Disclaimer

THIS PROJECT IS A WIP RIGHT NOW! THE CORE API MAY CHANGE MORE QUICKLY THAN YOU LIKE!

Overview

This project makes it easier to request presentations of ISO 18013-5 mDL and IETF SD-JWT-VC digital credentials using OID4VP 1.0 via the Digital Credentials API. The following packages are maintained here to achieve this:

Installation

SimpleDigiCreds can be installed from NPM and JSR in Node LTS 24.x and higher, Deno 2.5 and higher projects, and other compatible runtimes (Cloudflare Workers, Bun, etc...)

See the packages' READMEs for more specific installation information.

Supported Features

OID4VP - All doc formats

  • OID4VP 1.0 over the Digital Credentials API (only openid4vp-v1-unsigned)
  • Unencrypted responses
  • Encrypted responses following OID4VC HAIP 1.0
  • Stateless presentation verification
  • Wallet error responses (e.g. access_denied)
  • Presentations are checked against what was requested (credential IDs, mdoc doctype, SD-JWT-VC vct)

OID4VP - mdoc

  • IssuerAuth and DeviceAuth verification (ES256/ESP256)
  • SessionTranscript per OID4VP 1.0 (including the response encryption JWK thumbprint)

OID4VP - SD-JWT-VC

  • Key binding verification (Key Binding JWTs are required)

Not yet supported

The following features of OID4VP 1.0 and HAIP 1.0 are not yet supported:

  • Signed requests (openid4vp-v1-signed, openid4vp-v1-multisigned)
  • Validating Issuer certificate chains against trust anchors
  • DCQL trusted_authorities (required by HAIP)
  • Token Status List checks
  • transaction_data, verifier_info, credential_sets, claim_sets, multiple

Example Site

An example site is included to help test credential presentation locally. Run the following command locally to get started:

# Deno 2.5+
$> deno task example:start

The site will be available at http://localhost:4000 to test out SimpleDigiCreds and the Digital Credentials API.

Contributions

The SimpleDigiCreds project is not currently open to external contributions.

Please submit an Issue and fill out the provided template with as much information as possible if you have found a bug in need of fixing.

You can also submit an Issue to request new features, or to suggest changes to existing features.

Development

Install the following before proceeding:

  • Deno 2.5+

After pulling down the code, set up dependencies:

$> deno install

To run unit tests for all workspace packages, use the test series of scripts:

# Run an individual package's tests
$> cd packages/browser/ && deno task test
$> cd packages/server/ && deno task test

Tests can be run in watch mode with the test:watch series of scripts:

$> cd packages/browser/ && deno task test:watch
$> cd packages/server/ && deno task test:watch

About

A collection of TypeScript-first libraries for simpler Digital Credential presentation and verification. Supports modern browsers, Node, Deno, and more.

Resources

Stars

9 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages