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

jorgenavben/cf-identity-wallet

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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 with security audits and threat modelling still pending. 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.

❗ 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), 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
    • Direct-mode, witness-backed, Cardano-backed
    • Single-sig, multi-sig
  • 🎫 ACDC credentials exchanged using the IPEX protocol
  • ⚑ Efficient over-the-wine 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 18.20.4.
  • 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.

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

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

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.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 92.0%
  • SCSS 6.9%
  • Gherkin 0.4%
  • JavaScript 0.2%
  • Earthly 0.1%
  • Swift 0.1%
  • Other 0.3%