Skip to content

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 credentials.

License

Notifications You must be signed in to change notification settings

cardano-foundation/cf-identity-wallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Cardano Foundation | Identity Wallet

Cardano Foundation | Identity Wallet

GitHub Discord


Disclaimer

Currently, the Identity Wallet is in its final stage of development for an initial release. We are conducting third-party security audits, threat modeling, and penetration testing in preparation for deployment to the iOS and Android App Stores. Some of the information and visuals below are being updated as we move towards the release.

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), Self-Certifying Identifiers (SCIs), 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 the Key Event Receipt Infrastructure (KERI) on Cardano.

User Flow Preview


Features

  • πŸ“± Android & iOS Support with native biometrics
  • ☁️ High messaging availability with a KERIA cloud agent
  • πŸ” Secure Enclave (SE) / Trusted Execution Environment (TEE) usage for seeds & secrets
  • πŸ†” KERI autonomic identifiers
    • Securely backed by a combination of KERI native witnesses and Cardano
    • Single-sig, multi-sig
  • 🎫 ACDC credentials exchanged using the IPEX protocol
  • ⚑ Efficient over-the-wire communications using CESR encoding
  • πŸ–₯️ dApp integration using CIP-45

Future Developments

  • Encryption at rest with local backup & restore (Compatible with Hyperledger Aries Askar)
  • Social and multi-device identifier recovery
  • P2P Chat
  • Delegated multi-sig for organisational identity
  • Cardano-backed ACDC verifiable credential schemas

Standards & Protocols

SSI Services

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:

Getting Started

Requirements

  • Node.js: Version 20.
  • npm: Compatible with the Node.js version.
  • Xcode: For iOS emulation (latest version recommended).
  • Android Studio: For Android emulation (latest version recommended).
  • Capacitor: Version 6.0.0 (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, Docker Compose.

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
make init # This will configure the git hooks

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

The development server depends on a local KERIA and credential issuance server setup. The Docker Compose file can be used to quickly bring these services up.

docker-compose up -d --build
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.

Additional Tutorials

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

Troubleshooting

If you encounter any issues or have questions, please drop us a message on our Discord channel. We are here to help!

Resources

KERI

Standards, Frameworks and Governance

About

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 credentials.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages