Interaction of LUNA PASS components#
The sequence diagram of the LUNA PASS components(Figure 4).

Detailed description of the process of interaction LUNA PASS components during frame processing and Liveness estimation is presented in the Table 3.
Table 3. Description of the process of interaction LUNA PASS components during frame processing and Liveness estimation
Step |
Description |
---|---|
(0) |
The user accesses LUNA PASS UI by opening the corresponding page in a web browser |
(1) |
LUNA PASS UI requests access to the webcam. The browser displays an appropriate message requesting permission from the user. The user must grant access to continue using LUNA PASS |
(2– 3) |
LUNA PASS UI establishes a WebSocket connection to the LUNA PASS API using the LPProto protocol, which sends a CONNECT request |
(4) |
LUNA PASS API checks the received data, assigns a session-id and opens a WebSocket connection |
(5) |
LUNA PASS UI connects to the webcam and captures the image from the webcam |
(6) |
LUNA PASS UI displays the video stream received from the webcam in near real-time mode |
(7) |
LUNA PASS UI, using the built-in frontal detector, performs fast face detection on received frames* The frontal detector is used to reduce the load on the channel so as not to transmit frames without a face to the LUNA PASS API |
(8) |
LUNA PASS UI sends frames of the video stream, on which, for example, it was possible to detect a face, to the server in the LUNA PASS API using a secure Web Socket protocol |
(9) |
The LUNA PASS API includes LUNA SDK 5, which performs face detection, determines attributes, and performs Liveness estimation |
(10) |
If the Liveness estimation was not successful, the LUNA PASS API returns the results of the checks in the LUNA PASS UI |
(11) |
LUNA PASS UI displays appropriate prompts based on the data obtained in step 10. For example, if the LUNA PASS API detects poor quality on the received frames or fails to checkup (the user is sitting far away from the camera or his/her head is turned at too large an angle), the web browser will display instructions in the form of prompts on how the user should change the position of his/her face relative to the webcam |
(12) |
If the Liveness estimation was successful, the LUNA PASS API analyzes the current frame. If the current frame is a bestshot (successfully passed all checks), it is sent in a signed JWT token |
* This step is only performed if Frontend is using Blazeface.