Note - Credible is currently in alpha and undergoing active development and refining. If you have a use case for which you want to consider using Credible, please reach out at [email protected].
Credible is a reference implementation of a native mobile wallet that supports W3C Verifiable Credentials and Decentralized Identifiers built on DIDKit and Flutter. We packaged the DIDKit library written in Rust into a Flutter application that can be rendered equally to both Android and iOS, using C bindings and Dart’s FFI capabilities respectively. This is the wallet counterpart to the rich, growing issuance/verification toolkit supplied by DIDKit, the two pillars of a reference architecture for creating trusted interactions at scale using Verifiable Credentials.
QR support to initiate and execute issuance and presentation of verifiable credentials
Changing only a few lines of code, Credible can be rebuilt from source to natively handle any of the DID methods in DIDKit.
Built in the Flutter native framework, for leaner, faster builds and less dependencies, but also available through the top package manager of both ecosystems for more involved integrations.
We built Credible to be solid on the foundations and light on the context-specific details, meaning that it handles DIDs and VCs to an exceptional degree of conformance with the core specifications for each.
We feel, however, that the protocols, semantics, and higher-order decisions taken by anyone integrating a wallet into one or more credential ecosystems should not be constrained, much less taken, by a reference implementation: those choices are up to the implementers using it.
Please open an issue if you have thoughts on how to better support the protocols you are implementing for authentication, authorization, VC exchange, etc. Or, if you want to contribute code, we are open to PRs on Credible and its Spruce-governed dependencies, with the appropriate Contributing agreements and review!