Privacy · in depth

How passport checks work

CarrierMSG uses ZKPassport to check a passport or ID card without seeing it. You choose what the check proves.

Rolling out Passport checks are still being tested: no real passport has been checked end to end yet. You can delete your check at any time in You › Verification.

  1. 1 Your phone reads the chip

    The chip in your passport or ID card is signed by the country that issued it. The ZKPassport app reads it on your phone.

  2. 2 A zero-knowledge proof answers only your questions

    It answers only what you picked, like “Over 18? Yes.” Your name, birth date and document number never leave your phone.

  3. 3 A live selfie is matched to the chip photo

    The ZKPassport app compares a live selfie with the photo on the chip, on your phone. We never receive either picture.

  4. 4 One passport, one account

    We keep a code made from your passport that can’t be traced back to you. It only stops the same passport from verifying a second account.

  5. 5 Coming: Midnight

    Later, on Midnight’s test network, you’ll be able to prove “over 18” or your age range again without scanning, with nothing personal on the blockchain. This isn’t live yet.

You choose what the check proves

Always included

Over 18 and a face match

Optional, off unless you turn them on

  • Age range18–24, 25–34, 35–44, 45–54, 55–64 or 65 or older. Pick the range your age is in. If it’s not, the check can’t finish and you can pick again. We never learn your exact age.
  • NationalityThe nationality in your passport or ID.
  • Sex markerAs written in your passport or ID (M, F or X).

The ZKPassport app lists exactly these items before you agree.

What we keep

  • Over 18: yes
  • Face match: passed
  • The date of the check
  • Your age range, nationality and sex marker, only the ones you chose
  • A code for one passport, one account

What we never see

  • Your name
  • Your birth date or exact age
  • Your document number
  • Your passport photo or your selfie
  • Your passport itself

Who can see your answers

Only you, unless you choose to show them. For each answer you can pick who sees it on your profile: nobody (the default), everyone you chat with, mutual contacts, or your contacts. When you show one, it travels inside your end-to-end encrypted profile card, signed by your home Loft, and the other person’s app shows it with a small “Passport-checked” mark. Answers are never shown in search or in community member lists. Your verification level (tier 6) only needs “over 18” and the face match; the extras never change it.

Midnight: what’s coming

Today the passport check doesn’t use Midnight. We’ve built a private credential on Midnight that will hold the same answers as sealed commitments, so you can later prove “over 18” or “my age is in this range” to a community or a service without scanning again, and without anything personal on the chain. It’s built, not deployed: it will start on Midnight’s Preview test network, and mainnet stays locked until an independent security audit.

Questions

Is my passport stored?

No. Only the answers you chose and the date are kept.

Can CarrierMSG see my name?

No. Your name never leaves your phone.

What does Midnight have to do with it?

Today, nothing: the check uses ZKPassport. Later, a private credential on Midnight’s test network will let you prove these answers again without a new scan. Nothing personal goes on the chain.

Can I delete it?

Yes. In You › Verification › Passport, “Remove verification” deletes everything we keep.