prism_ekyc 0.3.0
prism_ekyc: ^0.3.0 copied to clipboard
Prism eKYC – NFC + Camera + Face Verification Flutter package for Japanese ID documents.
0.3.0 #
- Backend OCR and face matching — document OCR (name, DOB, visa status, address, etc.)
and selfie face matching are now performed server-side by the Prism eKYC backend.
Requires
baseUrlandapiKeyinPrismEkycConfig(contact RubiLabs to obtain credentials). PrismEkycConfiggains two new optional fields:baseUrlandapiKey. When both are set the backend is used.NfcScanResultgainsdocumentIdentificationId— populated after the backend document-authentication call; threaded through to face-authentication to correlate both requests.- Removed native face-matching channel —
com.rubilabs.prism_ekyc/faceand the correspondingAndroidFaceComparison.kt/FaceComparison.swiftclasses are removed. Face matching is now fully server-side. - Removed
debugBypassNfcanddebugFacePhotofromPrismEkycConfig. - Android: removed
face-detection:16.1.5andkotlinx-coroutines-androiddependencies. - iOS: removed
Visionfrom podspec frameworks (was used only for native face comparison). - Added
http: ^1.2.0topubspec.yaml.
0.2.0 #
- Native NFC bridge — replaced
flutter_libjeidevent-stream API with a directMethodChannel(com.rubilabs.prism_ekyc/nfc) backed by platform-native code; eliminates the dependency on the third-party Dart wrapper. - Android: NFC reading via
NfcAdapter.enableReaderMode+ libjeid-free AAR (bundled locally); plugin implementsActivityAwareto obtain theActivityreference required for NFC operations. - iOS: NFC reading via
NFCTagReaderSession+libjeid.xcframework(vendored inside the plugin); no additional CocoaPod or manual linking needed. - Card front OCR —
CardOcrService(ML Kit Japanese / Vision) is now wired into the backside-capture step; name, nationality, date of birth, gender, address, visa status, and permit/issuance/expiry dates are extracted automatically and pre-populate the registration form. - Liveness thresholds relaxed — required consecutive frames reduced from 4 → 2; blink threshold raised from 0.25 → 0.4; smile threshold lowered from 0.75 → 0.5; head-turn angle lowered from 20° → 12°.
NfcScanResult.copyWithexpanded to cover all OCR text fields.- Build: switched libjeid dependency from unreachable CDN
(
cdn.osstech.co.jp) to a locally-bundled AAR; addedpackaging { resources { excludes } }to resolve BouncyCastle / jspecifyMETA-INFduplicate conflict. - Removed
flutter_libjeid,flutter_bloc,equatable,permission_handler,nfc_manager, andimagefrompubspec.yaml; retainedcamera,google_mlkit_face_detection, andgoogle_mlkit_text_recognition.
0.1.0 #
- Initial release — full eKYC screen flow (Welcome → NationalitySelector → IdInstruction → NfcScan → BacksideCapture → FaceVerification → RegistrationForm → Completion).
- NFC reading via
flutter_libjeid(Dart wrapper around libjeid). - Face liveness challenge (blink / smile / turn) using ML Kit Face Detection.
- Card front OCR using ML Kit Japanese text recognition.
- Face comparison via
MethodChannel(com.rubilabs.prism_ekyc/face) — ML Kit on Android, Apple VisionVNGenerateImageFeaturePrintRequeston iOS. - Android:
NfcAdapter.enableReaderMode+ libjeid-free AAR via osstech CDN. - iOS:
NFCTagReaderSession+libjeid.xcframeworkvendored in plugin. - Multi-language support (English / Japanese / Indonesian) via
ValueNotifier<PrismLanguage>. PrismEkycConfigentry point withonComplete(EkycResult)callback and optional license key.