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.
- package/dist/camera/ActionDetector.d.ts +11 -22
- package/dist/camera/ActionDetector.d.ts.map +1 -1
- package/dist/camera/ActionDetector.js +43 -107
- package/dist/camera/ActionDetector.js.map +1 -1
- package/dist/esm/camera/ActionDetector.d.ts +11 -22
- package/dist/esm/camera/ActionDetector.d.ts.map +1 -1
- package/dist/esm/camera/ActionDetector.js +43 -107
- package/dist/esm/camera/ActionDetector.js.map +1 -1
- package/dist/esm/flow/SmartComplyFlow.d.ts.map +1 -1
- package/dist/esm/flow/SmartComplyFlow.js +147 -148
- package/dist/esm/flow/SmartComplyFlow.js.map +1 -1
- package/dist/esm/modules/liveness/LivenessUI.d.ts +18 -16
- package/dist/esm/modules/liveness/LivenessUI.d.ts.map +1 -1
- package/dist/esm/modules/liveness/LivenessUI.js +99 -311
- package/dist/esm/modules/liveness/LivenessUI.js.map +1 -1
- package/dist/esm/modules/liveness/liveness.d.ts +10 -9
- package/dist/esm/modules/liveness/liveness.d.ts.map +1 -1
- package/dist/esm/modules/liveness/liveness.js +58 -107
- package/dist/esm/modules/liveness/liveness.js.map +1 -1
- package/dist/esm/utils/constants.d.ts +11 -7
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +12 -8
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/flow/SmartComplyFlow.d.ts.map +1 -1
- package/dist/flow/SmartComplyFlow.js +147 -148
- package/dist/flow/SmartComplyFlow.js.map +1 -1
- package/dist/modules/liveness/LivenessUI.d.ts +18 -16
- package/dist/modules/liveness/LivenessUI.d.ts.map +1 -1
- package/dist/modules/liveness/LivenessUI.js +99 -311
- package/dist/modules/liveness/LivenessUI.js.map +1 -1
- package/dist/modules/liveness/liveness.d.ts +10 -9
- package/dist/modules/liveness/liveness.d.ts.map +1 -1
- package/dist/modules/liveness/liveness.js +57 -106
- package/dist/modules/liveness/liveness.js.map +1 -1
- package/dist/smartcomply.browser.js +202 -516
- package/dist/smartcomply.browser.js.map +3 -3
- package/dist/utils/constants.d.ts +11 -7
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +13 -9
- package/dist/utils/constants.js.map +1 -1
- 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.
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
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
|
-
*
|
|
138
|
-
*
|
|
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
|
|
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, {
|
|
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
|
|
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
|
-
|
|
297
|
-
|
|
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.
|
|
309
|
-
//
|
|
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.
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
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
|
|
349
|
-
ui.
|
|
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(
|
|
336
|
+
ui.updateInstruction(uiChallenge.instruction);
|
|
371
337
|
}
|
|
372
|
-
|
|
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:
|
|
407
|
-
|
|
408
|
-
//
|
|
409
|
-
|
|
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
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
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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"}
|