Back
Codesprint Spotlight: Developing private identity verification
July 03, 2025

Codesprint Spotlight: Developing private identity verification

Today, verifying your identity online creates an impossible choice: hand over excessive personal information to prove who you are, or forgo getting access at all. Many platforms routinely require ID documents for compliance that share more info than necessary, creating servers full of valuable data that are prime targets for hackers.

Alex Kim, a software engineer with extensive machine learning experience, has been following Aleo since Testnet 2 in 2021. While exploring cryptography and blockchain development in his free time, he recognized the power of zero-knowledge technology and saw how Aleo was uniquely positioned to solve digital privacy challenges. His winning CodeSprint project, zPassport, transforms government-issued passports into verifiable digital credentials that prove essential identity properties—age, citizenship, document validity—while revealing only the minimum information necessary, eliminating external custodians entirely.

We caught up with Alex to learn how four years of watching the Aleo network evolve inspired him to build a solution that can help make digital identity private.

Tell us a bit about yourself. What led you to build on Aleo?

I’m a software engineer from Washington D.C.  Most of my professional experience has been centered around machine learning, but in my free time I do a lot of learning and development with cryptography and blockchain. I’ve been following along with the Aleo community since the Testnet 2 days back in 2021.  Back then I wasn’t super familiar with blockchain in general, but I knew enough to recognize the power of zero-knowledge and to see how Aleo was poised to address a huge unsolved challenge with digital privacy.  There have definitely been some technical and non-technical bumps in the road, but it’s been amazing to see how the network has grown since then.  With all the new developer features that have been released, as well as the ones on the roadmap, I’m more bullish than ever on the potential that Aleo has.

Walk us through your app.

Platforms like Coinbase and Instagram are increasingly demanding verifiable proof of identity to gain access to their services. Unfortunately, these same platforms often prefer to collect excessive amounts of personally identifiable information (PII) rather than risk failing regulatory compliance. This leads to the risk of massive breaches of incredibly valuable data like passports, social security numbers, and bank account numbers.

zPassport is a service for generating verifiable digital credentials from official digital passport data.  It’s designed to address the issues above by allowing users to definitively prove properties about themselves online while ensuring the minimal amount of information is revealed. This approach builds directly on the existing infrastructure of trusted government-issued documents, transforming them into verifiable digital credentials. 

The result is a secure, interoperable bridge between real-world identity and verifiable digital identity.  Most importantly, zPassport is both privacy-preserving and decentralized, which is only possible on Aleo. 

What was the biggest technical challenge you overcame?

Figuring out the workflow and architecture of the credential initialization and verification took a lot of thought and design considerations. The biggest focus was to eliminate any external custodians for the unencrypted credential data. The point of zPassport was to be fully privacy-preserving, so the need for external servers or middlemen would defeat the purpose. In addition, there were a lot of different tech stacks required to smoothly get from a physical document to a verified digital credential without ruining the user experience.  

I ended up needing to write in Swift to access the camera and RFID reader on my phone, an OCR model to read in the characters detected by the camera when scanning the passport, a separate cryptographic library to verify the passport data against the externally downloaded certificates, and a Leo program to generate the on-chain credentials.

What features or aspects of your app are you most proud of?

Definitely the frontend iOS app. I’m not an experienced frontend or UI/UX developer, so building the zPassport app was definitely out of my comfort zone. It was also my first time programming in Swift (or building any mobile app in general) so there was a bit of a steep learning curve. It will definitely need some improvement before shipping to production, but for the few weeks of work I put into it, I’m pretty happy with how the design and functionality turned out.

What’s next for your app?

There are a few network-level technical challenges to overcome first. Unfortunately, there is no native support for the SHA-2 family of hashing algorithms or RSA/ECDSA signature verification on Aleo at the moment. I believe that support for these is incredibly important for interoperability with both other blockchains and legacy Web 2.0 data, so I’m hoping for this to be a major priority over the coming months. 

(Editor’s note: Compatible signature verification is not available on Aleo because “traditional” signature schemes are not designed with ZK in mind. Creating a way to verify signatures in passports natively on Aleo could be a new contribution to the network.)

Once this is possible, then a full working version of the zPassport app can be shipped to the App Store.  If people are curious to learn more about the app or to see progress updates, please check out the latest zPassport blog!

What advice would you give to developers thinking about participating in CodeSprint?

Just start. The first Aleo hackathon I participated in was the Testnet3 Deploy Incentives, and I had no experience writing frontend or Leo code.  All I had was an idea, and through only a month of hacking and researching I ended up building a decentralized namespace resolver with a frontend.  You might not end up winning any rewards, but the most valuable thing you can get from the process are the skills and knowledge you pick up along the way.

Even if you’re a non-technical person or don’t have any experience writing code, there are many resources that can easily help you get started, especially now with all of the AI agents and vibe-coding tools. There are also many amazing community members that are willing to help explain the Aleo network and generally give technical support.

Register now for the next CodeSprint hackathon starting in July.

Related