NFC chip verification
NFC reads the signed chip inside an ePassport or chipped ID with a phone - the strongest document check available, and the one Spanish financial regulators judged at least as safe as an in-person check.
NFC reads the cryptographically signed chip in a passport or chipped ID and verifies its signature chains back to the issuing country. It needs a phone with NFC hardware, so it is delivered through a native SDK rather than a plain browser page - and it always falls back to a normal photo check when the chip can't be read. $0.15 per completed read, never in the free tier.
#What NFC actually proves
An ordinary document check reads the printed surface. NFC reads the chip, and the chip is signed by the government that issued the document. That means NFC can prove two things a photo cannot:
- The data really came from the issuing authority, because the signature chains back to that country's certificate authority.
- The document has not been altered, because tampering breaks the signature - including tampering that is invisible to the eye.
It's the highest-assurance document check Didit offers. It also returns data the printed surface doesn't carry, including the chip's own portrait image.
After a year-long supervised test, Spain's Tesoro Público, Banco de España, SEPBLAC and CNMV concluded that Didit's NFC + liveness verification is at least as safe as an in-person ID check under anti-money-laundering rules. See certifications and compliance.
#Where NFC works, and where it doesn't
NFC needs the phone's NFC radio, which means it needs an app context that can use it:
| Delivery | NFC available? |
|---|---|
| Native mobile SDK (iOS, Android, React Native, Flutter) | Yes |
| A browser page on a phone | No - the chip cannot be read from a plain web page |
| Desktop | No |
If you want NFC in your flow, you need the verification running inside an app that embeds one of the native SDKs. There is no consumer Didit app that a hosted web session hands users off to for the chip step.
#The fallback is automatic
When NFC isn't available - no chip in the document, no NFC hardware, the radio switched off, or the user can't hold the phone steady enough - the flow falls back to the standard photo-based document check plus face match. The session still completes; the NFC result array simply comes back empty.
That fallback is what makes NFC safe to enable broadly. It is also what you have to override if your policy is "chip or nothing": to require a chip read, configure the NFC step to decline when the chip is not verified, and remove the photo-capture path from the workflow. Otherwise a user who skips NFC still passes on the photo route.
#Reading the result
Each NFC attempt has its own status and its own warnings. The ones that matter:
| Warning | What it means | What to do |
|---|---|---|
NFC_NOT_READ | The chip was never read - usually the phone moved | Let them retry; this is not a fraud signal |
NFC_BAC_FAILED | The chip wouldn't open with the key derived from the printed data | Usually a bad OCR read of the MRZ; retry |
NFC_DATA_DOES_NOT_MATCH_OCR | The chip and the printed data disagree | Treat as a tampered document. Do not approve |
NFC_PASSIVE_AUTHENTICATION_FAILED | The chip's signature didn't chain to a trusted issuer | Stop the flow |
NFC_CHIP_CLONED | Chip cloning signals detected | Stop the flow |
NFC_DOCUMENT_REVOKED | The document has been revoked by its issuer | Stop the flow |
The distinction to internalise: NFC_NOT_READ and NFC_BAC_FAILED are usability failures and deserve a retry. The others are integrity failures and deserve a decline.
Developers: the result field is the plural array nfc_verifications[]. Some early
integrations looked for a singular nfc_verification key, which does not exist.
#Helping users actually read the chip
The chip is not in the middle of the document, and the antenna is not in the middle of the phone. The two most useful instructions to give a user:
- Put the document flat on a table and rest the phone on it, rather than holding both.
- Move the phone slowly around the document until it connects - on most phones the antenna is near the top edge on the back.
Cases and thick wallets between the phone and the document also block the read.
#What it costs
NFC is $0.15 per completed verification and is not part of the free tier. It's billed separately from ID verification, so a session that reads the chip and also runs a standard document check bills both. See what counts as a billable check.
#Which documents have a chip
Most passports issued in the last decade, and a growing number of national ID cards and residence permits. Coverage is narrower than OCR coverage precisely because it depends on the physical document. The current list is in the docs: NFC supported documents.