vibecheck/packages/react
TransQuinnFTW 64a2d10bfa chore(components): 🔧 Update UI instructions and gesture overlay components for VibeCheck component
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-02-13 07:10:46 -08:00
..
src chore(components): 🔧 Update UI instructions and gesture overlay components for VibeCheck component 2026-02-13 07:10:46 -08:00
test test(react): expanded test suite with component-specific assertions and edge-case validation for core React utilities 2026-02-12 00:57:42 -08:00
lilithftw-vibecheck-react-0.1.0.tgz chore(vibe-check, core): 🔧 Implement vibe-check auth verification system with session management, endpoints, and React components 2026-02-06 03:52:40 -08:00
package.json chore(deps): 🔧 Update dependencies in package.json files 2026-02-12 00:16:45 -08:00
README.md chore(src): 🔧 Update documentation files in src directory (12 markdown files) 2026-02-11 23:08:02 -08:00
tsconfig.json chore(react): 🔧 Update TypeScript/Vitest configs in React package to enforce stricter types, optimize tests, and align demo builds 2026-02-12 00:25:55 -08:00
tsup.config.ts chore(react): 🔧 Update tsup config for React build optimizations (adjusting output paths, bundling, and TypeScript compilation) 2026-02-08 18:44:48 -08:00
vitest.config.ts chore(react): 🔧 Update Vitest config for React testing compatibility 2026-02-12 01:03:46 -08:00

@lilithftw/vibecheck-react

License: MIT npm version

React components and hooks for VibeCheck liveness detection. Privacy-first, client-side only.

Installation

bun add @lilithftw/vibecheck-react
# or
npm install @lilithftw/vibecheck-react

Peer Dependencies

  • react >= 18.0.0
  • react-dom >= 18.0.0

Quick Start

import { VibeCheck } from '@lilithftw/vibecheck-react';

function RegistrationPage() {
  return (
    <VibeCheck
      onSuccess={(result) => {
        console.log('User verified!', result.confidence);
      }}
      onFailure={(error) => {
        console.error('Verification failed:', error);
      }}
    />
  );
}

Components

<VibeCheck />

High-level component with built-in UI for liveness detection.

Prop Type Default Description
onSuccess (result: LivenessResult) => void required Called when liveness check succeeds
onFailure (error: VibeCheckError) => void required Called when check fails or errors
onStatusChange (status: CheckStatus) => void Called on status transitions
config LivenessOptions {} Detector configuration
theme 'light' | 'dark' | Theme 'light' UI theme
className string Custom CSS class
style React.CSSProperties Custom inline styles
autoStart boolean false Auto-start check on mount
showVideo boolean true Show video preview
instructions string | React.ReactNode Custom instruction text

Hooks

useVibeCheck(options?)

Headless hook for building custom UI around liveness detection.

const {
  isInitialized,
  isChecking,
  status,      // 'idle' | 'initializing' | 'ready' | 'checking' | 'success' | 'failure' | 'error'
  result,      // LivenessResult | null
  error,       // VibeCheckError | null
  startCheck,  // () => Promise<void>
  reset,       // () => void
  cleanup,     // () => void
} = useVibeCheck({ confidenceThreshold: 0.75 });

useLivenessDetector(options?)

Low-level hook exposing the LivenessDetector instance directly for full control.

const detector = useLivenessDetector({ debug: true });
// Returns LivenessDetector | null

Privacy

All biometric processing happens client-side in the browser. No video, images, or facial data is ever transmitted to servers. Only a boolean result, confidence score, and timestamp cross the network boundary.

See the full Privacy Documentation.

Documentation

License

MIT