Components
Learn about the interaction between Keyless components
The diagrams below show how the Keyless Web SDK, which runs within your web app on the user’s browser, interacts with your application server and with the Keyless network.
Headless Enrollment
During enrollment, your web app initializes a KeylessEnroll class and establishes a connection to the Keyless Authentication Service, then:
Waits for the "begin-stream" event and sends the first face frame.
Waits for the "frame-results" event and sends one more face frame.
The wait will continue in a loop until either of:
The "error" event is fired which means that most likely the biometric pipeline failed, or another error stopped the process.
The "stop-stream" event is fired which means that the biometric pipeline succeeded.
Now the Keyless Authentication Service will extract the vectors of the last frame sent and perform the recognition process.
Waits for the "finished" event.

Web Component Enrollment
During enrollment, your web app loads and renders the kl-enroll web component, the component will establish a connection to the Keyless Authentication Service as soon as it is mounted, then it:
Checks if the user has consented to the usage of their camera, the permission must be granted in order to proceed.
Checks if the user is on a desktop device and has multiple cameras, if yes the user will be prompted to pick one in order to avoid using the wrong camera by default. This does not happen on mobile devices and the selfie camera is always preferred by default.
Starts sending face frames to the Keyless Authentication Service at a set framerate, which is by default 4 frames per second.
Waits for the "finished" event.

IDV Bridge SaaS Enrollment
During enrollment, your back-end service will perform a POST request to the Keyless Authentication Service following these steps:
Generates a new
AES-GCM
orAES-GCM-SIV
key.Encrypts the face image with the
AES-GCM
orAES-GCM-SIV
key.Encrypts the
AES-GCM
orAES-GCM-SIV
key with theRSAES-OAEP-SHA-256
public key also known asIMAGE_ENCRYPTION_PUBLIC_KEY
.Performs the POST request and waits for a 201 response status code.

Headless Authentication
During authentication, your web app initializes a KeylessAuth class and establishes a connection to the Keyless Authentication Service, then:
Waits for the "begin-stream" event and sends the first face frame.
Waits for the "frame-results" event and sends one more face frame.
The wait will continue in a loop until either of:
The "error" event is fired which means that most likely the biometric pipeline failed, or another error stopped the process.
The "stop-stream" event is fired which means that the biometric pipeline succeeded.
Now the Keyless Authentication Service will extract the vectors of the last frame sent and perform the recognition process.
Waits for the "finished" event.

Web Component Authentication
During authentication, your web app loads and renders the kl-auth web component, the component will establish a connection to the Keyless Authentication Service as soon as it is mounted, then:
Checks if the user has consented to the usage of their camera, the permission must be granted in order to proceed.
Checks if the user is on a desktop device and has multiple cameras, if yes the user will be prompted to pick one in order to avoid using the wrong camera by default. This does not happen on mobile devices and the selfie camera is always preferred by default.
Starts sending face frames to the Keyless Authentication Service at a set framerate, which is by default 4 frames per second.
Waits for the "finished" event.

Last updated
Was this helpful?