One drop-in widget

Full identity verification.
One line of code.

React component, script tag, iframe, or REST API — the same FaceID KYC flow, in your product, in minutes.

Get embed code

FaceID + liveness

Document scan, face match, and liveness in one flow.

Fully themeable

Light, dark, or custom brand colors. No klyr branding.

All frameworks

React, Vue, vanilla JS, or iframe — same experience.

Mobile-first

Responsive design with mobile capture support.

Live preview

See it in action.

The exact widget your users see — document upload, FaceID scan, liveness check, and result.

  • Intro → Personal details → Document → Selfie → Review
  • Animated face scanning with liveness prompts
  • Real-time processing with per-check progress
  • Approved, rejected with reasons, or failed with retry
Embed code

KLYR Verify widget

Click below to launch the full flow in a modal — exactly as it appears inside your app.

Copy & paste

Choose your integration.

Same widget. Same compliance. Four ways to embed.

$ npm install @klyr/widget
verify.tsx
import { KlyrWidget } from "@klyr/widget";

export default function VerifyPage() {
  return (
    <KlyrWidget
      apiKey="pk_live_••••••"
      environment="production"
      theme="light"
      onComplete={(result) => {
        // { submission_id, status }
        console.log(result);
      }}
    />
  );
}
All integrations include: AES-256 encryption, NDPR compliance, signed webhooks, immutable audit logs, and 15-minute signed file URLs.