Document Reader SDK 7.1 — February 19, 2024
Warning
This is the major release update, containing significant changes in all modules and components. The backward compatibility is not guaranteed. To transfer your existing Document Reader SDK configuration from the previous version and keep the system performing, follow the Migration Guide for the corresponding software component.
IMPORTANT changes
- Document detection on the image quality and speed drastically improved, as well as document type recognition based on it.
- Document liveness checks of multiple dynamics element types introduced. Now not only holograms, but also multiple OVI, MLI, Dynaprint elements are verified based on the specific document template. All document liveness checks are now enabled by default.
- Server-side reprocessing of the client-side gathered liveness data introduced. Now, captured sessions can be safely transferred to the backend server and then reprocessed together with other document data as a single package in a safe trusted environment to obtain final verification results.
- API v2 (aka Session API) introduces several significant features aimed at enhancing security, scalability, and flexibility:
- Client-server end-to-end encrypted communication. The API now incorporates end-to-end encryption at the SDK level, ensuring that data transmitted between clients and servers remains secure and protected from unauthorized access or tampering.
- Session data storage: This version enables the backend to store session-specific data, offering clients the capability to re-process captured data packages on the server side. This feature enhances workflow efficiency and allows for easier retrieval and analysis of processed data.
- Contact chip type check implemented and added for most documents containing such chips. If the chip is absent or the pattern of the chip is different from expected the check will fail.
- Updated UI animations in mobile SDK for better UX.
- Web service configuration streamlined using YAML.
- Performance and memory consumption improvements in running NN on server side.
- Documentation is greatly improved and extended.
Core SDK
Document Detection and Crop
- Implemented a new approach to document detection and cropping via NN. This is a major change that provides massive improvements to processing quality and speed. This is especially noticeable in cases with low contrast backgrounds, where successful detections were impossible before and took a very long time (up to 30 seconds). It uses NN and its running time is strictly determined and is constant for any input case.
- This allowed detection of documents with large perspective distortions and angles and facilitated document liveness checks on mobile for dynamic document security features.
- Now multiple documents/pages are detected in one call. You may use
Locate
scenario to detect multiple documents positions and then call each one for processing by specifying exact detection in input for other processing scenarios. - Document detection and cropping is the first stage in processing, so its quality is critical for overall processing success. With improvement in its quality, we have got large improvements on consecutive processing stages, as the input quality for them increased drastically. For example, cropping incorrectly at about 5 mm in one of the document corners might lead to incorrect resolution estimation and wrong template positioning which then lead to errors in processing. Multiple issues with documents of specific designs where stripes were present at the edges, or on the striped backgrounds, are not relevant anymore.
- There was a huge effort done to cover all possible cases of different document formats in all possible environments to provide best quality detection.
- This also allowed to improve processing of the documents on the large images, where the document occupies only a small area region. This facilitated
OneShotIdentification
mode to successfully work with more variations of input images.
Document Type Recognition
- Fixed an issue with recognition of documents which have list of other very similar looking documents until the whole list is checked.
OCR
- Improved the NNs with better recognition quality for next languages:
- Arabic
- Baltic
- Bengali
- Hebrew
- Khmer
- Korean
- Added
processParam.lcidIgnoreFilter
parameter to provide LCID values that should not be recognized. This can be used to speed up processing, RAM size utilization optimization and eliminate potential validity check issues of some local language document fields when they are not required to be read at all. - Added new fonts support for perforated document numbers in different countries documents.
- Fixed an issue with symbol coordinates and positions calculation on long fields.
- Fixed an issue with validity calculation for the fields containing “?” in result.
MRZ
- New parsers:
- Brazil Passport
- Gambia ID Card
- Iraq DL
- Kyrgyzstan Resident Card
- Paraguay ID Card
- Sierra Leone Passport
- Sint Maarten Passport
- Somalia Passport
- Syrian Arab Republic Passport
- Updated parsers:
- Angola Residence Permit
- China Passport
- Lesotho ID Card
- Peru ID Card
- Switzerland Passport
- Turkey Visa
- Added a capability to reparse MRZ data into fields after changing its value manually with recalculating all field positions and symbol coordinates.
- Updated
MRZTestQuality
result generation with extended data of field positions inside the MRZ. - Fixed optional data fields in multiple parsers to ICAO requirements.
- Fixed an issue with field checksum validity when field data was not correctly recognized.
- Fixed an issue with returning optional data field full value.
Barcode
- Added new parsers:
- Abkhazia DL
- Abkhazia Registration Certificate
- Afghanistan Passport
- Argentina DL
- Austria ID Card
- Austria Passport
- Bahamas Seaman book
- Benin Visa
- Brazil Certificate of Birth
- Brunei Darussalam Permanent Residence Card
- Canada Birth Certificate
- Chile ID Card
- Cote d’Ivoire Registration Certificate
- Ethiopia ID Card
- Finland ID Card
- Finland Passport
- Guinea Voter Card
- India DL
- India ID Card
- Korea Resident Card
- Mexico DL (multiple states)
- Mexico Voter Card
- Paraguay ID Card
- Russian Federation Certificate of Birth
- Saudi Arabia Passport
- Sint Maarten DL
- US Government ID Card
- Updated parsers:
- Boarding Pass
- Congo Democratic Republic Voter Card
- Colombia ID Card
- Costa Rica ID Card
- Dominican Republic DL
- Iraq Passport
- Mexico Voter Card
- Nigeria Voter Card
- Panama ID Card
- Peru Passport
- Philippines Voter Card
- vCard, Virtual Contact File format (VCF)
- Fixed an issue with reading multiple codes of the same type in series processing. Now different codes of the same type on the document might be read on different consecutive frames.
- Fixed an issue with barcode reading in series. Now reading will be retried until success or timeout for this stage, before it was until a specific number of attempts.
- Fixed an issue with wrong QR type detection for dense types after 32.
Text Data Parsing and Validation
- Added extended logic for SPECIMEN detection.
- Added
ft_Document_Status
field generation withSPECIMEN
value in case processed document is detected as specimen. This field always has failed validity if present. Other fields now do not change validity to failed in this case. - Added correct extraction of academic title from name field.
- Added parsing of dates in Hebrew.
- Added transliteration to Latin of field values in Vietnamese.
- Added
ft_Address_State
field generation for multiple countries which have federative states and provinces documents based on recognized document type. - Added a capability to shift date of expiry based not only on
ft_Date_of_Expiry
field but also onft_Date_First_Renewal
andft_Date_Second_Renewal
field values specified in document.ft_RemainderTerm
field value is updated accordingly in this case. - Added validation of Date of issue by checking DS certificate validity.
- Added document number validation rules for some of USA states documents.
- Added parsing and conversion of the Juche calendar dates into Gregorian, creating additional fields of the same type as original with LCID equal to 0.
- Added age validation rules for Hong Kong IDs/RPs.
- Updated parsing of DG11/DG12 field values into correct field types and LCID for documents from multiple countries.
- Fixed an issue with
ft_DS_Certificate_Issuer
andft_DS_Certificate_Subject
fields validity calculation. - Fixed parsing of full names in Iraq passports. Now grandfather and grandfather maternal field values are populated correctly.
- Fixed an issue when comparing name value from MRZ vs Visual where the value is printed in multiple lines.
- Fixed an issue with validation and MRZ vs Visual comparison for
ft_Date_of_Expiry
for documents without limitation of validity. - Fixed an issue with parsing of Romanian addresses.
- Fixed an issue with parsing Given names into First name and Father name for Russian names.
- Fixed an issue with Spanish surnames adding multiple times in Full name.
- Fixed an issue with parsing and transliteration of Spanish surnames. Now
ft_First_Surname
is transliterated into Latin as well. - Fixed an issue with removing gender prefixes from Given names.
- Fixed an issue with choosing value for the visual field from different pages if the field is present on many of them in different forms of value (short, long value).
- Fixed an issue with some depersonalization of the logs.
- Fixed an issue with transliteration of Ü, Ö, Ñ for different LCIDs.
Authenticity
- Added document liveness check of dynamic security features on mobile platform in series frame processing mode. During the capture process, a document should be presented by the user under different angles to the camera and necessary data will be gathered automatically based on the current recognized document template.
- Necessary data for document liveness validation is gathered on a mobile platform into a special container for further reprocessing on the backend.
- Added a capability to validate document liveness on the backend service via reprocessing gathered data on the mobile platform using extended template data for each specific document. This is necessary for getting document validation results on the server side in the “zero-trust to mobile” model/paradigm.
- Added new security feature check for validation of contact chip presence and its type as defined in the document template. Result returned as an element of image patterns check. If the chip pattern is different from expected or the chip is not present at all the check will fail.
- Added a capability to validate electronic signature of the data in non-ICAO barcode as a part of Barcode Format Check. Currently added for new 2023 Austria documents: ID card, passport; India AADHAR card. Required DS/CSCA certificates should be provided in the PKD folder or added programmatically to PKD. They may be obtained for example at the ICAO website.
- Added minimal resolution for specific dense barcodes in document templates for Barcode Format Check to be enabled for them. If input image resolution is lower than minimal, then this check will not be performed.
- Increased default timeout for capture in series mode for “FullAuth” scenario.
- Fixed an issue with analyzing the Dynaprint feature in axial light when the element has different colors.
- Fixed an issue with checking ghost photo, that is present only in IR, when IR image is not available.
- Fixed an issue with IPI check on areas with different proportions.
Image QA
- Added a functionality to assess brightness of the capture environment for the input image for mobile platforms. If the camera provided brightness value is below the defined threshold, this check will fail.
- Improvements in running the focus check on mobile platforms.
- Updated NN for document BW photocopy detection.
Enums
- Added new
eVisualFieldType
enum member:ft_Date_of_Retirement
ft_Document_Status
- Added new
eGraphicFieldType
enum member:gf_ContactChip
- Added new
eRPRM_Capabilities
enum members:RPRM_Capabilities_FingerprintComparison
RPRM_Capabilities_FingerprintSearch
- Added new
eRPRM_ResultType
enum member:RPRM_ResultType_FingerprintDatabaseCheck
- Added new
eCheckDiagnose
enum member:chd_ContactChipTypeMismatch
- Added new
eRPRM_SecurityFeatureType
enum member:SecurityFeatureType_ContactChipClassification
- Added new
eLexAnalysisDepth
enum member:eLAD_CheckExtendedStopListOFF
- Added new
eImageQualityCheckType
enum member:IQC_Brightness
- Added new
eRPRM_Commands
enum members:RPRM_Command_Fingerprints_Search
Other
- Added support for the arm64 architecture. More and more computing platforms running on the ARM platform appear in the field of personal and cloud computing, so now it has become a must to be supported. In this release, we provide only Docker image with support of this architecture, but others will follow in next versions for other packages.
- Improved performance and overall process memory consumption by tuning NN inference runner parameters on desktop and server environments. In some cases, the process consumes two times less virtual memory than before in the long run and shows a performance boost of 20% in comparison to prior configuration.
- Added
processParam.authParams
parameters set to specify which security checks should be enabled or disabled during the processing in simple and convenient form. This is an addition toprocessParam.processAuth
parameter, that receives one integer value for all security checks setting, that will remain for backward compatibility. Learn more in documentation. - Fixed an issue with incorrect detection of the portrait as part of the document in the
OneShotIdentification
mode in some cases. - Fixed an issue with processing PDF images, where there are multiple images per one page inside, that were treated as separate pages therefore led to incorrect document type recognition status.
- Fixed an issue with parsing images from some PDF files that led to exceptions.
- Fixed an issue with face comparison threshold value setting. Now it is treated as >=, instead of > before.
- Fixed an issue with serializing MRZ results in XML for field values in Chinese.
- Fixed multiple issues with excessive logging.
- Code quality improved with lots of small issues fixed.
- Documentation updated.
Core RFID SDK
- IMPORTANT! New firmware version 22.10 included. It is recommended to update your 21.x or 22.x firmware series Regula RFID devices to this new version. Fixed the issue with device removal from OS under some circumstances. Changed Interrupt priority for USB sleep/resume requests. Optimized USB connection time.
- 23.10 firmware included for devices with Device Firmware Update (DFU) mode enabled. It is compatible with devices with 23.x firmware version installed. It has the same contents as the 22.10.
- Added support of certificates and CRL files in PEM format, including multiple elements in one file.
- Added internal capabilities to search local PKD storage for DS certificates based on their extensions. This is useful for example for finding the corresponding DS certificate for validation of the signature of the data in the barcode in new Austrian documents, which is not included in the data itself.
- Removed direct communication with the storage by the Core library for saving client session CA keys and AA challenges on the server side. Now, all these parameters are expected to be provided in the request from the web service (which is utilizing the Core library), that stores and retrieves them from the accompanying database for specific transactions.
- Now all communication between client and server for obtaining session CA keys and AA challenge is performed in encrypted form using transaction asymmetrical keys exchanged between client and server prior to communication.
- Improved session data reparsing and PA procedure performance on server side.
- Fixed an issue with stopping the reading process if DG14 or DG15 are not read correctly.
- Fixed an issue with an endless reading loop when reading large data groups with length over 32K.
- Fixed an issue with processing incorrect data provided instead of certificate for signature validation.
- Fixed issues with overall RFID status calculation.
- Now if PA was not performed overall RFID status will be Not performed (
ch_Check_WasNotDone
) as well. Chip expected status from the template is now handled properly as well. - Fixed an issue with TA status. If it was failed during the reading on the client due to the lack of the necessary certificates it will not be considered when reprocessing session data and calculating overall RFID status on the server side, if presence of TA protected data groups is not required (DG3).
- Fixed an issue with calculating status for data groups that could not be accessed for unknown reasons (except for TA protected). Now they will fail the validation.
- Fixed an issue with checking the document template for chip presence expectancy.
- Now if PA was not performed overall RFID status will be Not performed (
- Removed
ntfLDS_ICAO_Application_UnicodeVersion_Unsupported
andntfLDS_ICAO_Application_UnicodeVersion_Inconsistent
notifications from list of PA sensitive notifications. - Code quality improved.
- Documentation updated.
Desktop API
- Added a capability to run search by captured fingerprints and receive back
RPRM_ResultType_FingerprintDatabaseCheck
results. It is available by calling theRPRM_Command_Fingerprints_Search
command. Appropriate adapter plugin library for performing actual search should exist and its path should be provided in JSON parameters. More details on request.
Hardware Support
- Removed legacy support of EOS based Regula 8XXX devices. Now they work only via Regula HRS software.
- Fixed an issue with loading
RegulaReader.json
file from user profile before connecting the device. This was crucial forThreadMode
configuration parameter setting.
Mobile API
- Added a possibility to work in the landscape orientation in the
FullAuth
scenario (not available if Regula Authenticator 1110/1120 is used). - The
checkHologram
property is deprecated. Use thecheckLiveness
property instead. - Updated animations for RFID reading, multipage scanning, help, document liveness. New animations are designed to improve UX.
- Fixed an issue with incorrect displaying of multipage animation in the child mode.
- Renamed the
moireCheck
property toscreenCapture
. - The
fastDocDetect
property is deprecated. - Android
- Interface
IRfidReaderRequest
moved to classIRfidReaderRequest
. Now, the constructor of theIRfidReaderRequest
class accepts new interfaces:IRfidPACertificates
,IRfidTACertificates
,IRfidTASignature
. You can set up one or more implementations of interfaces. - Added the
boundRects
field toImageQuality
results. - Fixed an issue of initialization after calling
removeDatabase
. - Fixed an issue with downloading a database. In some cases, when the database download finished, the initialization failed with the error that the database was absent.
- Fixed an issue with localization of text fields. Now it can be localized via callback.
- Interface
- iOS
- Added a possibility to add timestamp to the recorded video of the document capture. It can be customized.
- Fixed an issue of updating status of
isDocumentReaderIsReady
after callingdeinitializeReader
. - Fixed an issue with recording video of document capture when sometimes the video couldn't be recorded.
- Hybrid
- .NET MAUI support for BT Device
Document Reader Application
- Added support for capturing 4 x 4 x 2 fingerprints using appropriate fingerprint scanners.
- Added a possibility to customize the name of the files with the results (Text results file and PDF report file) that are saved by application for every scan if enabled. Now file name template can include placeholder tags, that will be populated with recognized values from the scan:
- {doc_class_code}
- {doc_number}
- {doc_name}
- {date_expiry}
- {state_code}
- {surname}
- {name}
- {date}
- {time} This can be changed in the Options -> Results -> File names section.
- Fixed an issue with reading the chip while it is busy by OS on detection. Now reading will be repeated.
- Fixed an issue with incorrect RFID reader selection on connect in some cases with multiple readers connected at a time or no Regula reader connected and only 3rd party reader present.
- Changed default for window close button behavior. Now, the application is closing when pressed. This can be changed via the “Allow window closing” option.
COM API
- Added method
FPGetQuality
to retrieve quality score for selected finger index from scanned results. - Fixed an issue with calculation of
RFIDChipExpected
andRFIDIsExpectedChipFound
values.
Web Component
- Added Document Reader Device Component that allows working with hardware document reader devices via browser (no matter Regula devices or 3rd party). Installed local web-service for hardware device operation is required. This can be useful, when the component is integrated into your website, that you can open on the tablet and wirelessly obtain data captured on the desktop document reader inside the browser.
- Added new customization possibilities:
- Change default color of the camera frame -
cameraFrameDefaultColor
property - Change active color of the camera frame -
cameraFrameActiveColor
property - Change text color of the status messages -
statusTextColor
property - Change background color the status messages -
statusBackgroundColor
property - Set a delay when to show the Capture button -
captureButtonDelay
property
- Change default color of the camera frame -
- Added a possibility to set your own server from where WASM files will be downloaded, rather than using default from Regula servers.
- Added a possibility to set a resolution in UI components.
- Added a possibility to record video of document processing.
- Added a possibility to track device movements -
videoCaptureMotionControl
property. The SDK receives data from a motion sensor and pauses scanning when a device is moving. - Fixed an issue when third-party cookies are blocked.
Web Service API
- Implemented a complete plug and play safe and reliable system for identity capture and verification. Now mobile or web clients can capture, and transfer session data in safely end-to-end encrypted form to the server with unique keys for every transaction, and then reprocess this data on the server side in a trusted environment for getting reliable identity verification result. This now includes captured document images, video of the capture session, RFID capture session data, document liveness capture session data (depends on client platform).
- Added new
/api/v2
(Session API) set of endpoints to support full cycle of secure data capture, transfer, storage, reprocessing, and removing data functionality. - Backend storage and reprocessing functionality requires database and storage solutions to be available for use. Now wide variety of database systems and storage solutions supported out of the box:
- Database
- PostgreSQL
- MySQL/MariaDB
- MS SQL Server
- Oracle
- SQLite (not recommended for production use)
- Storage
- AWS S3 (or any S3-compatible storage, like MinIO)
- Google Cloud Storage
- Azure Blob Storage
- Local File System
- Database
- The configuration via the YAML file has been introduced, and from now on it is the recommended way of the service configuration. The configuration via environment variables is considered deprecated for the most cases with rare exceptions. The YAML file holds the map of key-value pairs, organized into a tree-like hierarchical structure. This type of configuration gives an ability to keep all the product-specific parameters in one place and change any of them (or all at once) without cluttering the global variables workspace. Please read the Migration Guide and documentation on this matter.
- Demo site:
- Added the possibility to process a folder with files of a document (multiple images of different light, RFID_Session.dat) via Drag & Drop / Upload button.
- Settings are now saved in cookies for convenience.
- Implemented changes to reflect the new SDK functionality setup and results display.
- Clients:
- Added a possibility to get raw response.
- Added support of JDK 17.
- Added Prometheus metrics for advanced monitoring, see the Metrics Monitoring.
- Added a possibility to get a list of supported scenarios in
supported-scenarios
tag of the/api/ping
endpoint JSON response. - Added a possibility to save processing logs on storage into a dedicated bucket.
- Updated self-signed certificate.
- Updated package dependencies to the latest version to fix security breaches.
- Deprecated
doublePageSpread
property as new document detection approach was implemented. - Open API specification is updated on GitHub.
- Clients and packages are updated.
Licensing
- Added support of new scenario
SessionCommit
. More details available on request. - Regula Licensing
- Added mechanism of backup of previous devices.dat file on manual update with new file.
- Added correct naming of provided devices.dat file during the manual update on storing.
- Added console mode with capability to specify filename where to save all licensing data and exit.
- Improved notification about license issues by forwarding a licensing service reject message into the response of scenario processing results.
Installation Packages
- Windows Desktop API
- Regula Reader Drivers package 1.8.25 with the Regula camera driver version 10.5.10.20 included.
- Firmware update tool, firmware, and documentation for old versions of RFID readers moved to the
FirmwareUpdate/Legacy
folder. - Added an option to Keep application settings on new version update. In this case, the Document Reader Application settings in the user profiles will remain unchanged after the installation of updated package. The “Disable certificate propagation from smart cards” option is now deselected by default.
- Custom setup components list updated to provide more granular options for installation. Now Regula Document Database, Samples, Drivers, Licensing, Documentation components are available.
- Added x64 bit version of Regula Licensing tool.
- Linux
- Default temp directory was changed from
/tmp
to/var/tmp
as some OS don't have exec permission on/tmp
folder.
- Default temp directory was changed from
- Docker
- Added templates illustrating how to deploy the solution in the AWS Cloud. Explore the options in the Deployment in Clouds section of documentation.
- Added linux/arm64 version of the image to the docker hub.
- Updated license and database paths to mount. Now
/app/extBin/unix/regula.license
and/app/extBin/unix/db.dat
should be specified accordingly as targets. - Updated the base image to the latest.
PKD
- ICAO PKD master list version 252 included.
- ICAO Health master list version 8 included.
Database
- Updated multiple document templates to include OVI, MLI, contact chip, Holograms, Extended MRZ, Extended OCR, Photo embedding type, Patterns checks where appropriate.
- Some of the templates were removed due to various reasons.
- Includes 247 countries and territories, 13606 documents.
- Added 489 new documents.
For details, see the Supported documents list.