cf-identity-wallet icon indicating copy to clipboard operation
cf-identity-wallet copied to clipboard

Identity Wallet is an open source mobile application developed by the Cardano Foundation. It provides a digital solution for users to securely store, manage, and share their identifiers and verifiable...

Cardano Foundation | Identity Wallet

Cardano Foundation | Identity Wallet

GitHub Discord


Disclaimer

Please be aware that your access to and use of the Open-Source Identity Wallet, including any content you may encounter, is subject to your own discretion and risk. Currently, the identity wallet is under-development and security audits have yet to be conducted. It is essential to understand, this version of the identity wallet does not currently feature encryption-at-rest, nor does it offer robust recovery or backup solutions. Furthermore, any seed phrase generated during the onboarding process is currently not being utilised. We are in the process of reviewing the ideal key management and social recovery methodologies for development in 2024.

:heavy_exclamation_mark: The Open-Source Identity Wallet is provided to you on an "as is" and "as available" basis.

While we strive for high functionality and user satisfaction and endeavour to maintain reliability and accuracy, unforeseen issues may arise due to the experimental nature of this product. For detailed information on the terms and conditions that govern your use of the Open-Source Identity Wallet, we encourage you to read our Terms of Use.

Overview

The Identity Wallet is an open source application developed by the Cardano Foundation. This project is the result of ongoing research and development pertaining to the principles of Self-Sovereign Identity (SSI), Decentralized Identifiers (DIDs), Self-Certifying Identifiers (SCIs), Verifiable Credentials, Verifiable Data Registries (VDRs) and the standards, frameworks and implementations available within the Cardano ecosystem and externally. The first release of Identity Wallet provides an open source reference implementation demonstrating W3C Decentralized Identifiers, Verifiable Credentials, and Key Event Receipt Infrastructure (KERI) on Cardano.

Identity Wallet Introduction Video Thumbnail

Click the image to watch the overview video

Features

User Interface Secure Storage Interoperability Standards & Protocols Connections & Credential Issuance SSI Agents
Intuitive User Experience Hardware Security Module (HSM) or Secure Enclave (SE) securely stores private key material Aries RFCs Verifiable Credentials Holder-to-Holder Open Wallet Foundation
Android and iOS support Hierarchical Deterministic (HD) Identity Wallet W3C Autonomic Identifier (AID) Issuer-to-Holder KERIA
DIDComm ACDC Credential Issuance Testing Tool Signify-TS
KERI on Cardano

Potential Future Developments

App Features Identity Recovery Identifiers Verifiable Credentials Communications Peer-to-Peer (P2P)
Bluetooth Shamir Secret Sharing did:webs OID4vc Messaging CIP-45 Support
Biometrics On-chain Recovery did:keri On-Chain Schemas Social Recovery App Integration
NFC Local Encrypted AnonCreds DIDComm v2
Aries Askar Cloud-based Cheqd

Preview in your Browser

Disclaimer: This preview version is not intended to be used for any purposes other than previewing the application.

To experience the mobile application within the browser, please select one of the following links below, depending on whether you are accessing the preview version on your desktop or mobile device.

🔗 Preview the latest version of the Identity Wallet on your browser 🔗


* On a desktop computer


* On a mobile phone

Architecture


User Flows

In this section, you'll find detailed PDF documents outlining the various user flows within our application. These user flows serve as comprehensive guides, illustrating the application's user journeys step-by-step. Please feel free to explore and gain insight into the following user flows:

User Flow Preview

Getting Started

Requirements

  • Node.js: Version 18.16.0.
  • npm: Compatible with the Node.js version.
  • Xcode: For iOS emulation (latest version recommended).
  • Android Studio: For Android emulation (latest version recommended).
  • Capacitor: Version 4.8.1 (refer to package.json). For detailed environment setup, refer to the Capacitor Environment Setup Guide.
  • Mobile Device: iOS or Android for running the app on physical devices.
  • Docker (only required if running the credential server in Docker).

Ensure that your system meets these requirements to successfully use and develop the Identity Wallet application.

Cloning the Repository

git clone https://github.com/cardano-foundation/cf-identity-wallet.git
cd cf-identity-wallet

Preparing the App

This project uses a specific node version (check the requirements section above). You can optionally use nvm to manage and switch between different Node.js versions on your computer.

Before running the App, ensure that all dependencies are installed and the app is built properly. In the project root directory, run the following commands:

npm install

Running in the Browser

npm run dev

This command starts the development server and allows you to preview the application on your browser by opening this localhost address:

http://localhost:3003/

Running in an Emulator

You can discover how to run the application in an emulator by following this link.

End-to-End (E2E) Testing

You can gain additional insights into end-to-end testing by visiting the provided link.

Contributing

All contributions are welcome! Please feel free to open a new thread on the issue tracker or submit a new pull request.

Please read Contributing in advance. Thank you for contributing!

Additional Documents

  • Code of Conduct
  • Security
  • Changelog

Troubleshooting

Please be aware that from time-to-time the hosted pre-production KERI services require restarting. When this occurs it causes a white-screen when launching the application. If you experience the white-screen issue please wait for the services to restart and the application will load as expected. If you have any questions, there is also a Discord Channel available for the Identity Wallet.

Resources

W3C

KERI

Standards, Frameworks and Governance