ssi-sdk, this SDK encapsulates a set of standards related
to Self Sovereign Identity.
ssi-sdk intends to provide flexible functionality based on a set of standards-based primitives for building
decentralized identity applications in a modular manner: with limited dependencies between components.
The image above outlines the SDK's vision. Standards may be added and/or removed. The standards themselves are under active development, and as such, are subject to change. When possible we aim to call out which versions or revisions of standards we are building implementations against.
The SDK has not undergone any formal security review or audit, so please use with caution.
For more information, see the vision document.
Here are a set of references to specifications that this library currently supports. It is a dynamic set that will change as the library evolves.
- Decentralized Identifiers (DIDs) v1.0 W3C Proposed Recommendation 03 August 2021
- Verifiable Credentials Data Model v1.1 W3C Recommendation 09 November 2021
- Verifiable Credentials JSON Schema Specification Draft Community Group Report, 21 September 2021
- Presentation Exchange 2.0.0 Working Group Draft, March 2022
- Wallet Rendering Strawman, June 2022
- Credential Manifest Strawman, June 2022
- Status List 2021 Draft Community Group Report 04 April 2022
- Data Integrity 1.0 Draft Community Group Report
- Linked Data Cryptographic Suite Registry Draft Community Group Report 29 December 2020
- JSON Web Signature 2020 Draft Community Group Report 09 February 2022
- VC Proof Formats Test Suite, VC Data Model with JSON Web SignaturesUnofficial Draft 09 March 2022 This implementation's compliance with the JWS Test Suite can be found here.
- Supports both JWT and Linked Data proof formats with JOSE compliance.
- The did:key Method v0.7 Unofficial Draft 14 February 2022
- The did:web Method 20 December 2021
- The did:peer Method W3C Document 12 October 2021
- The did:pkh Method Draft, 22 August 2022
After installing mage, you can build and test the SDK with the following commands:
A utility is provided to run clean, build, and test in sequence with:
Mobile targets can be built with:
// Creates both Android and iOS packages
// Outputs an .xcframework for the crypto, cryptosuite, did packages
// Outputs a .jar and .aar for the crypto, cryptosuite, did packages
For information on versioning refer to our versioning guide.
The latest version is...nothing! No releases have been made.
A set of code examples can be found in the examples directory. We welcome contributions for additional examples.
- Decentralized Identifiers Example
- Verifiable Credentials Example
- Presentation Exchange Examples
|VISION||Outlines the project vision|
|VERSIONING||Project versioning strategy|
|CODE_OF_CONDUCT||Expected behavior for project contributors, promoting a welcoming environment|
|CONTRIBUTING||Developer guide to build, test, run, access CI, chat, discuss, file issues|
|LICENSE||Apache License, Version 2.0|