Documentation Hub
Web SDK
Web SDK
  • Keyless Web SDK Documentation
  • Introduction
    • Components
    • Integration Flows
  • Web SDK Guide
    • Getting Started
    • Enrollment
    • Authentication
    • Browser Requirements
  • Web SDK Reference
    • UI Customization
    • Localization
    • Lockout Policy
    • Error Handling
    • Camera Permission Flow
    • Signing Transactions
Powered by GitBook
On this page
  • Headless Enrollment
  • Web Component Enrollment
  • IDV Bridge SaaS Enrollment
  • Headless Authentication
  • Web Component Authentication

Was this helpful?

  1. Introduction

Components

Learn about the interaction between Keyless components

Last updated 1 month ago

Was this helpful?

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

In this context headless means that the enrollment happens on the client-side without any UI component, and it is therefore pure Javascript.

During enrollment, your web app initializes a KeylessEnroll class and establishes a connection to the Keyless Authentication Service, then:

  1. Waits for the "begin-stream" event and sends the first face frame.

  2. Waits for the "frame-results" event and sends one more face frame.

  3. The wait will continue in a loop until either of:

    1. The "error" event is fired which means that most likely the biometric pipeline failed, or another error stopped the process.

    2. The "stop-stream" event is fired which means that the biometric pipeline succeeded.

  4. Now the Keyless Authentication Service will extract the vectors of the last frame sent and perform the recognition process.

  5. 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:

  1. Checks if the user has consented to the usage of their camera, the permission must be granted in order to proceed.

  2. 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.

  3. Starts sending face frames to the Keyless Authentication Service at a set framerate, which is by default 4 frames per second.

  4. 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:

  1. Generates a new AES-GCM or AES-GCM-SIV key.

  2. Encrypts the face image with the AES-GCM or AES-GCM-SIV key.

  3. Encrypts the AES-GCM or AES-GCM-SIV key with the RSAES-OAEP-SHA-256 public key also known as IMAGE_ENCRYPTION_PUBLIC_KEY.

  4. Performs the POST request and waits for a 201 response status code.

Headless Authentication

In this context headless means that the authentication happens on the client-side without any UI component, and it is therefore pure Javascript.

During authentication, your web app initializes a KeylessAuth class and establishes a connection to the Keyless Authentication Service, then:

  1. Waits for the "begin-stream" event and sends the first face frame.

  2. Waits for the "frame-results" event and sends one more face frame.

  3. The wait will continue in a loop until either of:

    1. The "error" event is fired which means that most likely the biometric pipeline failed, or another error stopped the process.

    2. The "stop-stream" event is fired which means that the biometric pipeline succeeded.

  4. Now the Keyless Authentication Service will extract the vectors of the last frame sent and perform the recognition process.

  5. 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:

  1. Checks if the user has consented to the usage of their camera, the permission must be granted in order to proceed.

  2. 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.

  3. Starts sending face frames to the Keyless Authentication Service at a set framerate, which is by default 4 frames per second.

  4. Waits for the "finished" event.

We use in order to be framework agnostic, meaning that the custom elements we expose are going to work on any environment.

In this context the enrollment happens on the server-side, requiring no interaction from the user unless manually implemented by the integrator on their client. Head to for more information about this solution.

We use in order to be framework agnostic, meaning that the custom elements we expose are going to work on any environment.

Web Components
IDV Bridge space
Web Components