
Modular toolkit for digital identity wallets and verifiers, offering core utilities and a BLE OpenID transport implementation for verifiable presentations; includes sample apps and extensible modules.
This repository contains the source code for the Heidi SDK. The SDK is written in Kotlin Multiplatform and can be used to build Android and iOS applications.
The Heidi SDK consists of a collection of independent modules, where each module implements specific features used for digital identity wallets and verifiers.
The core module acts as a baseline for the SDK and contains basic functionality used by all other modules. This includes utility and extension functions.
The proximity module includes an implementation of the OpenID for Verifiable Presentations over BLE specification. This implementation allows a wallet to present verifiable credentials to a verifier over Bluetooth Low Energy (BLE). Right now, only the transport layer is implemented, the actual credential presentation and verification needs to be done by the implementing wallet and verifier.
There are crude sample applications for Android and iOS that demonstrate how to use the Heidi SDK. Since the SDK is still in early development, they are not yet fully functional and are suspect to change fundamentally.
To build and run the Android sample wallet:
./gradlew :sample-android-wallet:assembleDebug
./gradlew :sample-android-wallet:installDebugTo build and run the Android sample verifier:
./gradlew :sample-android-verifier:assembleDebug
./gradlew :sample-android-verifier:installDebugTo build and run the iOS sample app:
It is required to open the project folder first in Android Studio to generate the necessary local.properties file containing the ANDROID_HOME environment variable.
sample-ios-heidi.xcodeproj in Xcode.˜/.cargo/config.toml by setting [target.x86_64-unknown-linux-gnu]
linker = "x86_64-linux-gnu-gcc"
[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc" brew tap messense/macos-cross-toolchains
# install x86_64-unknown-linux-gnu toolchain
brew install x86_64-unknown-linux-gnu
# install aarch64-unknown-linux-gnu toolchain
brew install aarch64-unknown-linux-gnu export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-linux-gnu-gcc brew install mingw-w64This project is licensed under the terms of the Apache License 2. See the LICENSE file for details.
This repository contains the source code for the Heidi SDK. The SDK is written in Kotlin Multiplatform and can be used to build Android and iOS applications.
The Heidi SDK consists of a collection of independent modules, where each module implements specific features used for digital identity wallets and verifiers.
The core module acts as a baseline for the SDK and contains basic functionality used by all other modules. This includes utility and extension functions.
The proximity module includes an implementation of the OpenID for Verifiable Presentations over BLE specification. This implementation allows a wallet to present verifiable credentials to a verifier over Bluetooth Low Energy (BLE). Right now, only the transport layer is implemented, the actual credential presentation and verification needs to be done by the implementing wallet and verifier.
There are crude sample applications for Android and iOS that demonstrate how to use the Heidi SDK. Since the SDK is still in early development, they are not yet fully functional and are suspect to change fundamentally.
To build and run the Android sample wallet:
./gradlew :sample-android-wallet:assembleDebug
./gradlew :sample-android-wallet:installDebugTo build and run the Android sample verifier:
./gradlew :sample-android-verifier:assembleDebug
./gradlew :sample-android-verifier:installDebugTo build and run the iOS sample app:
It is required to open the project folder first in Android Studio to generate the necessary local.properties file containing the ANDROID_HOME environment variable.
sample-ios-heidi.xcodeproj in Xcode.˜/.cargo/config.toml by setting [target.x86_64-unknown-linux-gnu]
linker = "x86_64-linux-gnu-gcc"
[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc" brew tap messense/macos-cross-toolchains
# install x86_64-unknown-linux-gnu toolchain
brew install x86_64-unknown-linux-gnu
# install aarch64-unknown-linux-gnu toolchain
brew install aarch64-unknown-linux-gnu export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-linux-gnu-gcc brew install mingw-w64This project is licensed under the terms of the Apache License 2. See the LICENSE file for details.