# FaceTec
Page contents
FaceTec (opens new window) is a third party eIDV provider integrated with the Assure API. Combining FaceTec with Assure's identity verification capabilities, increases the confidence in the onboarding process and prevents fraud attempts.
# Supported features
Signicat supports the following identity verification features from FaceTec:
- Face match between ID document and selfie
- Liveness check of live video recording
# User flow example
More information will follow soon.
# SDKs
The aim of this topic is to help a developer integrating with the Assure API using FaceTec's SDKs (iOS, Android and web).
Please, keep in mind that the following descriptions do not contain all the necessary steps for production mode. In addition, you must add validations, tests and error handling, which is outside the scope of this documentation.
Using the third-party SDKs means that the end-user will see FaceTec's user interface when performing the identity verification on their mobile or desktop.
Check "liveness" of end-user
The main aim of FaceTec's user interface is to check the "liveness" of an end-user against an image of the end-user’s face.
Before you start the SDK integration, we recommend to familiarise yourself with the general steps in the Assure Integration guide.
# Requirements
Before you start the integration, you should be aware of the following requirements for all FaceTec's SDKs:
- You must always use the latest FaceTec SDK version.
Important!
Once implemented, you must update the SDK version every 90 days. If the version is not updated, your FaceTec service will stop working. For more details, see https://dev.facetec.com/updating#update-policy (opens new window).
- Check the supported device versions on this page: https://dev.facetec.com/compatibility (opens new window)
- The app needs camera permission. Access to a microphone is not a requirement.
- Your app must always communicate with your own server and never directly with the Assure API. See more details about this requirement and other recommendations on the developer pages.
- Since you are integrating with the Assure API in a native app context, you should choose the eIDV generic flow.
# Mobile SDKs (iOS and Android)
# Integration steps overview
This diagram provides an abstraction of the client-side implementation.
The next sections describe all the needed steps, including the integration with Assure before and after the FaceTec SDK integration in step 4. Here is an overview of all the needed steps:
- Create a dossier.
- Create a process.
- Add a photo to the process.
- Integrate with the FaceTec SDK to capture liveness images.
- Start verification.
- Get result.
Note:
All the steps are similar for iOS and Android except the SDK integration in step 4, which is described below in different tabs for iOS and Android.
# Create a dossier
- Use the Create dossier endpoint to create a placeholder for all of your end-user’s data.
- Save the
dossierId
you get in the response.
Note:
Ensure you use one dossier per end-user.
# Create a process
- Use the Create process endpoint to create an identity verification process in that dossier. Ensure you give it the
dossierId
you got in the previous step. Also, enter the FaceTec provider in the request body:
{
"provider":"facetec"
}
When you have created the FaceTec process, you should get a backend response like this:
{
"processId": "74ee35d5-f542-472e-a087-597bc28bc9d4",
"status": "pending",
"createdAt": "2021-01-05T10:54:47Z",
"updatedAt": "2021-01-05T10:54:47Z",
"authorization": "someAuthorizationToken",
"facetecEncryptionPublicKey": "somePublicKey",
"facetecDeviceKeyIdentifier": "someDeviceKeyIdentifier",
"facetecProductionKeyText": "someOtherKey",
"provider": "facetec"
}
- Save the information from the response. You will need it in the next steps.
# Add a photo to the process
The FaceTec liveness process needs to compare the liveness data (that will be obtained in the next step) with a photo of the person who is supposed to match that liveness data.
The most common use-case is that you have a photo from someone you already know is the valid owner of an ID document and then want to use FaceTec to get liveness evidence from that person.
To do that, you first create another process in the Assure API and use it to verify a person’s identity using an ID document. Then you can get the photo of that person from that process (see Get Image) and feed it to the FaceTec process (Set Image “selfie”).
# Integrate with the FaceTec mobile SDK to capture liveness images
To capture the live images from the end-user, you must now integrate with the FaceTec SDK for either Android or iOS:
# Start verification
Your server (backend) must request the Assure API to start performing the identity verification.
To do this, you must send the necessary fields you got in the app to the backend, and then the backend communicates with Assure by calling Start verification with this request body:
{
"facetecEnrollment": {
"faceScan": "string",
"auditTrailImage": "string",
"lowQualityAuditTrailImage": "string",
"userAgent": "string"
}
}
# Get result
When the verification is finished, you can call the Get process result to get the result of the identity verification. Here is an example of an accepted process:
{
"processId":"c573be77-b253-49e9-863a-fc04965ea66f",
"provider":"facetec",
"status":"accepted",
"providerSpecific":{
"liveness":{
"facescanSecurityChecks.auditTrailVerificationCheckSucceeded":"true",
"facescanSecurityChecks.replayCheckSucceeded":"true",
"facescanSecurityChecks.faceScanLivenessCheckSucceeded":"true",
"success":"true",
"error":"false",
"facescanSecurityChecks.sessionTokenCheckSucceeded":"true"
},
"matching":{
"matchLevel":"8",
"success":"true",
"error":"false"
}
},
"finalResult":{
"livenessDetected":"true",
"similarityScore":"high"
},
"createdAt":"2021-01-06T16:48:32Z",
"updatedAt":"2021-01-06T16:49:06Z"
}
The process is accepted because both the matching of the selfie with the liveness video and the liveness check were successful.
The process is rejected if any of the conditions mentioned before is false.
Download full result
You can also get a zip file with the packaged process by calling the Download full result endpoint.
# Web SDK
To get help with using FaceTec's SDKs, please contact Signicat Support at support@signicat.com.