smartcomply-web-sdk 1.0.80 → 1.0.81

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 (37) hide show
  1. package/dist/camera/ActionDetector.d.ts.map +1 -1
  2. package/dist/camera/ActionDetector.js +7 -5
  3. package/dist/camera/ActionDetector.js.map +1 -1
  4. package/dist/client/Smartcomply.d.ts +1 -1
  5. package/dist/client/Smartcomply.js +1 -1
  6. package/dist/esm/camera/ActionDetector.d.ts.map +1 -1
  7. package/dist/esm/camera/ActionDetector.js +7 -5
  8. package/dist/esm/camera/ActionDetector.js.map +1 -1
  9. package/dist/esm/client/Smartcomply.d.ts +1 -1
  10. package/dist/esm/client/Smartcomply.js +1 -1
  11. package/dist/esm/flow/DocumentCapture.d.ts +18 -0
  12. package/dist/esm/flow/DocumentCapture.d.ts.map +1 -1
  13. package/dist/esm/flow/DocumentCapture.js +118 -4
  14. package/dist/esm/flow/DocumentCapture.js.map +1 -1
  15. package/dist/esm/flow/SmartComplyFlow.d.ts +10 -0
  16. package/dist/esm/flow/SmartComplyFlow.d.ts.map +1 -1
  17. package/dist/esm/flow/SmartComplyFlow.js +53 -0
  18. package/dist/esm/flow/SmartComplyFlow.js.map +1 -1
  19. package/dist/esm/utils/ImageQuality.d.ts +38 -0
  20. package/dist/esm/utils/ImageQuality.d.ts.map +1 -1
  21. package/dist/esm/utils/ImageQuality.js +98 -0
  22. package/dist/esm/utils/ImageQuality.js.map +1 -1
  23. package/dist/flow/DocumentCapture.d.ts +18 -0
  24. package/dist/flow/DocumentCapture.d.ts.map +1 -1
  25. package/dist/flow/DocumentCapture.js +117 -3
  26. package/dist/flow/DocumentCapture.js.map +1 -1
  27. package/dist/flow/SmartComplyFlow.d.ts +10 -0
  28. package/dist/flow/SmartComplyFlow.d.ts.map +1 -1
  29. package/dist/flow/SmartComplyFlow.js +53 -0
  30. package/dist/flow/SmartComplyFlow.js.map +1 -1
  31. package/dist/smartcomply.browser.js +211 -3
  32. package/dist/smartcomply.browser.js.map +3 -3
  33. package/dist/utils/ImageQuality.d.ts +38 -0
  34. package/dist/utils/ImageQuality.d.ts.map +1 -1
  35. package/dist/utils/ImageQuality.js +99 -0
  36. package/dist/utils/ImageQuality.js.map +1 -1
  37. package/package.json +1 -1
@@ -163,6 +163,104 @@ export function assessQuality(imageData) {
163
163
  quality: metrics,
164
164
  };
165
165
  }
166
+ /**
167
+ * Lightweight, dependency-free framing heuristic — NOT real document/edge
168
+ * detection (that needs actual computer vision, e.g. OpenCV.js). This is the
169
+ * same class of check as assessQuality above: cheap enough to run every
170
+ * ~300ms on a mid-range phone, good enough to catch the obvious failure
171
+ * (no document in frame, badly cropped, document far outside the guide box),
172
+ * not intended to catch subtle/partial cropping — that's still the backend
173
+ * OCR + registry check's job.
174
+ *
175
+ * Approach: a real physical document produces a sharp intensity edge at its
176
+ * own boundary. If the guide box is roughly aligned with a real document,
177
+ * that edge should sit close to the guide box's own border. Sample a thin
178
+ * ring around the guide box border and check edge strength there (Sobel-style
179
+ * gradient, cheaper than the full Laplacian pass in calculateSharpness), plus
180
+ * confirm the box interior isn't just blank/uniform background (a document
181
+ * held further back than the guide, or no document at all, leaves the
182
+ * interior looking like flat background/desk).
183
+ *
184
+ * guideBoxPct: the guide box's position as a fraction of imageData's full
185
+ * width/height (0-1) — callers pass the SAME percentages used to size the
186
+ * on-screen CSS guide box (see DocumentCapture's guideWrap), computed against
187
+ * the raw video frame's own pixel dimensions so no CSS/object-fit mapping is
188
+ * needed.
189
+ */
190
+ export function assessFraming(imageData, guideBoxPct) {
191
+ const { width: W, height: H, data } = imageData;
192
+ const gray = new Uint8Array(W * H);
193
+ for (let i = 0; i < W * H; i++) {
194
+ const idx = i * 4;
195
+ gray[i] = Math.round(0.299 * data[idx] + 0.587 * data[idx + 1] + 0.114 * data[idx + 2]);
196
+ }
197
+ const gx0 = Math.round(guideBoxPct.x * W);
198
+ const gy0 = Math.round(guideBoxPct.y * H);
199
+ const gx1 = Math.round((guideBoxPct.x + guideBoxPct.width) * W);
200
+ const gy1 = Math.round((guideBoxPct.y + guideBoxPct.height) * H);
201
+ const edgeAt = (x, y) => {
202
+ if (x < 1 || y < 1 || x >= W - 1 || y >= H - 1)
203
+ return 0;
204
+ const gxVal = gray[y * W + x + 1] - gray[y * W + x - 1];
205
+ const gyVal = gray[(y + 1) * W + x] - gray[(y - 1) * W + x];
206
+ return Math.sqrt(gxVal * gxVal + gyVal * gyVal);
207
+ };
208
+ const EDGE_THRESHOLD = 40;
209
+ const BORDER_BAND = Math.max(4, Math.round(Math.min(W, H) * 0.015));
210
+ // Sample points along the guide box border ring (top/bottom edges, left/right edges).
211
+ let borderPoints = 0;
212
+ let borderHits = 0;
213
+ const SAMPLES_PER_SIDE = 24;
214
+ const sampleBand = (fixed, isX, start, end) => {
215
+ for (let s = 0; s < SAMPLES_PER_SIDE; s++) {
216
+ const t = start + ((end - start) * s) / (SAMPLES_PER_SIDE - 1);
217
+ let bestEdge = 0;
218
+ for (let b = -BORDER_BAND; b <= BORDER_BAND; b++) {
219
+ const x = isX ? fixed + b : Math.round(t);
220
+ const y = isX ? Math.round(t) : fixed + b;
221
+ bestEdge = Math.max(bestEdge, edgeAt(x, y));
222
+ }
223
+ borderPoints++;
224
+ if (bestEdge >= EDGE_THRESHOLD)
225
+ borderHits++;
226
+ }
227
+ };
228
+ sampleBand(gy0, false, gx0, gx1); // top
229
+ sampleBand(gy1, false, gx0, gx1); // bottom
230
+ sampleBand(gx0, true, gy0, gy1); // left
231
+ sampleBand(gx1, true, gy0, gy1); // right
232
+ const borderEdgeCoverage = borderPoints > 0 ? borderHits / borderPoints : 0;
233
+ // Interior variance — sample a coarse grid inside the box, well clear of
234
+ // the border band, and check the spread of gray values isn't flat.
235
+ let sum = 0, sumSq = 0, n = 0;
236
+ const GRID = 12;
237
+ const insetX = Math.round((gx1 - gx0) * 0.1);
238
+ const insetY = Math.round((gy1 - gy0) * 0.1);
239
+ for (let iy = 0; iy < GRID; iy++) {
240
+ for (let ix = 0; ix < GRID; ix++) {
241
+ const x = gx0 + insetX + Math.round(((gx1 - gx0 - 2 * insetX) * ix) / (GRID - 1));
242
+ const y = gy0 + insetY + Math.round(((gy1 - gy0 - 2 * insetY) * iy) / (GRID - 1));
243
+ if (x < 0 || y < 0 || x >= W || y >= H)
244
+ continue;
245
+ const v = gray[y * W + x];
246
+ sum += v;
247
+ sumSq += v * v;
248
+ n++;
249
+ }
250
+ }
251
+ const mean = n > 0 ? sum / n : 0;
252
+ const variance = n > 0 ? sumSq / n - mean * mean : 0;
253
+ // Normalize against a "reasonable document photo" ballpark std-dev (~35)
254
+ // so the 0-1 scale is comparable across lighting conditions.
255
+ const interiorVariance = Math.min(1, Math.sqrt(Math.max(0, variance)) / 35);
256
+ // Require a solid majority of the border ring to show an edge AND some
257
+ // real content inside — either alone can false-positive (a plain wall has
258
+ // no edges but so does a document photographed at very low contrast; a
259
+ // cluttered background has edges everywhere but nothing document-shaped
260
+ // where the guide box actually is).
261
+ const isFramed = borderEdgeCoverage >= 0.55 && interiorVariance >= 0.25;
262
+ return { isFramed, borderEdgeCoverage, interiorVariance };
263
+ }
166
264
  /**
167
265
  * Get quality color for UI feedback
168
266
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ImageQuality.js","sourceRoot":"","sources":["../../../src/utils/ImageQuality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageQuality.js","sourceRoot":"","sources":["../../../src/utils/ImageQuality.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,9 @@ export declare class DocumentCapture {
27
27
  private backBlob;
28
28
  private currentSide;
29
29
  private requiresBackOverride;
30
+ private framingTimer;
31
+ private framingStableCount;
32
+ private framingAutoTriggered;
30
33
  /**
31
34
  * Mount the document capture UI and return a promise that resolves
32
35
  * with the captured document image(s).
@@ -58,6 +61,21 @@ export declare class DocumentCapture {
58
61
  */
59
62
  private _watchOrientation;
60
63
  private _unwatchOrientation;
64
+ /**
65
+ * Auto-capture-on-stability — the same pattern the liveness module already
66
+ * uses for face-lock (see liveness.ts's checkFace), applied to documents:
67
+ * poll the raw video frame on an interval, score it against the guide box
68
+ * with assessFraming() (see utils/ImageQuality.ts), and fire the shutter
69
+ * automatically once several consecutive samples score as "framed". This
70
+ * is industry-standard for document capture (Persona/Onfido/Jumio-style
71
+ * SDKs all auto-capture rather than trust a manual tap against a static
72
+ * guide overlay) — the guide box alone never blocked a badly cropped tap.
73
+ *
74
+ * The manual capture button still works throughout and always wins
75
+ * (framingAutoTriggered guards against a race between the two).
76
+ */
77
+ private _startFramingLoop;
78
+ private _stopFramingLoop;
61
79
  private openCamera;
62
80
  private captureFrame;
63
81
  private showPreview;
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentCapture.d.ts","sourceRoot":"","sources":["../../src/flow/DocumentCapture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,SAAS,CAAC;AACpD,OAAO,EAAuC,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAQ3F;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IAKZ,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAA+B;IAC3C,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,cAAc,CAA0D;IAChF,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,oBAAoB,CAAuC;IAEnE;;;OAGG;IACH,OAAO,CACL,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,qBAAqB,CAAC;IAiCjC,OAAO,IAAI,IAAI;IAuBf,OAAO,CAAC,eAAe;IAOvB,8EAA8E;IAC9E,OAAO,CAAC,qBAAqB;IAI7B,0EAA0E;IAC1E,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,kBAAkB;IA4L1B,wDAAwD;IACxD,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,gBAAgB;IAyHxB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;YAQb,UAAU;IAsExB,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,WAAW;IA4JnB;;;;;;OAMG;YACW,kBAAkB;IA4BhC,8FAA8F;IAC9F,OAAO,CAAC,aAAa;IAqBrB;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,qBAAqB;IAyC7B,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,YAAY;IAsBpB;;;;;;;;OAQG;YACW,sBAAsB;IASpC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,SAAS;IAoCjB,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,aAAa;IA4ErB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,gBAAgB;CAazB"}
1
+ {"version":3,"file":"DocumentCapture.d.ts","sourceRoot":"","sources":["../../src/flow/DocumentCapture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,SAAS,CAAC;AACpD,OAAO,EAAuC,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAQ3F;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IAKZ,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAA+B;IAC3C,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,cAAc,CAA0D;IAChF,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,oBAAoB,CAAuC;IACnE,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,oBAAoB,CAAS;IAErC;;;OAGG;IACH,OAAO,CACL,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,qBAAqB,CAAC;IAiCjC,OAAO,IAAI,IAAI;IAuBf,OAAO,CAAC,eAAe;IAOvB,8EAA8E;IAC9E,OAAO,CAAC,qBAAqB;IAI7B,0EAA0E;IAC1E,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,kBAAkB;IA4L1B,wDAAwD;IACxD,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,gBAAgB;IA0IxB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;IAQ3B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,iBAAiB;IA2FzB,OAAO,CAAC,gBAAgB;YAOV,UAAU;IAsExB,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,WAAW;IA4JnB;;;;;;OAMG;YACW,kBAAkB;IA4BhC,8FAA8F;IAC9F,OAAO,CAAC,aAAa;IAqBrB;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,qBAAqB;IAyC7B,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,YAAY;IAsBpB;;;;;;;;OAQG;YACW,sBAAsB;IASpC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,SAAS;IAoCjB,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,aAAa;IA4ErB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,gBAAgB;CAazB"}
@@ -23,6 +23,9 @@ class DocumentCapture {
23
23
  this.backBlob = null;
24
24
  this.currentSide = 'front';
25
25
  this.requiresBackOverride = undefined;
26
+ this.framingTimer = null;
27
+ this.framingStableCount = 0;
28
+ this.framingAutoTriggered = false;
26
29
  }
27
30
  /**
28
31
  * Mount the document capture UI and return a promise that resolves
@@ -332,7 +335,7 @@ class DocumentCapture {
332
335
  svg.appendChild(bracketGroup);
333
336
  guideWrap.appendChild(svg);
334
337
  wrapper.appendChild(guideWrap);
335
- // Header — gradient scrim + document label
338
+ // Header — gradient scrim + document label + live framing status
336
339
  const header = document.createElement("div");
337
340
  header.style.cssText = `
338
341
  position:absolute;top:0;left:0;right:0;
@@ -340,6 +343,13 @@ class DocumentCapture {
340
343
  padding:14px 16px 32px;text-align:center;
341
344
  `;
342
345
  header.innerHTML = `<div style="color:#fff;font-size:${theme_1.TYPE.sm}px;font-weight:600;">Align your ${this.getDocumentLabel(documentType)} within the frame</div>`;
346
+ const framingStatus = document.createElement("div");
347
+ framingStatus.style.cssText = `
348
+ margin-top:6px;font-size:${theme_1.TYPE.xs}px;font-weight:600;
349
+ color:rgba(255,255,255,0.7);transition:color 0.2s ease;
350
+ `;
351
+ framingStatus.textContent = "Fit the document inside the frame";
352
+ header.appendChild(framingStatus);
343
353
  wrapper.appendChild(header);
344
354
  // Footer — gradient scrim + tips
345
355
  const footer = document.createElement("div");
@@ -374,11 +384,17 @@ class DocumentCapture {
374
384
  inner.style.transform = "translate(-50%,-50%) scale(1)";
375
385
  });
376
386
  captureBtn.addEventListener("click", () => {
387
+ this.framingAutoTriggered = true; // manual tap always wins, skip any pending auto-trigger
377
388
  this.captureFrame(container, theme, documentType);
378
389
  });
379
390
  container.appendChild(captureBtn);
380
- // Open camera
381
- this.openCamera();
391
+ // Open camera, then start the auto-capture framing loop once the stream
392
+ // has real dimensions to sample against.
393
+ this.openCamera().then(() => {
394
+ if (this.videoEl) {
395
+ this.videoEl.addEventListener("loadedmetadata", () => this._startFramingLoop(container, theme, documentType, framingStatus), { once: true });
396
+ }
397
+ });
382
398
  }
383
399
  /**
384
400
  * Matches the video box's aspect-ratio CSS to the stream's actual
@@ -415,6 +431,103 @@ class DocumentCapture {
415
431
  this.orientationHandler = null;
416
432
  }
417
433
  }
434
+ /**
435
+ * Auto-capture-on-stability — the same pattern the liveness module already
436
+ * uses for face-lock (see liveness.ts's checkFace), applied to documents:
437
+ * poll the raw video frame on an interval, score it against the guide box
438
+ * with assessFraming() (see utils/ImageQuality.ts), and fire the shutter
439
+ * automatically once several consecutive samples score as "framed". This
440
+ * is industry-standard for document capture (Persona/Onfido/Jumio-style
441
+ * SDKs all auto-capture rather than trust a manual tap against a static
442
+ * guide overlay) — the guide box alone never blocked a badly cropped tap.
443
+ *
444
+ * The manual capture button still works throughout and always wins
445
+ * (framingAutoTriggered guards against a race between the two).
446
+ */
447
+ _startFramingLoop(container, theme, documentType, statusEl) {
448
+ if (!this.videoEl)
449
+ return;
450
+ this.framingStableCount = 0;
451
+ this.framingAutoTriggered = false;
452
+ const STABLE_REQUIRED = 3; // consecutive good samples before firing
453
+ const SAMPLE_INTERVAL_MS = 350; // cheap enough to run this often; not every animation frame
454
+ const MAX_WAIT_MS = 12000; // give up auto-capture, leave the manual button as the only path
455
+ const startTime = performance.now();
456
+ // Guide box in fractional coordinates, matching the on-screen CSS guide
457
+ // (width:84%, aspect-ratio:16/10, centered) — computed directly against
458
+ // the video's own pixel dimensions so no CSS/object-fit mapping is needed.
459
+ const boxWidthPct = 0.84;
460
+ const boxAspect = 16 / 10;
461
+ const tick = () => {
462
+ if (!this.videoEl || this.framingAutoTriggered)
463
+ return;
464
+ if (performance.now() - startTime >= MAX_WAIT_MS) {
465
+ statusEl.textContent = "Fit the document inside the frame";
466
+ return; // stop auto-detecting; manual capture button remains available
467
+ }
468
+ const w = this.videoEl.videoWidth;
469
+ const h = this.videoEl.videoHeight;
470
+ if (!w || !h || this.videoEl.readyState < 2) {
471
+ this.framingTimer = setTimeout(tick, SAMPLE_INTERVAL_MS);
472
+ return;
473
+ }
474
+ try {
475
+ const boxWidthPx = w * boxWidthPct;
476
+ const boxHeightPx = boxWidthPx / boxAspect;
477
+ const boxXPct = (1 - boxWidthPct) / 2;
478
+ const boxHeightPct = boxHeightPx / h;
479
+ const boxYPct = (1 - boxHeightPct) / 2;
480
+ const canvas = document.createElement("canvas");
481
+ // Downscaled sampling copy only — matches _checkPhotoQuality's own
482
+ // reasoning for why this must not run against the full-resolution
483
+ // frame on every tick.
484
+ const scale = Math.min(1, 480 / w);
485
+ canvas.width = Math.round(w * scale);
486
+ canvas.height = Math.round(h * scale);
487
+ const ctx = canvas.getContext("2d", { willReadFrequently: true });
488
+ if (!ctx) {
489
+ this.framingTimer = setTimeout(tick, SAMPLE_INTERVAL_MS);
490
+ return;
491
+ }
492
+ ctx.drawImage(this.videoEl, 0, 0, canvas.width, canvas.height);
493
+ const pixels = ctx.getImageData(0, 0, canvas.width, canvas.height);
494
+ const result = (0, ImageQuality_1.assessFraming)(pixels, {
495
+ x: boxXPct, y: boxYPct, width: boxWidthPct, height: boxHeightPct,
496
+ });
497
+ if (result.isFramed) {
498
+ this.framingStableCount++;
499
+ statusEl.style.color = theme.primary;
500
+ statusEl.textContent = this.framingStableCount >= STABLE_REQUIRED
501
+ ? "Capturing…"
502
+ : "Hold steady…";
503
+ }
504
+ else {
505
+ this.framingStableCount = 0;
506
+ statusEl.style.color = "rgba(255,255,255,0.7)";
507
+ statusEl.textContent = result.interiorVariance < 0.25
508
+ ? "Move closer — fill the frame with your document"
509
+ : "Align all 4 corners within the guide";
510
+ }
511
+ if (this.framingStableCount >= STABLE_REQUIRED) {
512
+ this.framingAutoTriggered = true;
513
+ this.captureFrame(container, theme, documentType);
514
+ return;
515
+ }
516
+ }
517
+ catch {
518
+ // Advisory/auto-capture only — a scoring failure just falls back to
519
+ // the manual capture button, never blocks the flow.
520
+ }
521
+ this.framingTimer = setTimeout(tick, SAMPLE_INTERVAL_MS);
522
+ };
523
+ this.framingTimer = setTimeout(tick, SAMPLE_INTERVAL_MS);
524
+ }
525
+ _stopFramingLoop() {
526
+ if (this.framingTimer !== null) {
527
+ clearTimeout(this.framingTimer);
528
+ this.framingTimer = null;
529
+ }
530
+ }
418
531
  async openCamera() {
419
532
  // Check browser compatibility
420
533
  if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
@@ -805,6 +918,7 @@ class DocumentCapture {
805
918
  input.click();
806
919
  }
807
920
  stopCamera() {
921
+ this._stopFramingLoop();
808
922
  this._unwatchOrientation();
809
923
  this.cameraManager.stop();
810
924
  if (this.videoEl) {
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentCapture.js","sourceRoot":"","sources":["../../src/flow/DocumentCapture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentCapture.js","sourceRoot":"","sources":["../../src/flow/DocumentCapture.ts"],"names":[],"mappings":"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"}
@@ -109,6 +109,16 @@ export declare class SmartComplyFlow {
109
109
  private renderOcrGate;
110
110
  private _renderExpiredDocument;
111
111
  private _renderOcrQualityFail;
112
+ /**
113
+ * The document passed OCR's own quality gate (it was readable) but failed
114
+ * the government-registry re-check — the ID number either doesn't exist
115
+ * in the registry, or belongs to a different person than the name on the
116
+ * document. Distinct from _renderOcrQualityFail: the photo itself may be
117
+ * perfectly clear, so "retake photo" framing would be misleading — the
118
+ * fix is a correct, uncropped photo of the actual document, not just a
119
+ * clearer one.
120
+ */
121
+ private _renderDocumentVerificationFailed;
112
122
  /**
113
123
  * OCR ran to completion but never produced a single usable field within
114
124
  * the poll window — do not let the flow reach liveness with no verified
@@ -1 +1 @@
1
- {"version":3,"file":"SmartComplyFlow.d.ts","sourceRoot":"","sources":["../../src/flow/SmartComplyFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SmartComplyFlow.d.ts","sourceRoot":"","sources":["../../src/flow/SmartComplyFlow.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIxF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA6C/C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C;AAsRD,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,KAAK,CAAoC;IAGjD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,YAAY,CAAiC;IAGrD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,qBAAqB,CAA6D;IAC1F,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,oBAAoB,CAAuC;IACnE,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,gBAAgB,CAAqB;IAK7C,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,kBAAkB,CAAuC;IACjE,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,WAAW,CAAuB;IAK1C,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,mBAAmB,CAAS;IAGpC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IAGxC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,UAAU,CAAc;IAGhC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,cAAc,CAAkB;IAGxC,OAAO,CAAC,gBAAgB,CAA4B;IAGpD,OAAO,CAAC,aAAa,CAA8C;IAGnE,OAAO,CAAC,YAAY,CAA8C;IAGlE,OAAO,CAAC,kBAAkB,CAA8C;IACxE,OAAO,CAAC,mBAAmB,CAA8C;IAGzE,OAAO,CAAC,gBAAgB,CAA8C;IAGtE,OAAO,CAAC,UAAU,CAAgC;IAElD,OAAO;IAUP;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe;IAOlD;;OAEG;IACH,KAAK,IAAI,IAAI;IAwEb,OAAO,CAAC,KAAK;YAyJC,UAAU;IAgExB,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAM;IAClD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,QAAQ;IAmChB,OAAO,CAAC,UAAU;IA4ElB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,aAAa;IA0LrB,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,kBAAkB;IAsF1B,OAAO,CAAC,aAAa;IAuWrB,OAAO,CAAC,qBAAqB;IAqD7B,OAAO,CAAC,qBAAqB;IA+E7B,OAAO,CAAC,qBAAqB;IAuI7B,OAAO,CAAC,aAAa;IA6HrB,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,qBAAqB;IA0C7B;;;;;;;;OAQG;IACH,OAAO,CAAC,iCAAiC;IA6BzC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,UAAU;IA+ClB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,cAAc;IAUtB;;OAEG;YACW,4BAA4B;IAiB1C;;OAEG;YACW,mBAAmB;IA+GjC,OAAO,CAAC,6BAA6B;IA8DrC,OAAO,CAAC,cAAc;IA4HtB,OAAO,CAAC,aAAa;IAsGrB,OAAO,CAAC,YAAY;IAqHpB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,gBAAgB;IAmDxB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,qBAAqB;IAmB7B,sGAAsG;IACtG,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,cAAc;IAgBtB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,cAAc;IAmFtB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,YAAY;CAiCrB"}
@@ -1669,6 +1669,20 @@ class SmartComplyFlow {
1669
1669
  this._renderOcrQualityFail(container, result.ocr_rejection_reason);
1670
1670
  return;
1671
1671
  }
1672
+ // The backend can fail this entry for a reason that ISN'T expiry or
1673
+ // OCR quality — specifically, the IPRS/government-registry re-check
1674
+ // (the ID number read off the document doesn't exist, or belongs to
1675
+ // someone else). By this point in the poll, ocr_status/ocr_name/
1676
+ // ocr_document_number are already populated from the OCR step that
1677
+ // ran before the registry check, so the ocrDone check below would
1678
+ // otherwise treat this as a success and route the user straight to
1679
+ // document_confirm on an entry that is already dead. Must be checked
1680
+ // before ocrDone, not after.
1681
+ if (result.status === "failed") {
1682
+ container.innerHTML = "";
1683
+ this._renderDocumentVerificationFailed(container, result.failure_reason);
1684
+ return;
1685
+ }
1672
1686
  // OCR complete — store data and show confirmation screen
1673
1687
  const ocrDone = result.ocr_status === "done" || result.ocr_status === "ocr_complete"
1674
1688
  || result.ocr_name || result.ocr_document_number || result.ocr_expiry_date;
@@ -1793,6 +1807,45 @@ class SmartComplyFlow {
1793
1807
  });
1794
1808
  container.appendChild(retryBtn);
1795
1809
  }
1810
+ /**
1811
+ * The document passed OCR's own quality gate (it was readable) but failed
1812
+ * the government-registry re-check — the ID number either doesn't exist
1813
+ * in the registry, or belongs to a different person than the name on the
1814
+ * document. Distinct from _renderOcrQualityFail: the photo itself may be
1815
+ * perfectly clear, so "retake photo" framing would be misleading — the
1816
+ * fix is a correct, uncropped photo of the actual document, not just a
1817
+ * clearer one.
1818
+ */
1819
+ _renderDocumentVerificationFailed(container, failureReason) {
1820
+ container.style.cssText += "display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:20px 0;";
1821
+ const icon = document.createElement("div");
1822
+ icon.style.cssText = `width:72px;height:72px;border-radius:50%;background:${this.theme.errorBg};border:3px solid ${this.theme.error};display:flex;align-items:center;justify-content:center;font-size:28px;`;
1823
+ icon.textContent = "⚠️";
1824
+ container.appendChild(icon);
1825
+ const t = document.createElement("h2");
1826
+ t.style.cssText = `color:${this.theme.text};font-size:${theme_1.TYPE.heading}px;font-weight:700;margin:0;`;
1827
+ t.textContent = "We Couldn't Confirm Your Details";
1828
+ container.appendChild(t);
1829
+ const d = document.createElement("p");
1830
+ d.style.cssText = `color:${this.theme.textSecondary};font-size:13px;margin:0;max-width:280px;line-height:1.6;`;
1831
+ // failure_reason is already sanitized server-side (_safe_failure_reason)
1832
+ // before it reaches this endpoint — safe to show directly, same as every
1833
+ // other failure_reason display in this file.
1834
+ d.textContent = failureReason
1835
+ || "We couldn't confirm your details. Please re-upload a clear photo of your ID and make sure your details are correct before submitting.";
1836
+ container.appendChild(d);
1837
+ const retryBtn = this.createPrimaryButton("Re-upload ID");
1838
+ retryBtn.addEventListener("click", () => {
1839
+ this.livenessEntryId = null;
1840
+ this.documentBlob = null;
1841
+ this.documentBackBlob = null;
1842
+ this.showStep("document_capture");
1843
+ });
1844
+ container.appendChild(retryBtn);
1845
+ const endBtn = this.createSecondaryButton("End session");
1846
+ endBtn.addEventListener("click", () => { this.options.onError?.(new Error("Document verification failed")); this.close(); });
1847
+ container.appendChild(endBtn);
1848
+ }
1796
1849
  /**
1797
1850
  * OCR ran to completion but never produced a single usable field within
1798
1851
  * the poll window — do not let the flow reach liveness with no verified