Skip to content

Document Reader SDK 6.8 — May 23, 2023


  • A new document liveness check has been introduced when working with images on mobile/services.
  • A secondary/"ghost" portrait comparison capability has been added to the existing portrait comparison check.
  • A new OCR-B font check has been implemented in the Extended MRZ and Extended OCR security checks.
  • The LASINK portrait printing technology check has been added to the Photo embedding type check.
  • Support for the .NET MAUI cross platform framework has been implemented for mobile OS usage.
  • All custom validation of personal numbers and other authenticity checks on the text fields are now available in the “FullAuth” scenario only for mobile/service use. Any improvements, extensions, or advancements in this matter will require an appropriate license to access this functionality.

Core SDK

Document detection and crop

  • Added support for more custom document format sizes.
  • Fixed the issue with rotation angle value in results.
  • Fixed the issue with rotation by MRZ for USA passports.


  • Updated Western European languages NNs with better recognition quality.
  • Fixed the issue with field validity when processParam.updateOCRValidityByGlare is set and glare is present only in the field area, not on the text.
  • Fixed the issue with validity when processParam.matchTextFieldMask is enabled and disabled multiple times for different requests.
  • Fixed the issue with no OCR results when processParam.disablePerforationOCR is enabled.


  • New parsers:
    • Brunei Darussalam ID Card,
    • Cape Verde Passport,
    • Chile Emergency Passport,
    • Guatemala ID Card,
    • Haiti ID Card,
    • Lithuania Passport Diplomatic,
    • Mauritania ID Card,
    • Namibia ID Card,
    • Nigeria Passport,
    • Northern Cyprus ID Card,
    • Panama Passport Diplomatic, Official,
    • Slovenia Passport Travel Document.
  • Updated parsers:
    • Ecuador ID Card,
    • Mozambique ID Card.
  • Added personal number validation for specific countries in the MRZ source as well.
  • Fixed the issue with no validity set for a generated field which originated from optional data that had validity set.
  • Fixed the issue with MRZ symbol coordinates in results that affected many other derivative results, such as IR B900 check, Extended MRZ check, and others.
  • Fixed the issue with symbols recognition probability that was set in results to 100 for corrected values based on mask (O-0, B-8, 5-S, etc.). Now, it remains original.


  • Added new parsers:
    • Cote d’Ivoire ID Card,
    • Dominican Republic Learner Permit,
    • India Tax Card,
    • Mexico Consular ID Card,
    • Mexico DL 6 different types,
    • Pakistan DL,
    • Panama Residence Permit,
    • Uganda DL,
  • Updated parsers:
    • AAMVA DL/ID Card,
    • Abkhazia Passport,
    • Azerbaijan Passport,
    • Canada Quebec Health Insurance Card,
    • Chad Passport,
    • Cote d’Ivoire DL,
    • France ID Card,
    • Georgia DL,
    • Georgia Registration Certificate,
    • Haiti ID Card,
    • Panama ID Card,
    • VDS EU Visa,
    • Viet Nam ID Card.
  • Fixed the issue with detection of QR codes with large and small element size.

Text data parsing and validation

  • The functionality of custom validation of document numbers, personal numbers, and other authenticity-like checks is now available in the “FullAuth” scenario only for mobile/service use. Any improvements, extensions, and advancements in this matter will require an appropriate license to access this functionality.
  • Added personal number format check, parsing, and check digit validation where applicable for multiple countries.
  • Added the capability to compare a separate year value from one field to the full date from different fields of the document.
  • Added the capability to verify full name initials vs a separate initials field.
  • Fixed the issue with the conversion of birth year from YY to YYYY format for persons born in the early 20th century.
  • Fixed the issue with treating the date of expiry year in MRZ as 2001 instead of 2101.
  • Fixed the issue where processParam.minimalHolderAge was interfering with the value of the Years since issue field.
  • Fixed issues with translating Ü, Ö, Ä in different languages in different countries documents.
  • Fixed the issue with DOE vs DOB difference validation when they are in different years.
  • Fixed the issue with input date format: if supplied invalid, then default is used (locale settings for Windows, “yyyy-MM-dd” for other platforms).
  • Fixed the issue with generating both ft_Issuing_State_Code & ft_Issuing_State_Name fields for recognized documents, where these fields were not explicitly present.
  • Fixed the issue where not all name fields were transliterated from Arabic.
  • Fixed the issue with setting the expiration date of a DL document based on the expiration of one of the driver's categories.


  • Added document liveness check when working with images on mobile/service. Screenshot check is now performed with different techniques. It has been moved from the ImageQuality check to the Authenticity checks and will fail the security check status if it fails. It is available in the “FullAuth” scenario only and should be explicitly enabled by providing the RPRM_Authenticity_Liveness value in the processParam.processAuth request parameter.
  • Added the LASINK portrait printing technology check. Results will be available in the Photo embedding type check for specific document templates where this technology is applied (e.g., Latvia ID card (2021)).
  • Added a secondary / “ghost” portrait comparison capability to the already existing portrait comparison check. There are at least 3 different cases supported with primary and secondary portraits being:
    • Visible on the same page,
    • On different pages (front and reverse of the ID, for example),
    • On the same page but visible in different light sources (secondary in UV only).

There are limitations on this check based on the size and quality of the secondary portrait. It should be large enough and have good contrast to be eligible for comparison. This check currently only works for recognized documents, and the template needs to specify whether a specific secondary photo should be compared. Currently, only a limited number of templates have this feature enabled, with more to come in upcoming document database updates.

Note that this check requires an appropriate license to be available to access the results.

  • Added the possibility to disable face matching for children. By default, children under 13 with expected document validity of 5 years will not be face matched automatically during processing. There is a way to customize these by providing “processParam.faceapi.childAgeThreshold” and “processParam.faceapi.childDocValidityYears” parameter values in the request, or by specifying REGULA_FACEAPI_CHILDAGETHRESHOLD and REGULA_FACEAPI_CHILDDOCVALIDITYYEARS environment variables.
  • Added the possibility to check face presence/absence in different lights.
  • Added the possibility to specify OCR of text fields to be performed only in specific light for further authenticity validation.
  • Added an OCR-B font type check to the Extended MRZ and Extended OCR checks. This is checked only when the document type is recognized, and the selected template contains specific information about the field font for text fields.
  • Added the possibility to validate floating holograms in dynamic positions on the document.
  • Fixed the issue with no face detection for babies.
  • Fixed the issue with no face detection in secondary / ghost portrait if it is too small relative to the document image.
  • Fixed the issue with the whole page luminescence check threshold.
  • Fixed the issue with security status for unknown document when portrait comparison is enabled. Now it will be set to ch_Check_WasNotDone if all default checks passed but will have the ch_Check_Error value if any of the checks failed.
  • o Fixed the issue with incorrect security status when the connection to the Face API service is unavailable during the portrait comparison check. Now, if there is no connection, the check will fail if it should be performed.
  • Fixed the issue with hologram presence check algorithm for some cases.
  • Fixed the issue with IRB900 check when captured with 7310 + 1110 device.
  • Fixed the issue with too strict thresholds for the Extended MRZ check.

Image QA

  • Fixed the issue with portrait presence check in different document formats.
  • Fixed the issue with unloading of all NN on Free command.


  • The updated unified face detection NN is now used on all platforms.
  • Added a new scenario “BarcodeAndLocate” for cropping document from the image and recognizing the barcode data only. Available on all platforms.
  • Added the possibility to enable CAN reading for ID1 format documents in scenarios without document type recognition by setting the processParam.doDetectCan parameter to true.
  • Added new eVisualFieldType enum members:
    • ft_DLClassCode_EB_From,
    • ft_DLClassCode_EB_Notes,
    • ft_DLClassCode_EB_To,
    • ft_DLClassCode_EC_From,
    • ft_DLClassCode_EC_Notes,
    • ft_DLClassCode_EC_To,
    • ft_DLClassCode_EC1_From,
    • ft_DLClassCode_EC1_Notes,
    • ft_DLClassCode_EC1_To,
    • ft_Place_of_Birth_City,
    • ft_Year_of_Birth,
    • ft_Year_of_Expiry,
    • ft_GrandfatherName_Maternal.
  • Added new eCheckDiagnose enum members:
    • chd_MrzQuality_WrongFontType,
    • chd_LasInk_InvalidLinesFrequency,
    • chd_DocLiveness_ElectronicDeviceDetected.
  • Added a new eRPRM_SecurityFeatureType enum member:
    • SecurityFeatureType_LasInk.
  • Added the capability to enable face matching call via Face SDK service during processing of every request applicable by setting environment variable REGULA_USEFACEAPI to true (or 1). All Face SDK service connection and processing parameters can be set via corresponding environment variables as well. See the documentation for more details.
  • Fixed the issue with returning portrait in “MrzAndLocate” scenario for some documents.
  • Fixed the issue with reading of MRZ twice in some cases.
  • Fixed the issue with status calculation for deprecated documents.
  • Fixed the issue with requesting the scanning of the second page for visa stickers.
  • Fixed the issue with possible memory leak when serializing/deserializing RFID containers.
  • deviceID and deviceType information now is included in the TransactionInfo section of the results.
  • All included open-source dependencies are updated to the latest available versions.
  • Code quality improved with lots of small issues fixed.
  • Documentation updated.


  • Renamed the processParam.rfid.paSensitiveCodesDisable parameter to processParam.rfid.paIgnoreNotificationCodes.
  • Removed ntfLDS_ICAO_SignedData_Version_Incorrect from the list of PA sensitive notifications due to controversy in RFC 5652 vs ICAO 9303 (v3 vs v5).
  • Fixed the issue with PA not passed when reprocessing previously saved session with server enabled CA process.
  • Fixed the issue with cached data not reset when reprocessing previously saved session.
  • Fixed the issue with reprocessing previously saved session taken on the different platform (32 vs 64 bit).
  • Fixed the issue with support of the PKD MasterList that has a tag “pkdMasterListContent”.
  • Fixed the issue with MF selection according to ISO 7816 and ICAO 9303 that lead to incorrect communication with recent Slovak eID.
  • Fixed the issue with image processing library not available after free/init of the RFID functionality.
  • Code quality improved.
  • Documentation updated.

Desktop API

  • Fixed the issue with the security status when the barcode format check is enabled but barcode reading is not. Now barcode reading will be automatically enabled in case the barcode format check is enabled.

Desktop web service

  • Linux
    • Fixed the issue with a crash on the connected device sudden removal from USB.

Hardware support

  • Improved capture of UV images with 11x0 torch devices.
  • Improved process working with Linux udev rules for all devices.
  • Fixed the issue with image capture thread that can lead to incorrect behavior on unload.
  • Fixed the issue with loading firmware on some Linux OS for Regula devices after device was unplugged and then plugged back again.
  • Fixed the issue with calibration of 72x3 devices.

Mobile API

  • Added a back layer for UI customization. Now there is a possibility to add images under the camera frame.
  • Added originalPageIndex to graphic results. It's the index that isn't changed in the response, i.e., it corresponds to that index value you indicate in the request in contrast to pageIndex where the values are changed depending on how images are sorted after the document processing is completed.
  • Added the cameraPreviewBackgroundColor property for the Customization class to customize top and bottom frames on the camera preview.
  • Added the possibility to create buttons over camera UI using the customUILayer property that is presented in the Customization class.
  • Added the isDeprecated field to the Document Type results that tells if a document is deprecated or not.
  • Added the paIgnoreNotificationCodes property. This is a list of notification codes that would be ignored during passive authentication (PA) result calculation.
  • Fixed the issue with showStatusMessage its state remained even if it was changed in runtime.
  • iOS
    • Added the Internet connection availability check while prepareDatabase / runAutoUpdate is executed. In case it's lost, it can be handled in callback.
    • Added the possibility to adjust the resolution of videos that are recorded during the document processing.
    • Fixed the issue with UltraWide camera selection on iPhone 12+ Pro/ Pro Max.
  • Android
    • Improved and optimized camera2 stream handling. Now processing frames takes less time.
    • Applied the setOrientation property for RFID Activity. Now it applies to both Camera and RFID Activities.
    • Added the possibility to adjust the size of the loading indicator.
    • Fixed the issue with recording 4K video during processing.
  • Hybrid
    • Xamarin: added .NET MAUI support.
  • Documentation and sample projects are updated on GitHub with lots of cases explained in details.

Document Reader Application

  • Added saving of additional results in XML/JSON when saving results is enabled:
    • RPRM_ResultType_Status,
    • RPRM_ResultType_Text,
    • RPRM_ResultType_Images,
    • RPRM_ResultType_InputImageQuality.
  • Fixed the issue with correct Smart Card device selection for RFID reading for all third-party devices.
  • Fixed the issue with display of the IPI ROI on the image when selected in the results.
  • Updated the logo in the About dialog.

Web component

  • Added the possibility to process Barcodes; the following scenarios are added: “Barcode”, “MrzOrBarcode”, “BarcodeAndLocate”.
  • Added the possibility of single frame processing by pressing the capture button.
  • Added method that allows switching among all available cameras.
  • Added support of Angular 11.
  • Added a response code Timeout - it will be returned if processing finishes by timeout.
  • Added the returnPackageForReprocess property to processParams. When set to true, the rawResult will contain the encrypted containers of scanning results that may be used for later reprocessing on the Web Service.
  • Added the possibility to turn on/off logging using the processParam.log property.
  • Added the possibility to show/hide the Close button.
  • Added the possibility of using customization settings through both attributes and Getters/Setters.
  • Added an animation when scanning a new page in the multipage processing.
  • Added the correct core version on a build.
  • Added the possibility to set the “tag” attribute of the request to specify the session ID. This allows multiple unsuccessful attempts within the same session to be counted as one on the licensing service.
  • Moved the functional buttons to the video layout.

Web Service API

  • Demo site:
    • Added an option to use processing via the web component only. In this case all processing is performed inside the browser and no data being sent to the service for processing. You can select the processing side in the UI. The number of available parameters in settings is updated accordingly.
    • Added the possibility to adjust image quality settings.
    • Added display of verification statuses on the main results tab.
    • Added display of all types of authenticity check results.
    • Updated the privacy policy URL.
  • Added the possibility to customize a request configuration by adding custom headers.
  • Open API specification is updated on GitHub.
  • Clients and packages are updated.


  • Added the capability to provide a license file in the REGULA_LICENSE environment variable as a base64-encoded string. This is convenient for using the web component in developer mode without binding it to a domain URL or starting containers in Kubernetes.
  • Fixed the issue with reprocessing captured session images & chip data on online/offline instance licenses.
  • Fixed the issue with choosing the Basic license from one device, even if an OCR+AAC license is available on another device, when running 70x3 and 70x4/70x9 devices simultaneously.
  • Fixed the issue with choosing a license for devices with multiple cameras.
  • Fixed the issue with logo display on mobile platforms when using 11x0 devices as a license.

Installation packages

  • Windows Desktop API
    • Regula Drivers Package 1.8.23 included.
    • Regula Quick Support x64 version correctly included for x64 build.
  • Docker
    • Updated base image to the latest.


  • ICAO PKD master list version 227 included.
  • ICAO Health master list version 6 included.


  • Updated multiple document templates to include Extended MRZ, Extended OCR, Photo embedding type, Patterns checks where appropriate.
  • Includes 247 countries and territories, 12613 documents.
  • Added 413 new documents.

For details, see the Supported documents list.