Estimated reading time: 12-15 minutes

What's that? JAAK ID?

JAAK ID an Android application for a field operator to enroll KYC of several persons without internet connection. Reforms the flow of KYC and JAAKbut intended for brigades that work in areas with bad coverage: branches, rural communities, mass events or any care place where there isn't always a network.

The operator catches documents, home voucher, life and location of each person, everything's been saved encryption inside phone. When the computer retrieves connection, the app reproduces against the server the same check pipeline as the KYC online (OCR, document checks, monitoring lists, liveness and comparison 1:1) and once confirmed, erase device data irretrievably.

In integration. The capture of document and liveness detection uses SDK natives JAAK (Stamps and Visage); operator and device links are supported by service jaak-operator-restas expressed by API Gateway. Both pieces are currently integrated with the app.

The problem that resolves

The KYC online needs connection at every step: server does the OCRThat's bad. JAAK ID resolves the connection cut by saving the evidence safely and differentiates the check until there's a network, without losing catch or blocking the operator.

How it works: the complete cycle

PhaseConnectionWhat's up?
1. Operator loginRequired (once)The operator enters with his or her user and the session lasts 7 days and resold while reconnecting.
2. Linkage of the deviceRequired (once)The equipment will be assigned to an undertaking by code or QR and all the engagements of the day go to your file.
3. Field rollingNo connectionN persons are caught and each file will be put on the device with a single key.
4. syncRequiredWhen recovering network, the app reproduces the pipeline with checkpoints per step.
5. Purga—After confirming the server, the evidence will be destroyed from the phone and only the log remains without personal information.

Operator's login

The operator will be authenticated once with a connection. The session will last seven days and will be re-valid only if there's a network available, so that the rest of the day works without a connection. The screen shows the company to which the device is linked and offers biometric unlock for the following openings.

login screen from JAAK ID with related company

Linkage of device to an undertaking

Before operating, the device is linked to a company. This is done once, with a connection. There are two options: scan the QR code generated by the administrator from JAAK Console (expires after 15 minutes) or type the company code in the format XXXX-XXXX. Once the company is recognized, the associated watchlists (OFAC, SAT, RENAPO, INE, Interpol) are displayed before you confirm.

Filling screen with company and company code detected

The tail of enlargements

It's the main screen of the day. It shows the operator, the brigade, the remaining session days and three metrics: caught today, by synchronization and those that require review. device encryption and mode without connection. Each file appears with its legible folio (for example ENR-0001) and his status.

Retirement ratio with brigade metrics and outstanding files

Capture of document

The capture uses SDK document detection with real time guide: framing, document detection and light conditions. The operator captures face and back and the dark background and progress ring indicates progress. The whole framing processing is local.

Collection from the front of the document with quality guides

Data monitoring

Following the capture, a OCR local (ML Kit, on device) temporarily fills the document fields - name, CURP, Elector key, date of birth and address - for the operator to confirm them against the physical document. That reading is local and by synchronization, the server reremoves the data and both versions are compared.

Test form for data extracted by OCR Local

Review and save

Before closing the encoding, the app sums up the captured pieces (front, back, tester, liveness detection) and the GPS location. When saving, everything is figure with a unique key for that person and remains waiting for synchronization.

Review and saving display with captured parts and location

Confirmation

Each closed encoding receives a legible folio and is encrypted onto the device, ready to be sent after sign. The operator can continue with the next person without interruption.

Filling screen saved and cipher with its folio

Security: what protects and how

JAAK ID's built for that Unlegible get out of the phone until it goes down against the server JAAK.

MechanismWhat for?
AES-256-GCM by enrollmentEach person figure with his own data key (DEK).
SQLCypherThe local database (status, data, checkpoints) will be encrypted and the passphrase will be protected with the Android Keylight.
Cryptographic purgaWhen confirming the server, the encoding key is destroyed: evidence becomes irretrievable.
Establishment Ed25519Signed offline license enabling SDK without connection, locally verified by the app.
Bitter without pIIFollowing purge only an audit record with folio, hour, operator and result remains.

sync with checkpoints

When there's a network, the app reproduces the check pipeline by encoding: OCR server, document check, monitoring lists, liveness detection, comparison 1:1 and closure. Each step is marked with a CheckpointIf the connection is cut to half, the synchronization will resume at the last confirmed step without repeating what has been sent. The enlargements that the server rejects (for example a 1:1 comparison under the threshold) move to a review plate with the motif and actions available.

Support for tablets and guidance

The interface is adapted to phone and tablet, at vertical and horizontal. On tablets the flow is reorganized into a permanent side panel with a tail and a main capture panel, using space without stretching the contents.

JAAK A tablet with a tail and day panel

Following