Prerequisites
Confirm each of these before you start the Getting started flow.
Browser
A modern browser with getUserMedia and WebAssembly:
- Chrome 91 or newer
- Firefox 89 or newer
- Safari 16.4 or newer
- Edge 91 or newer
See Browser support matrix for per-feature coverage.
HTTPS
Camera access through getUserMedia is blocked on plain HTTP origins. You need one of:
- HTTPS in production.
http://localhostorhttp://127.0.0.1for local development.
A token provider
The SDK authenticates every backend call with a Keycloak bearer token in the Authorization: Bearer header. The SDK never holds a secret: your backend mints a short-lived token, and the SDK consumes it through the auth.tokenProvider.getToken() callback, re-requesting a fresh one whenever the backend returns a 401.
You need a backend endpoint that mints these tokens for your integration. See Authentication for how to set up the token broker and wire it to getToken().
Private registry access
The SDK is published to https://npmjs.slade360.co.ke/. You need credentials for that registry. Configure once in your project:
npm config set registry=https://npmjs.slade360.co.ke/ --scope=@sladeidOr pass --registry on each install.
A <video> element
The capture sessions attach to an HTMLVideoElement you provide. The element must be in the DOM before you call session.start(). The element does not need to be visible — for headless capture flows you can position it off-screen — but it must exist.