Skip to main content
The Web SDK renders the camera view, guides the user, captures a frame from the live stream (never a file upload), and submits it with anti-injection signals. Your page gets a callback with the session id — the decision stays server-side. Requires a browser with camera access over HTTPS. You need a clientToken (sst_…) minted by your backend first.

The completion callback

onError receives { code, message } using the standard error codes — e.g. SESSION_EXPIRED means mint a fresh session, retryable 422s are handled inside the SDK’s retake flow.

Behavior notes

  • The SDK calls GET /v1/verification_sessions/session_info at mount to validate the token and fetch the session nonce before opening the camera — an expired or used session fails fast with no camera prompt.
  • Retakes for user-fixable problems (no face, blur, backlight) are built in, up to the session’s 3-attempt limit.
  • The SDK never exposes scores or decisions to the page. Always verify server-side.
Prefer zero frontend code? Use the hosted page — same capture flow, served from our origin.