Skip to content

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 with SPECIMEN 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 on ft_Date_First_Renewal and ft_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 and ft_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 to processParam.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.
  • Removed ntfLDS_ICAO_Application_UnicodeVersion_Unsupported and ntfLDS_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 the RPRM_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 for ThreadMode 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 the checkLiveness 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 to screenCapture.
  • The fastDocDetect property is deprecated.
  • Android
    • Interface IRfidReaderRequest moved to class IRfidReaderRequest. Now, the constructor of the IRfidReaderRequest class accepts new interfaces: IRfidPACertificates, IRfidTACertificates, IRfidTASignature. You can set up one or more implementations of interfaces.
    • Added the boundRects field to ImageQuality 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.
  • 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 calling deinitializeReader.
    • 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 and RFIDIsExpectedChipFound 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
  • 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
  • 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.
  • 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.
  • 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.