Passportreader¶

Overview¶
Passportreader is a verifier for remote EUDI Wallet presentation flows. It is designed to test practical PID verification across different wallet implementations with a simple browser journey: choose a wallet, scan a QR code or open a deep link, approve the presentation in the wallet, and review only the returned attributes.
The playground deployment currently requests the full PID dataset and displays the verified values returned by the wallet.
Supported Standards¶
| Description | |
|---|---|
| Credential formats | mso_mdoc, dc+sd-jwt |
| Credential types | EU PID and age proof attributes (age_over_18, age_over_21) |
| Remote protocols | OpenID4VP draft 18 / Annex B, OpenID4VP 1.0 with DCQL and HAIP 1.0 |
| Presentation modes | Cross-device QR code, same-device deep link and DC API |
| Verifier metadata | Response encryption with ECDH-ES and both A128GCM and A256GCM, request object signing with ES256 |
| Not supported in this demo | Proximity presentation, BLE |
Getting started¶
Open Passportreader Playground.
- Choose the wallet profile you want to test.
- Click
Continue. - Scan the QR code with the wallet on another device, or click
Open walleton the same device. - Approve the presentation in the wallet.
- Return to the browser to see the verified attributes received by the verifier.
What gets displayed:
- Given name
- Family name
- Birth date
- Place of birth
- Nationality
- Residence attributes, when shared
- Issuing country
- Expiry date
Certificate¶
Request object signing keys are published through the verifier JWKS endpoint:
Contact and support¶
If you have questions or issues, contact us at support@passportreader.app
About us¶
PassportReader provides a unified API for government-signed identity across electronic passports, national eID cards, and digital wallets.
Built for onboarding, KYC/AML compliance, authentication, and age verification.
View our documentation and get started on our free plan at https://passportreader.app