Monorepo for OpenPassport.
OpenPassport is an identity wallet that lets users generate privacy-preserving proofs from government-issued IDs such as passports. By scanning the NFC chip in their ID document, users can prove their validity while only revealing specific attributes such as age, nationality or simply humanity. Under the hood, OpenPassport uses zk-SNARKs to make sure personal data is redacted, but the document is verified.
Use cases unlocked include:
Checkout our coverage map here
When a country issues a passport, they sign datagroups that include at least:
Countries use different signature algorithms to sign passports. Check out our coverage map to see which~
Not all signature algorithms are currently supported. To help us add support for yours, please contact us.
You can download the full list of public keys on the ICAO website. Our parsed list is at /registry
.
The International Civil Aviation Organization (ICAO) is a specialized agency of the United Nations. Among other things, they establish the specifications for passports, that have to be followed by all countries. The full passport specs are available here.
We will provide bounties for all those applications. Those are not fixed right now, so please contact us if you're interested.
Everything we write is MIT licensed. Circom and circomlib are GPL tho.
We are actively looking for contributors. Please check the open issues if you don't know were to start! We will offer bounties from $100 to $1000 for any significant progress on these, depending on difficulty.
Contact me @FlorentTavernier on telegram for any feedback or questions.
Thanks Rémi, Youssef, Aayush, Andy, Vivek and Andrew for contributing ideas and helping build this technology, and PSE for supporting this work through grants!