Docs contentsYaliyomo ya nyaraka

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.hand is ask (the person picks), right or left.
  • Passing usage: engine counts the verification with fingerprints in your usage reports.
  • A card that fails skips the fingerprints.
  • Without fingerEngine, the flow creates one itself with the licence you 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.