Skip to main content
Version: v2.0 (latest)

Signals

iProov has introduced additional Signals in our validate call to provide more insights for our customers to provide a better understanding of what happened with an iProov transaction.

Below is a list of all signals we provide via validate call.

  • Transaction failed reason
  • Single face found
  • Return frame quality
  • Face consistency

Please reach out to the iProov team to enable these features

Transaction Failed reason

What does it do: Failed reason is a breakdown of:

  • face matching (Not applicable to capture enrol transactions) - If the face captured matches with the enrollment image, this value is true otherwise false.
  • anti-spoofing - When the anti-spoofing checks pass this value is true otherwise false. Our anti-spoofing checks that a real person is present, determined by either: GPA (Genuine Presence Assurance) using our patented flash technology that illuminates a user’s face with a random sequence of colours. Our LA (Liveness Assurance), the user positions their face within the oval to authenticate.
Enrol
EndpointPOST https://<base_url>/api/v2/claim/enrol/validate
DescriptionEnrol validate endpoint. See the documentation.
Signal JSON example{"signals": {"anti_spoofing": {"passed": true}}}

This indicates that the anti-spoofing tests passed successfully.

Verify
EndpointPOST https://<base_url>/api/v2/claim/verify/validate
DescriptionVerify validate endpoint. See the documentation.
Signal JSON example{"signals": {"anti_spoofing": {"passed": false}, "matching": {"passed": false}}}

This indicates that the anti-spoofing and matching tests failed.

Single face found

What does it do: It will check if there is only a single face in the validate frame. The response is true if only a single face is detected in the validate frame and false if multiple faces.

Multiple faces do not fail transactions. Please reach out to the iProov team to enable failure for multiple faces.

This signal can be returned for both Enrol and Verify workflows.

Enrol & Verify
Enrol EndpointPOST https://<base_url>/api/v2/claim/enrol/validate
Enrol DocsSee the documentation.
Verify EndpointPOST https://<base_url>/api/v2/claim/verify/validate
Verify DocsSee the documentation.
Signal JSON example{"signals": {"multiple_faces": {"single_face": {"found": true}}}}

This indicates there was a single face in the validate frame.

Image Quality

What does it do: We provide signals on the quality of the validate image. We divide the image quality into three categories:

SignalDescriptionPossible values
blurWhether the validate image is clear or blurrynot_available / Good / Acceptable / Poor
poseWhether the face is out of position or rotated on the yaw/roll/pitch axisnot_available / Good / Acceptable / Poor
lightingWhether the validate image is taken under good or bad lighting conditionsnot_available / Good / Acceptable / Poor

not_available : When image quality data cannot be produced, for example, if the transaction fails prematurely, e.g. network error.

Enrol & Verify
Enrol EndpointPOST https://<base_url>/api/v2/claim/enrol/validate
Enrol DocsSee the documentation.
Verify EndpointPOST https://<base_url>/api/v2/claim/verify/validate
Verify DocsSee the documentation.
Signal JSON example{"signals": {"return_frame_quality": {"blur": "Good", "pose": "Acceptable", "lighting": "Good"}}}

Face consistency (Express only)

What does it do: Face Consistency provides additional checks on whether it is still the same face from the start and the end of the iProov transaction. This feature is Express only.

How does it work It will check the first frame and the last frame of the iProov transaction and validate if they are the same face. The signal will respond with true if the face is the same from the first and last frame of the transaction and false if faces are different between the first and the last frames.

Enrol
EndpointPOST https://<base_url>/api/v2/claim/enrol/validate
DescriptionSee the documentation.
Signal JSON example{"signals": {"multiple_faces": {"single_face": {"found": true}, "face_consistent": {"passed": true}}}}

This indicates that the face is consistent in the first and last frame.

Verify
EndpointPOST https://<base_url>/api/v2/claim/verify/validate
DescriptionSee the documentation.
Signal JSON example{"signals": {"multiple_faces": {"single_face": {"found": true}}}}

This indicates there was a single face in the validate frame.

A Complete Example

A complete example, from a sample Liveness (LA) transaction, including all the Signals.

&#123;
"passed": false,
"token": "example_token",
"type": "verify",
"frame_available": true,
"frame": "string",
"assurance_type": "liveness",
"signals": &#123;
"anti_spoofing": &#123;
"passed": true
&#125;,
"matching": &#123;
"passed": false
&#125;,
"multiple_faces": &#123;
"single_face": &#123;
"found": true
&#125;,
"face_consistent": &#123;
"passed": true
&#125;
&#125;
&#125;,
"return_frame_quality": &#123;
"blur": "Good",
"pose": "Good",
"lighting": "Good"
&#125;
&#125;

Note: If a transaction fails immediately after launching sdk, anti-spoofing and matching is returned as null because of not enough information.