Fingerprints for NIDA
Capture fingerprints on the phone and hand your backend NIDA-standard images with NIDA finger codes.
digid captures fingerprints with the phone's camera, with no scanner. The output is NIDA-standard fingerprint images (WSQ, 500 ppi) with NIDA finger codes, in the same digid.kyc/1 document as the card and the face. Your backend can then use them, for example for a biometric check with NIDA if you have that access.
Fingerprints are in the Flutter SDK today. For native Android, iOS or the web, talk to us.
Adding fingerprints to the flow
Fingerprints need their own engine and a licence that includes them. Create it once, next to the card engine, with the same licence:
final engine = await DigidFlow.createEngine(licence: licence);
final fingers = await DigidFingerEngine.create(licence: licence, usage: engine);
final result = await DigidFlow.start(
context,
engine: engine,
fingerEngine: fingers,
licence: licence,
config: DigidFlowConfig.fromJson({
'flow': {
'steps': ['card', 'selfie', 'fingerprints'],
'fingerprints': {'hand': 'ask'},
},
}),
);
flow.fingerprints.handisask(the person picks),rightorleft.- Passing
usage: enginecounts the verification with fingerprints in your usage reports. - A card that fails skips the fingerprints.
- Without
fingerEngine, the flow creates one itself with thelicenceyou pass. Pass your own to control when it loads and to count usage. - With a licence that does not include fingerprints, the flow shows "Fingerprints unavailable" instead of the camera.
What you get
result.fingerprints holds the capture and result.payload the document. Its fingerprints array lists every accepted finger:
| Field | Meaning |
|---|---|
code |
NIDA's finger code: R or L for the hand, then a digit from 1 to 5 for the finger |
finger |
The same, spelled out, for example left_index |
format |
Always wsq |
ppi |
Always 500 |
width, height |
Image size in pixels |
capture |
contactless (phone camera) or contact (a scanner) |
image_b64 |
The WSQ file, base64-encoded |
Fingers that were not good enough are left out rather than sent. The document also names the finger to use when you send only one, and carries the fields NIDA's biometric verification expects, ready to use. Customers who sign in can read the field-by-field details: NIDA fingerprint submission fields.
Licensing
Fingerprints are their own licence feature (fingerprints). With a licence that does not include them, the fingerprint engine refuses to capture and the document builder refuses to add prints. In evaluation mode everything runs, watermarked.
Privacy
Fingerprint images are biometric data. They exist only in your app's memory until you send them, and digid never receives them. Send them only over TLS to your own backend, keep them only as long as you need them, and never log them. See Privacy and security.