smartcomply-web-sdk 1.0.49 → 1.0.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/camera/ActionDetector.d.ts +15 -21
  2. package/dist/camera/ActionDetector.d.ts.map +1 -1
  3. package/dist/camera/ActionDetector.js +51 -104
  4. package/dist/camera/ActionDetector.js.map +1 -1
  5. package/dist/esm/camera/ActionDetector.d.ts +15 -21
  6. package/dist/esm/camera/ActionDetector.d.ts.map +1 -1
  7. package/dist/esm/camera/ActionDetector.js +51 -104
  8. package/dist/esm/camera/ActionDetector.js.map +1 -1
  9. package/dist/esm/flow/SmartComplyFlow.d.ts.map +1 -1
  10. package/dist/esm/flow/SmartComplyFlow.js +3 -4
  11. package/dist/esm/flow/SmartComplyFlow.js.map +1 -1
  12. package/dist/esm/modules/liveness/LivenessUI.d.ts +19 -15
  13. package/dist/esm/modules/liveness/LivenessUI.d.ts.map +1 -1
  14. package/dist/esm/modules/liveness/LivenessUI.js +99 -311
  15. package/dist/esm/modules/liveness/LivenessUI.js.map +1 -1
  16. package/dist/esm/modules/liveness/liveness.d.ts +10 -9
  17. package/dist/esm/modules/liveness/liveness.d.ts.map +1 -1
  18. package/dist/esm/modules/liveness/liveness.js +57 -104
  19. package/dist/esm/modules/liveness/liveness.js.map +1 -1
  20. package/dist/esm/utils/constants.d.ts +12 -6
  21. package/dist/esm/utils/constants.d.ts.map +1 -1
  22. package/dist/esm/utils/constants.js +13 -7
  23. package/dist/esm/utils/constants.js.map +1 -1
  24. package/dist/flow/SmartComplyFlow.d.ts.map +1 -1
  25. package/dist/flow/SmartComplyFlow.js +3 -4
  26. package/dist/flow/SmartComplyFlow.js.map +1 -1
  27. package/dist/modules/liveness/LivenessUI.d.ts +19 -15
  28. package/dist/modules/liveness/LivenessUI.d.ts.map +1 -1
  29. package/dist/modules/liveness/LivenessUI.js +99 -311
  30. package/dist/modules/liveness/LivenessUI.js.map +1 -1
  31. package/dist/modules/liveness/liveness.d.ts +10 -9
  32. package/dist/modules/liveness/liveness.d.ts.map +1 -1
  33. package/dist/modules/liveness/liveness.js +56 -103
  34. package/dist/modules/liveness/liveness.js.map +1 -1
  35. package/dist/smartcomply.browser.js +213 -513
  36. package/dist/smartcomply.browser.js.map +3 -3
  37. package/dist/utils/constants.d.ts +12 -6
  38. package/dist/utils/constants.d.ts.map +1 -1
  39. package/dist/utils/constants.js +13 -7
  40. package/dist/utils/constants.js.map +1 -1
  41. package/package.json +2 -2
@@ -128,26 +128,23 @@ class LivenessModule {
128
128
  /**
129
129
  * Full liveness check — orchestrates the entire flow:
130
130
  *
131
- * 1. Take autoshot selfie from camera
132
- * 2. Create liveness entry on backend (with challenge actions + selfie + optional doc)
133
- * 3. Run action detection loop (camera + MediaPipe)
134
- * 4. Record video (document/liveness flows) OR skip recording (data verification)
135
- * 5. Submit to backend and return response (status: "processing")
131
+ * 1. Run action detection loop (camera + MediaPipe) — challenge actions only,
132
+ * not recorded (fast head/mouth motion produces blurry frames).
133
+ * 2. Create liveness entry on backend (with challenge actions + optional doc)
134
+ * 3. Record a short, clean, post-challenge clip (neutral pose + a natural
135
+ * blink) — this is what's sent for face comparison in LIVENESS mode.
136
+ * 4. Submit to backend and return response (status: "processing")
136
137
  *
137
- * For data_verification the backend uses COMPARISON mode (autoshot vs govt DB photo)
138
- * so video recording is unnecessary — we skip it to save bandwidth and latency.
138
+ * Backend runs LIVENESS mode (blink/motion check, then its own comparison
139
+ * frame extracted from this same video) for both data and document
140
+ * verification — see FACE_COMPARISON_USER_GUIDE.md.
139
141
  *
140
142
  * @param container - DOM element to mount the liveness UI into
141
143
  * @param params - identifier info and optional document image
142
- * @param actions - override challenge actions (default: BLINK, TURN_HEAD, OPEN_MOUTH)
144
+ * @param actions - override the challenge_actions tag sent to the backend (default: BLINK)
143
145
  * @param existingEntryId - reuse an already-created LivenessEntry (avoids double charge)
144
146
  */
145
147
  async startCheck(container, params, actions, existingEntryId) {
146
- // Data verification: backend always uses COMPARISON mode (autoshot vs govt photo).
147
- // Video recording adds ~2–4 s of latency and bandwidth for zero benefit here.
148
- const isDataVerification = params.verification_type === "data_verification" ||
149
- (!params.document && !params.document_front && !params.id_file && !!params.identity_check);
150
- const skipVideo = isDataVerification;
151
148
  const camera = new CameraManager_1.CameraManager();
152
149
  const recorder = new VideoRecorder_1.VideoRecorder();
153
150
  const faceEngine = new FaceDetector_1.FaceDetectorEngine();
@@ -291,85 +288,62 @@ class LivenessModule {
291
288
  // on devices that show it while a video element holds a stream reference.
292
289
  tempVideo.srcObject = null;
293
290
  tempVideo.remove();
294
- // 5. Mount UI with challenge actions from backend
291
+ // 5. Mount the passive scan UI — single oval view, one instruction,
292
+ // no step-by-step challenge list. The backend still receives a
293
+ // challenge_actions tag (["BLINK"]) for compatibility; the widget no
294
+ // longer commands discrete actions in sequence.
295
295
  const uiChallenge = {
296
296
  actions: entry.challenge_actions,
297
- time_limit_seconds: 45,
298
- instruction: "Complete each action below to verify it's you",
299
- // Use backend-provided instructions if available (mirror-corrected),
300
- // otherwise fall back to the frontend labels.
301
- instructions: entry.challenge_instructions,
297
+ time_limit_seconds: constants_1.LIVENESS_TIME_LIMIT_SECONDS,
298
+ instruction: "Blink and look around naturally",
302
299
  };
303
- // Re-mount UI with challenge actions (face engine already initialized)
304
300
  ui.unmount();
305
301
  const videoEl = ui.mount(container, uiChallenge);
306
302
  videoEl.srcObject = stream;
307
303
  await videoEl.play();
308
- // 7. Start recording — wait for camera AE/AF to re-stabilise after
309
- // re-mounting the video element. Without this delay the first ~1s of
310
- // the video is blurry (camera re-adapts exposure) and SmartComply's
311
- // frame extractor picks a blurry keyframe → IMAGE_TOO_BLURRY rejection.
304
+ // 7. Wait for camera AE/AF to re-stabilise after re-mounting the video
305
+ // element before scanning/recording — avoids a blurry first second.
312
306
  await new Promise((r) => setTimeout(r, 1000));
313
- if (!skipVideo) {
314
- recorder.start(stream);
315
- }
316
307
  ui.updateInstruction(uiChallenge.instruction);
317
- // 8. Run detection loop (sequential — one action at a time)
318
- const actionDetector = new ActionDetector_1.ActionDetector(entry.challenge_actions);
319
- let lastAction = null;
320
- let pauseUntil = 0;
321
- let pendingNextAction = null;
322
- let pendingNextLabel = null;
308
+ // 8. Start recording immediately — the whole scan window is short and
309
+ // clean by design (no fast head-turn/mouth-open motion to blur it), so
310
+ // it doubles as the clip sent to SmartComply's LIVENESS pipeline.
311
+ recorder.start(stream);
312
+ // Reset the progress ring's clock to now — it was mounted ~1s ago
313
+ // (see step 5/7 above), so without this the ring would visually run
314
+ // ahead of the actual detection window it's supposed to represent.
315
+ ui.startScanClock();
316
+ // Passive natural-motion detection: watch for a genuine blink or head
317
+ // movement (whichever the user does first while looking around), for
318
+ // up to the scan time limit. A minimum dwell time avoids ending the
319
+ // scan on a single lucky frame before the camera has settled.
320
+ const MIN_SCAN_MS = 2000;
321
+ const actionDetector = new ActionDetector_1.ActionDetector();
323
322
  const detectionResult = await new Promise((resolve) => {
324
323
  let animFrameId;
324
+ const scanStart = performance.now();
325
325
  const timeout = setTimeout(() => {
326
326
  cancelAnimationFrame(animFrameId);
327
327
  resolve("timeout");
328
328
  }, uiChallenge.time_limit_seconds * 1000);
329
- const getLabel = (action) => uiChallenge.instructions?.[action] || this.describeAction(action);
330
329
  const detectLoop = () => {
331
- const now = performance.now();
332
- // P3: During the brief inter-action pause, schedule with setTimeout
333
- // instead of rAF — avoids burning CPU at 60fps while nothing is processed.
334
- const remaining = pauseUntil - now;
335
- if (remaining > 0) {
336
- setTimeout(() => { animFrameId = requestAnimationFrame(detectLoop); }, remaining);
337
- return;
338
- }
339
- if (pendingNextAction) {
340
- lastAction = pendingNextAction;
341
- if (pendingNextLabel)
342
- ui.updateInstruction(pendingNextLabel);
343
- pendingNextAction = null;
344
- pendingNextLabel = null;
345
- }
346
330
  if (videoEl.readyState >= 2) {
347
331
  const detection = faceEngine.detect(videoEl, performance.now());
348
- const states = actionDetector.check(detection);
349
- ui.updateActions(states);
350
- const current = actionDetector.getCurrentAction();
332
+ const scan = actionDetector.check(detection);
333
+ ui.updateScanProgress(scan.livenessConfirmed);
351
334
  if (!detection.faceDetected) {
352
335
  ui.updateInstruction("Move your face into the oval");
353
336
  }
354
- else if (current) {
355
- if (current !== lastAction) {
356
- if (lastAction !== null) {
357
- // Action completed — give user ~600ms to see the next instruction
358
- pauseUntil = now + 600;
359
- pendingNextAction = current;
360
- pendingNextLabel = getLabel(current);
361
- ui.updateInstruction(`Great! ${pendingNextLabel}`);
362
- animFrameId = requestAnimationFrame(detectLoop);
363
- return;
364
- }
365
- lastAction = current;
366
- ui.updateInstruction(getLabel(current));
367
- }
368
- }
369
337
  else {
370
- ui.updateInstruction("All actions completed! ✓");
338
+ ui.updateInstruction(uiChallenge.instruction);
371
339
  }
372
- if (actionDetector.allCompleted()) {
340
+ // Require the face to be present in THIS frame too — scan.livenessConfirmed
341
+ // latches true forever once a blink/motion is seen, so without this check
342
+ // the scan could complete on elapsed time alone while the user has since
343
+ // moved out of frame, ending the recording on an empty/unusable frame
344
+ // right before the autoshot capture below.
345
+ const elapsed = performance.now() - scanStart;
346
+ if (detection.faceDetected && scan.livenessConfirmed && elapsed >= MIN_SCAN_MS) {
373
347
  clearTimeout(timeout);
374
348
  cancelAnimationFrame(animFrameId);
375
349
  resolve("completed");
@@ -386,16 +360,15 @@ class LivenessModule {
386
360
  // the outer `finally` block does NOT call cleanup() immediately —
387
361
  // which would destroy the UI before the user sees the timeout screen.
388
362
  cleanedUp = true;
389
- recorder.stop().catch(() => { }); // discard partial recording
390
363
  return new Promise((resolveRetry, rejectRetry) => {
391
364
  ui.showTimeout(() => {
392
365
  // User clicked "Try Again" — now it is safe to destroy this attempt
366
+ recorder.stop().catch(() => { }); // discard partial recording
393
367
  faceEngine.destroy();
394
368
  camera.stop();
395
369
  ui.unmount();
396
370
  // Restart liveness with same entry ID to prevent duplicate charges (D1)
397
371
  // Pass capturedDocBlob forward so document scan step is not repeated.
398
- // Forward verification_type so skipVideo is re-derived correctly on retry.
399
372
  this.startCheck(container, { ...params, id_file: capturedDocBlob }, actions, entry.id)
400
373
  .then(resolveRetry)
401
374
  .catch(rejectRetry);
@@ -403,34 +376,24 @@ class LivenessModule {
403
376
  // showTimeout waits for the user to click — the promise stays pending.
404
377
  });
405
378
  }
406
- // ── On completion: stop recording (if applicable), submit ──────
407
- // W9: Capture autoshot AFTER challenge actions complete.
408
- // Wait for neutral face pose before capturing.
409
- ui.updateInstruction("Almost done — hold still...");
410
- await new Promise((r) => setTimeout(r, 800));
411
- // Capture autoshot (real selfie) — post-challenge, neutral pose, camera AE locked
379
+ // ── On completion: capture stills, close out the recording, submit ──
380
+ ui.updateInstruction("Verifying...");
381
+ // Capture autoshot (real selfie) — face already settled from the scan,
382
+ // camera AE locked. Same quality-gated capture used throughout.
412
383
  const autoshotBlob = await this.captureFrame(videoEl);
413
384
  if (!autoshotBlob || autoshotBlob.size === 0) {
385
+ recorder.stop().catch(() => { });
414
386
  throw new Error("Failed to capture selfie. Please ensure your face is visible and try again.");
415
387
  }
416
388
  // Capture a snapshot frame as well (same timing, slightly different use)
417
389
  const snapshotBlob = await this.captureFrame(videoEl);
418
- // 9. Stop recording (no-op / discard when skipVideo=true)
419
- let videoBlob;
420
- let durationSeconds;
421
- if (skipVideo) {
422
- // Data verification: backend uses COMPARISON mode (autoshot only).
423
- // Use the autoshot as a 1-byte stand-in so the submit serializer
424
- // gets a valid file — backend strips it in favour of autoshot anyway.
425
- recorder.stop().catch(() => { }); // discard partial recording
426
- videoBlob = autoshotBlob; // reuse autoshot — ~5–15 KB vs ~500 KB video
427
- durationSeconds = undefined;
428
- }
429
- else {
430
- const recorded = await recorder.stop();
431
- videoBlob = recorded.blob;
432
- durationSeconds = recorded.durationSeconds;
433
- }
390
+ // 9. Stop recording — the scan window itself (short, clean, natural
391
+ // blink/motion) is what SmartComply's LIVENESS mode analyses: blink
392
+ // and motion detection, then its own comparison frame extracted from
393
+ // this same video.
394
+ const recorded = await recorder.stop();
395
+ const videoBlob = recorded.blob;
396
+ const durationSeconds = recorded.durationSeconds;
434
397
  // 10. Submit to backend — always include autoshot so document-flow
435
398
  // entries (which bypassed create() via existingEntryId) still get it.
436
399
  const submitResult = await this.submit(entry.id, videoBlob, snapshotBlob, autoshotBlob, durationSeconds, videoBlob.size);
@@ -553,16 +516,6 @@ class LivenessModule {
553
516
  }
554
517
  return n > 0 ? sum / n : 0;
555
518
  }
556
- describeAction(action) {
557
- const descriptions = {
558
- BLINK: "Blink your eyes",
559
- TURN_LEFT: "Turn your head to the side",
560
- TURN_RIGHT: "Turn your head to the side",
561
- TURN_HEAD: "Turn your head side to side",
562
- OPEN_MOUTH: "Open your mouth wide",
563
- };
564
- return descriptions[action] || action.replace(/_/g, " ").toLowerCase();
565
- }
566
519
  }
567
520
  exports.LivenessModule = LivenessModule;
568
521
  //# sourceMappingURL=liveness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"liveness.js","sourceRoot":"","sources":["../../../src/modules/liveness/liveness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"liveness.js","sourceRoot":"","sources":["../../../src/modules/liveness/liveness.ts"],"names":[],"mappings":"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"}