deprecated

Case Keeper v1.2 Release Notes - 29 June 2023

In this release, we have included the following features and improvements:

KYC module

Front ID card verification process improvements

Added support for "LIFELONG" cards

We now support the LIFELONG (ตลอดชีพ) Thai ID card.

The frontIdCardResult data with a LIFELONG ID card would look like this:

"frontIdCardResult": {
  "response": {
    "result": {
      "date_of_expiry_en": "LIFELONG",
      "date_of_expiry_th": "ตลอดชีพ",
      ...
    },
    ...
  },
  "edits": {
    "expiryDate": "LIFELONG",
    ...
  }
}

Minimum Age validation

A new validation has been added to the front ID card verification process, which ensures that the age of the individual undergoing identity verification is not less than the specified value.

To enable the minimum age validation, add a new key to the frontIdCardConfig. For example:

"frontIdCardConfig": {
  "required": true,
  "minimumAge": 18,
  ...
}

The result that failed due to the minimum age will contain the errors field with restrictedAge key, for example:

"frontIdCardResult": {
  "verified": false,
  "errors": [{ "key": "restrictedAge" }],
  ...
}

Passport process improvements

"errors" field

We have added a new key called errors in passportResult. It contains all the error objects to describe the reason why the passport does not pass verification. For example:

"passportResult": {
  "response": { ... },
  "verified": false,
  "errors": [
    { "key": "restrictedAge" },
    { "key": "expiryDate" },
    { "key": "compareData" }
  ],
  ...
}

New passport validations

We have implemented three additional optional configurations to validate passports. To enable these validations, add new keys to the passportConfig following below list:

Minimum Age validation

This validation ensures that the age of the individual undergoing identity verification is not less than the specified value.

Example config:

"passportConfig": {
  "required": true,
  "minimumAge": 18,
  ...
}

Example failed result:

"passportResult": {
  "verified": false,
  "errors": [{ "key": "restrictedAge" }],
  ...
}
About to expired passport validation

This validation verifies whether the passport is nearing its expiration date, based on the predefined restrictions.

The configuration value must be in ISO 8601's Temporal duration format

Example config:

"passportConfig": {
  "required": true,
  "expiryThreshold": "P6M"
  ...
}

Example failed result:

"passportResult": {
  "verified": false,
  "errors": [{ "key": "aboutToExpire" }],
  ...
}
Restricted country and nationality checks

This validation restricts the countries or nationalities eligible for identity verification.

Example config:

"passportConfig": {
  "required": true,
  "countryCodeBlacklist": ["FRA", "BEL"]
  ...
}

Example failed result:

"passportResult": {
  "verified": false,
  "errors": [
    { "key": "restrictedCountry" },
    { "key": "restrictedNationality" }
  ],
  ...
}

ID Face Recognition process improvements

SenseTime liveness now validates face-obscuring objects and multiple faces.

We added a new validation in the ID Face Recognition process to check possible objects obstructing the face comparison process like wearing a mask, a hat, or, sunglasses, or more than one person detected in the image.

Currently this validation only applies to verifications with "livenessProvider": "sensetime"

As per the results, the following new keys are added to theidFaceRecognitionResult :

  • The first new key, faceAttributesResponse holds the raw data from our machine-learning service. The data will then be parsed to the second key.

  • The second key, detectedFaceAttributes, is an array of the attributes present in the image. When there are entries in this field, the status will not be verified.

Example data with the failed result:

"idFaceRecognitionResult": {
  "verified": false,
  "faceAttributesResponse": {
    "numOfFaces": 2,
    "faces": [
      {
        "faceId": "0",
        "attribute": [
          {
            "key": "4",
            "value": "1",
            "confidence": 0.99,
            "type": "Mask",
            "description": "Waring mask"
          },
          { ... }
        ]
      },
      {
        "faceId": "1",
        "attribute": [
          {
            "key": "4",
            "value": "0",
            "confidence": 0.99,
            "type": "Mask",
            "description": "Waring mask"
          },
          { ... }
        ]
      }
    ]
  },
  "detectedFaceAttributes": [
    "mask",
    "moreThanOnePerson"
  ],
  ...
}

Dashboard module

Personalized translations

We added new configuration options to customize any translations and wording in the dashboard and KYC user application. This allows you to redefine terminology and display certain parts of the application in a way that your users are familiar with.

To request personalized translations, please contact our business analyst team.