smartcomply-web-sdk 1.0.50 → 1.0.52

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 +11 -22
  2. package/dist/camera/ActionDetector.d.ts.map +1 -1
  3. package/dist/camera/ActionDetector.js +43 -107
  4. package/dist/camera/ActionDetector.js.map +1 -1
  5. package/dist/esm/camera/ActionDetector.d.ts +11 -22
  6. package/dist/esm/camera/ActionDetector.d.ts.map +1 -1
  7. package/dist/esm/camera/ActionDetector.js +43 -107
  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 +147 -148
  11. package/dist/esm/flow/SmartComplyFlow.js.map +1 -1
  12. package/dist/esm/modules/liveness/LivenessUI.d.ts +18 -16
  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 +58 -107
  19. package/dist/esm/modules/liveness/liveness.js.map +1 -1
  20. package/dist/esm/utils/constants.d.ts +11 -7
  21. package/dist/esm/utils/constants.d.ts.map +1 -1
  22. package/dist/esm/utils/constants.js +12 -8
  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 +147 -148
  26. package/dist/flow/SmartComplyFlow.js.map +1 -1
  27. package/dist/modules/liveness/LivenessUI.d.ts +18 -16
  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 +57 -106
  34. package/dist/modules/liveness/liveness.js.map +1 -1
  35. package/dist/smartcomply.browser.js +202 -516
  36. package/dist/smartcomply.browser.js.map +3 -3
  37. package/dist/utils/constants.d.ts +11 -7
  38. package/dist/utils/constants.d.ts.map +1 -1
  39. package/dist/utils/constants.js +13 -9
  40. package/dist/utils/constants.js.map +1 -1
  41. package/package.json +1 -1
@@ -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();
@@ -200,7 +197,7 @@ class LivenessModule {
200
197
  tempVideo.playsInline = true;
201
198
  await tempVideo.play();
202
199
  // Wait for face to be detected before capturing autoshot
203
- ui.mount(container, { actions: [], time_limit_seconds: 0, instruction: "Centre your face in the oval" });
200
+ ui.mount(container, { time_limit_seconds: 0, instruction: "Centre your face in the oval" });
204
201
  const uiVideo = ui.getVideoElement();
205
202
  if (uiVideo) {
206
203
  uiVideo.srcObject = stream;
@@ -217,7 +214,6 @@ class LivenessModule {
217
214
  // flickering "Move your face" for a single dropped frame.
218
215
  const videoForDetection = uiVideo || tempVideo;
219
216
  await new Promise((resolve) => {
220
- let attempts = 0;
221
217
  let stableFrames = 0;
222
218
  let missedFrames = 0;
223
219
  const STABLE_REQUIRED = 4; // increased from 2 — ensures face is properly locked before autoshot
@@ -291,85 +287,61 @@ class LivenessModule {
291
287
  // on devices that show it while a video element holds a stream reference.
292
288
  tempVideo.srcObject = null;
293
289
  tempVideo.remove();
294
- // 5. Mount UI with challenge actions from backend
290
+ // 5. Mount the passive scan UI — single oval view, one instruction,
291
+ // no step-by-step challenge list. The backend still receives a
292
+ // challenge_actions tag (["BLINK"]) for compatibility; the widget no
293
+ // longer commands discrete actions in sequence.
295
294
  const uiChallenge = {
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,
295
+ time_limit_seconds: constants_1.LIVENESS_TIME_LIMIT_SECONDS,
296
+ instruction: "Blink and look around naturally",
302
297
  };
303
- // Re-mount UI with challenge actions (face engine already initialized)
304
298
  ui.unmount();
305
299
  const videoEl = ui.mount(container, uiChallenge);
306
300
  videoEl.srcObject = stream;
307
301
  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.
302
+ // 7. Wait for camera AE/AF to re-stabilise after re-mounting the video
303
+ // element before scanning/recording — avoids a blurry first second.
312
304
  await new Promise((r) => setTimeout(r, 1000));
313
- if (!skipVideo) {
314
- recorder.start(stream);
315
- }
316
305
  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;
306
+ // 8. Start recording immediately — the whole scan window is short and
307
+ // clean by design (no fast head-turn/mouth-open motion to blur it), so
308
+ // it doubles as the clip sent to SmartComply's LIVENESS pipeline.
309
+ recorder.start(stream);
310
+ // Reset the progress ring's clock to now — it was mounted ~1s ago
311
+ // (see step 5/7 above), so without this the ring would visually run
312
+ // ahead of the actual detection window it's supposed to represent.
313
+ ui.startScanClock();
314
+ // Passive natural-motion detection: watch for a genuine blink or head
315
+ // movement (whichever the user does first while looking around), for
316
+ // up to the scan time limit. A minimum dwell time avoids ending the
317
+ // scan on a single lucky frame before the camera has settled.
318
+ const MIN_SCAN_MS = 2000;
319
+ const actionDetector = new ActionDetector_1.ActionDetector();
323
320
  const detectionResult = await new Promise((resolve) => {
324
321
  let animFrameId;
322
+ const scanStart = performance.now();
325
323
  const timeout = setTimeout(() => {
326
324
  cancelAnimationFrame(animFrameId);
327
325
  resolve("timeout");
328
326
  }, uiChallenge.time_limit_seconds * 1000);
329
- const getLabel = (action) => uiChallenge.instructions?.[action] || this.describeAction(action);
330
327
  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
328
  if (videoEl.readyState >= 2) {
347
329
  const detection = faceEngine.detect(videoEl, performance.now());
348
- const states = actionDetector.check(detection);
349
- ui.updateActions(states);
350
- const current = actionDetector.getCurrentAction();
330
+ const scan = actionDetector.check(detection);
331
+ ui.updateScanProgress(scan.livenessConfirmed);
351
332
  if (!detection.faceDetected) {
352
333
  ui.updateInstruction("Move your face into the oval");
353
334
  }
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
335
  else {
370
- ui.updateInstruction("All actions completed! ✓");
336
+ ui.updateInstruction(uiChallenge.instruction);
371
337
  }
372
- if (actionDetector.allCompleted()) {
338
+ // Require the face to be present in THIS frame too — scan.livenessConfirmed
339
+ // latches true forever once a blink/motion is seen, so without this check
340
+ // the scan could complete on elapsed time alone while the user has since
341
+ // moved out of frame, ending the recording on an empty/unusable frame
342
+ // right before the autoshot capture below.
343
+ const elapsed = performance.now() - scanStart;
344
+ if (detection.faceDetected && scan.livenessConfirmed && elapsed >= MIN_SCAN_MS) {
373
345
  clearTimeout(timeout);
374
346
  cancelAnimationFrame(animFrameId);
375
347
  resolve("completed");
@@ -386,16 +358,15 @@ class LivenessModule {
386
358
  // the outer `finally` block does NOT call cleanup() immediately —
387
359
  // which would destroy the UI before the user sees the timeout screen.
388
360
  cleanedUp = true;
389
- recorder.stop().catch(() => { }); // discard partial recording
390
361
  return new Promise((resolveRetry, rejectRetry) => {
391
362
  ui.showTimeout(() => {
392
363
  // User clicked "Try Again" — now it is safe to destroy this attempt
364
+ recorder.stop().catch(() => { }); // discard partial recording
393
365
  faceEngine.destroy();
394
366
  camera.stop();
395
367
  ui.unmount();
396
368
  // Restart liveness with same entry ID to prevent duplicate charges (D1)
397
369
  // Pass capturedDocBlob forward so document scan step is not repeated.
398
- // Forward verification_type so skipVideo is re-derived correctly on retry.
399
370
  this.startCheck(container, { ...params, id_file: capturedDocBlob }, actions, entry.id)
400
371
  .then(resolveRetry)
401
372
  .catch(rejectRetry);
@@ -403,34 +374,24 @@ class LivenessModule {
403
374
  // showTimeout waits for the user to click — the promise stays pending.
404
375
  });
405
376
  }
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
377
+ // ── On completion: capture stills, close out the recording, submit ──
378
+ ui.updateInstruction("Verifying...");
379
+ // Capture autoshot (real selfie) — face already settled from the scan,
380
+ // camera AE locked. Same quality-gated capture used throughout.
412
381
  const autoshotBlob = await this.captureFrame(videoEl);
413
382
  if (!autoshotBlob || autoshotBlob.size === 0) {
383
+ recorder.stop().catch(() => { });
414
384
  throw new Error("Failed to capture selfie. Please ensure your face is visible and try again.");
415
385
  }
416
386
  // Capture a snapshot frame as well (same timing, slightly different use)
417
387
  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
- }
388
+ // 9. Stop recording — the scan window itself (short, clean, natural
389
+ // blink/motion) is what SmartComply's LIVENESS mode analyses: blink
390
+ // and motion detection, then its own comparison frame extracted from
391
+ // this same video.
392
+ const recorded = await recorder.stop();
393
+ const videoBlob = recorded.blob;
394
+ const durationSeconds = recorded.durationSeconds;
434
395
  // 10. Submit to backend — always include autoshot so document-flow
435
396
  // entries (which bypassed create() via existingEntryId) still get it.
436
397
  const submitResult = await this.submit(entry.id, videoBlob, snapshotBlob, autoshotBlob, durationSeconds, videoBlob.size);
@@ -553,16 +514,6 @@ class LivenessModule {
553
514
  }
554
515
  return n > 0 ? sum / n : 0;
555
516
  }
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
517
  }
567
518
  exports.LivenessModule = LivenessModule;
568
519
  //# 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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"}