Under the hood

How Identified keeps the answer yes-or-no, and the data to yourself.

Four steps from passport scan to verified age. The raw birth date never leaves the device in plaintext; our server only ever sees opaque ciphertext and answers a single yes/no question.

On the phone
15 MAR/MAR 1990
plaintext, never transmitted
ciphertext
Our server
3a91 c4d2 e7f0 a18b 5c2d 9e4f 7b00 d3a1 …
≤ compare only, no decryption
ciphertext
Your service
old enough ✓
verified, nothing else disclosed
The flow

Four steps. Nothing that looks like a user leaves the phone.

01

The user scans their passport

Our app on the user's phone reads the NFC chip in their passport or national ID and verifies the government-issued signature chain. Forged documents don't progress past this step.

NFC
DG1 + SOD read, signature ✓
02

Birth date is encrypted on device

The birth date is encrypted before it leaves the phone — on-device, with a key the user holds. Our server only ever sees ciphertext.

3a91 c4d2 e7f0 a18b 5c2d 9e4f 7b00 d3a1
c4d2 e7f0 a18b 5c2d 9e4f 7b00 d3a1 c4d2
e7f0 a18b 5c2d 9e4f 7b00 d3a1 c4d2 e7f0
a18b 5c2d 9e4f 7b00 d3a1 c4d2 e7f0 a18b
03

Age comparison runs on encrypted data

The server runs a single operation on the ciphertext. The answer that comes out is also ciphertext. We never see a plaintext date or even a plaintext yes/no.

TFHE · FheUint32::le
input257 KB
compute~80 ms
output16 KB
04

Your service gets a yes or no

The encrypted result is decrypted locally on the user's device and digitally signed. Your backend receives proof that the person is old enough — and literally nothing else.

over 18
digitally signed
Who holds what

What stays with the user, and what we actually get.

The user keeps

  • Full control — passport data is read, encrypted, sent and erased
  • The private key used to encrypt and decrypt
  • The plaintext answer

What we see

  • Opaque ciphertext in, opaque ciphertext out
  • A pseudonymous session id
  • — that's it
~80 ms
API call
257 KB
encrypted data
1
API call
Ready when you are

See it verifying a passport in under a minute.