Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Kapun SDK

The Kapun SDK is a Kotlin Multiplatform toolkit for building digital-identity wallets and verifiers on Android and iOS. It includes credential formats, DCQL, issuance, presentation, wallet, cryptography, trust, proximity, and visualization modules.

The repository also contains sample Android wallet and verifier applications and an iOS sample. The samples are demonstrations and may require application-specific wallet or backend configuration.

What it covers

  • Credential formats: ISO mdoc, SD-JWT VC, W3C Verifiable Credentials, BBS, and Open Badges
  • Protocols and queries: OpenID4VCI, OpenID4VP, DCQL, and BLE proximity presentation
  • Building blocks for wallets, issuers, verifiers, cryptography, trust, and credential visualization

The implementations follow the relevant OpenID4VCI, OpenID4VP, ISO/IEC 18013-5, SD-JWT VC, DCQL, and Open Badges specifications.

Project status

The project is actively evolving. Check the releases for published versions; APIs and implementation details may change between releases.

This project evolved from the former Heidi SDK and is now maintained as the Kapun SDK under the KapunSDK organization. Older documentation and package references may still use the Heidi name.

Prerequisites

  • JDK 17 or newer
  • Android Studio for the Android samples
  • Xcode 15.4 or newer for the iOS sample

Build the samples

Android

./gradlew :examples:android-wallet:assembleDebug
./gradlew :examples:android-wallet:installDebug

./gradlew :examples:android-verifier:assembleDebug
./gradlew :examples:android-verifier:installDebug

iOS

Open sample-ios-kapun.xcodeproj in Xcode, select a simulator or device, and run the sample-ios-kapun target. Device builds require your own provisioning profile. The sample requires iOS 16 or newer.

If the build needs Android SDK information, set ANDROID_HOME and create a root local.properties file containing:

sdk.dir=/path/to/your/android/sdk

The sample sources are available in examples/android-wallet, examples/android-verifier, and sample-ios-kapun.xcodeproj.

Use the published SDK

Released artifacts are available from Maven Central. Add mavenCentral() to your repositories and depend on the module you need, for example:

dependencies {
    implementation("org.kapunsdk:kapun-wallet:1.0.0")
}

Replace 1.0.0 with the release you want.

Publish locally

To publish JVM artifacts to your local Maven repository:

./gradlew publishJvmPublicationToMavenLocal -PARTIFACT_VERSION=1.0.0-LOCAL

The resulting JVM coordinates use the org.kapunsdk group, for example org.kapunsdk:kapun-trust-jvm:1.0.0-LOCAL. Publishing all targets requires the corresponding Rust toolchains. Release signing is disabled by default.

Get involved

Bug reports and feature requests are welcome in the issue tracker. See CONTRIBUTING.md before opening a pull request. Pull requests should include tests or a short explanation when tests are not applicable.

Please report security vulnerabilities privately according to the security policy. By participating in this project, you agree to follow the Code of Conduct.

License

This project is licensed under the Apache License 2.0. See LICENSE.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages