Skip to Content
Overview

Slade ID Web SDK

@sladeid/slade-id-sdk is a browser SDK for contactless biometric capture. It opens the user’s camera, runs face or hand detection in a guided capture loop, scores each capture on-device, and submits the result to the backend service for enrollment, 1:1 verification, or 1:N search. It also pairs with the SladeID companion application for partners who use physical USB fingerprint readers (see Use a USB fingerprint reader).

What it does

  • Camera-based face capture with passive anti-spoof.
  • Camera-based fingerprint capture — contactless, one to ten fingers, slap or single-finger.
  • On-device quality gating so a bad capture never costs a network round-trip.
  • Network calls to the Slade ID backend service: face enroll, match, search; fingerprint enroll, match.
  • A thin client that pairs with the SladeID companion application (Android or Windows) for physical USB fingerprint readers. All contactful capture flows require this companion app.

What it does not do

  • It does not persist biometric data on the client. Every capture is uploaded and discarded.
  • It does not run on the server. Capture sessions require MediaDevices, Worker, and WebAssembly.

End-to-end shape

┌─────────────┐ frame ┌────────────────┐ quality + spoof │ <video> │ ───────▶ │ CaptureSession │ ───────────────▶ on-device scoring │ (camera) │ │ (face | FP) │ └─────────────┘ └────────┬───────┘ │ result ┌──────────────┐ HTTPS + token ┌──────────────────────┐ │ SladeID │ ─────────────▶ │ Slade ID backend │ │ │ │ (enroll/match/search)│ └──────────────┘ └──────────────────────┘

Smallest meaningful example

import { SladeID } from '@sladeid/slade-id-sdk'; const sdk = new SladeID({ middlewareUrl: 'https://id.example.com', clientSecret: '<ClientSecret>', }); const video = document.querySelector<HTMLVideoElement>('#camera')!; const session = sdk.createFaceSession(video, { requireLiveness: true }); session.on('guidance', (g) => console.log(g.phase)); session.on('captured', async ({ result }) => { const enrolled = await sdk.enrollFace('subject-123', result); console.log('enrolled', enrolled.id); }); await session.start();

Next

  • Getting started — install, configure, and run your first face capture in under ten minutes.
  • Concepts — the handful of ideas the SDK assumes you understand.
  • API reference — every exported symbol.
Last updated on