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.