@microblink/blinkid-verify
v3.21.1
Published
All-in-one BlinkID Verify browser SDK for fast and accurate ID verification in web applications.
Readme
@microblink/blinkid-verify
The all-in-one BlinkID Verify browser SDK package. It provides a high-level, easy-to-use API for identity document scanning and recognition in web applications, bundling all required components and resources for a seamless integration experience.
Overview
- Combines the BlinkID Verify engine, camera management, user experience (UX) management, and all required resources.
- Handles initialization, licensing, camera selection, scanning, and user feedback UI.
- Suitable for most use cases—just add your license key and start scanning.
What's Included
@microblink/blinkid-verify-core: Core scanning engine and low-level API.@microblink/blinkid-verify-ux-manager: User experience and feedback UI.@microblink/camera-manager: Camera selection and video stream management.
Installation
Install from npm using your preferred package manager:
npm install @microblink/blinkid-verify
# or
yarn add @microblink/blinkid-verify
# or
pnpm add @microblink/blinkid-verifyUsage
A minimal example:
import { createBlinkIdVerify } from "@microblink/blinkid-verify";
const blinkidVerify = await createBlinkIdVerify({
licenseKey: import.meta.env.VITE_LICENCE_KEY,
});For more advanced usage or integration with your own UI, see the example apps and the documentation for the underlying packages.
Documentation
Full documentation, API reference, and integration guides are available at docs.microblink.com.
Example Apps
Explore example applications in the repository under apps/examples:
apps/examples/blinkid-verify-simplefor a minimal integration.apps/examples/blinkid-verify-advanced-setupfor advanced low-level setup and customization.
Hosting Requirements
Serve the
public/resourcesdirectory as-is; it contains all required Wasm, worker, and resource files.Must be served in a secure context.
For multithreaded builds, your site must be cross-origin isolated:
Cross-Origin-Embedder-Policy: require-corp Cross-Origin-Opener-Policy: same-origin
License Key
A valid license key is required. Request a free trial at Microblink Developer Hub.
Development
To build the package locally:
Install dependencies in the monorepo root:
pnpm installBuild the package:
pnpm build
The output files will be available in the dist/, types/, and public/resources/ directories.
Browser Support
BlinkID Verify supports camera-based scanning in these browser versions and newer:
- Chrome / Chromium 96 (desktop and Android)
- Edge 96
- Opera 84
- Firefox 132 (desktop)
- Safari 16.4 (macOS)
- iOS Safari 16.4
The SDK must run in a
secure context
because browsers only expose camera APIs such as getUserMedia() on HTTPS or
localhost.
WebAssembly runtime
The SDK ships two Wasm build variants (advanced and advanced-threads). The
runtime selects the best supported variant automatically.
advanced
Requires the Emscripten-generated Wasm feature set used by the SDK plus fixed-width SIMD.
advanced-threads
Requires all advanced features plus
Wasm threads and atomics. Multithreaded Wasm
also requires cross-origin isolation headers
(Cross-Origin-Opener-Policy: same-origin and
Cross-Origin-Embedder-Policy: require-corp).
Safari is excluded from advanced-threads even when it reports Wasm thread
support. Emscripten advanced-threads builds use pthreads that spawn workers
from inside a worker, and Safari historically lacked reliable nested worker
support when Wasm threads shipped in Safari 16. There are also known Safari
issues with shared memory in Emscripten pthread builds
(emscripten-core/emscripten#19374).
For these reasons the runtime falls back to the single-threaded advanced
variant on Safari instead of loading advanced-threads.
Firefox for Android
Firefox for Android is not supported for camera-based scanning. The SDK uses
@microblink/camera-manager, and Firefox Android can hide video input devices
from navigator.mediaDevices.enumerateDevices() before an active camera
capture. This makes camera device discovery and permission handling unreliable.
Mozilla tracks this behavior as intentional and resolved it as WONTFIX because
exposing device information before camera access has fingerprinting
implications:
Bugzilla 1611998.
