id-bolt
ID Bolt (Web) Skill
What ID Bolt is — and what it is NOT
ID Bolt is a hosted, drop-in identity-scanning product. You call IdBoltSession.create(...) and start(), and Scandit opens its own scanning UI in a pop-up (https://app.id-scanning.com). Scandit hosts the camera, the viewfinder, the scanning logic, the result screen, and the engine files. Your code only configures the session and receives the result in a callback — you don't build a UI/camera workflow at all.
It also supports device handover: when the current device has no camera or a poor one (e.g. a desktop), ID Bolt can show a QR code so the user finishes the scan on another device such as their phone, and the result still flows back to your onCompletion callback on the original page. This is built into the hosted flow, not something you wire up.
This makes ID Bolt the fastest way to add ID scanning to a website, but it also means almost everything you might know about the ID Capture Web SDK does not apply. ID Bolt is a thin wrapper around ID Capture; it is not ID Capture.
ID Bolt (@scandit/web-id-bolt) |
ID Capture (@scandit/web-datacapture-id) |
|
|---|---|---|
| UI | Scandit-hosted pop-up | You build it, embedded in your page |
| Camera / view / overlay | Managed by Scandit | You manage Camera, DataCaptureView, IdCaptureOverlay |
| Entry point | IdBoltSession.create(url, opts) + await session.start() |
await DataCaptureContext.forLicenseKey(...) + await IdCapture.forContext(...) |
| Results | onCompletion(result => result.capturedId) callback in options |
idCapture.addListener({ didCaptureId, didRejectId }) |
| Documents | DocumentSelection.create({ accepted, rejected }) |
settings.acceptedDocuments = [...] |
| Scanner | new SingleSideScanner(...) / new FullDocumentScanner() (passed directly) |
settings.scanner = new IdCaptureScanner({ physicalDocument: ... }) (wrapper) |
Engine files / libraryLocation |
N/A (hosted) | You self-host the engine WASM files |