Skip to content

Authenticity Checks

The Document Reader SDK provides numerous checks that use advanced security techniques to verify document authenticity and detect counterfeiting. See the overview table for details.

Authenticity check Processing parameter Default value
Image patterns checkImagePatterns true
Liveness checkLiveness true
Properties checkProperties false
Barcode format checkBarcodeFormat true
Portrait comparison checkPhotoComparison true
Photo embedding type checkPhotoEmbedding true
Security Text checkSecurityText true
IPI text checkIPI true
UV luminescence checkUVLuminiscence true
Protection fibers checkFibers true
IR visibility checkIRVisibility true
B900 IR checkIRB900 true
Extended MRZ checkExtMRZ true
Extended OCR checkExtOCR true
Axial checkAxial true
LetterScreen checkLetterScreen false

Liveness Checks

Liveness validation ensures that the identity document is physically presented. See the table for all available liveness checks.

Liveness check Processing parameter Default value
Electronic device checkED true
Black and White Copy checkBlackAndWhiteCopy true
Hologram detection checkHolo true
OVI checkOVI true
MLI checkMLI true
Dynaprint checkDynaprint true
Geometry checkGeometry true
Barcode background checkBarcodeBackground true

Properties Checks

This validation detects document properties and verifies their integrity. See the table for all available properties checks.

Properties check Processing parameter Default value
Holder's signature checkHoldersSignature true

Enable or Disable Checks

Most authenticity checks are enabled by default. To enable or disable a specific check, set its parameter value to true or false. For details, see the authenticity checks overview table and the example below.

{
    "processParam": {
        "authParams": {
            "checkLiveness": false,
            "livenessParams": {
                "checkHolo": false,
                "checkED": false,
                "checkOVI": false,
                "checkMLI": false,
                "checkBlackAndWhiteCopy": false,
                "checkDynaprint": false,
                "checkGeometry": false,
                "checkBarcodeBackground": false
            },
            "checkProperties": true,
            "propertiesParams": {
                "checkHoldersSignature": true
            },
            "checkImagePatterns": false,
            "checkPhotoEmbedding": false,
            "checkBarcodeFormat": false,
            "checkPhotoComparison": false,
            "checkSecurityText": false,
            "checkUVLuminiscence": false,
            "checkFibers": false,
            "checkExtMRZ": false,
            "checkExtOCR": false,
            "checkIRB900": false,
            "checkIRVisibility": false,
            "checkIPI": false,
            "checkAxial": false,
            "checkLetterScreen": true
        }
    }
}

By default, if a specific check is enabled but not performed due to some limitation, it's marked as WasNotDone. This applies only to the Photo Embedding Type and Liveness checks—if they are marked as WasNotDone, the overall security checks status also shows up as not performed.

To override this behavior, use the strictSecurityChecks parameter. When enabled, this parameter marks security checks that don’t meet minimum requirements as Failed instead of WasNotDone. As a result, the overall security status is marked as failed.

{
    "processParam": {
        "strictSecurityChecks": true
    }
}

Next Steps