trueface_liveness 0.3.2 copy "trueface_liveness: ^0.3.2" to clipboard
trueface_liveness: ^0.3.2 copied to clipboard

Camera-based face liveness detection with Google MediaPipe 3D face landmarker, randomized active challenges, and passive anti-spoofing.

0.3.2 #

  • Face Luminance Sampling & Threshold:
    • Implemented rotation-invariant $16 \times 16$ normalized grid sampling to measure luminance directly across the detected face bounding box on Android.
    • Raised minimum face luminance threshold to 85.0 to reliably detect dim/low-light environments matching iOS behavior.
    • Paused challenge progression and excluded candidate selfie frame storage while lighting is insufficient, preventing dark/noisy captures from triggering spoof rejections.

0.3.1 #

  • Attentive & Centered Selfie Selection:
    • Added face centering constraints ($\le 18%$ horizontal, $\le 20%$ vertical offset from frame center) with centering score bonus.
    • Heavily prioritized direct frontal camera gaze
  • Aspect Ratio Preservation:
    • Fixed iOS AVAssetWriter video encoder dimensions to dynamically downscale maintaining the exact $9:16$ portrait camera aspect ratio, preventing squished/stretched video uploads.
    • Synchronized AVCaptureVideoPreviewLayer bounds with Flutter platform view layout in CameraPreviewView.layoutSubviews().
    • Preserved full-frame upright selfie image without head clipping.
  • Lighting & Warmup Gating:
    • Added camera warmup threshold ($\ge 8$ frames) to prevent premature "Too dark" prompts while camera hardware auto-exposure stabilizes.
    • Fixed ambient luma fallback and ensured direct environmental hint dispatching on Android and iOS platform views.
  • Life-Cycle & Event Coverage:
    • Added LivenessInstructionEvent for real-time instruction display (e.g. during spectral color flash analysis).
    • Expanded LivenessFailureReason and VerificationStatus enums with human-readable descriptions and full wire parsing.
    • Prevented general framing events (FaceDetectedEvent, FaceLostEvent) from overwriting active challenge instructions in the UI.

0.3.0 #

  • Open Mouth Challenge Implementation: Enabled ML Kit contour and landmark detection (CONTOUR_MODE_ALL and inner/outer lip ratio analysis) to accurately detect and satisfy the openMouth challenge on Android and iOS.

  • Native SDK Upgrades: Upgraded underlying native dependencies to dev.trueface:trueface-liveness:0.3.1 on Android and 0.3.1 on iOS.

  • Dynamic Luminance & Gating Checks: Integrated dynamic camera frame luminance (luma) calculation to detect low-light/dark room environments as well as excessive glare/overexposure, preventing challenges from running until lighting conditions are optimal.

  • Native SDK Upgrades: Upgraded underlying native dependencies to dev.trueface:trueface-liveness:0.3.0 on Android and v0.3.0 on iOS.

  • Video Encoding & Buffer Pipeline: Realigned native Android and iOS media recording pipelines with clean surface encoding and synchronized frame acquisition.

  • Human-Friendly Gating & Challenge Hints: Updated challenge and positioning hint prompts for natural user instructions.

0.2.9 #

  • Attentive-Only Video Recording: Refactored the native recording sessions on both iOS and Android to only begin capturing/storing video frames once the user has become attentive and the first liveness challenge has officially started.
  • Native Dependency Upgrade: Upgraded native underlying TrueFaceLiveness dependencies to version v0.2.9 on iOS and 0.2.8 on Android.

0.2.8 #

  • Open-Eyes Upload Enforcement: Implemented logic to ensure that the uploaded face frame has the user's eyes open (alert check). The system now tracks and scores the frame with the widest open eyes as a baseline fallback instead of blindly uploading the final frame of the camera feed (which could catch the user mid-blink or looking away).
  • Native Dependency Upgrade: Upgraded native underlying TrueFaceLiveness dependencies to version v0.2.8 on iOS and updated build configurations on Android.

0.2.7 #

  • iOS Framework Fix: Updated the underlying TrueFaceLiveness iOS framework dependency to v0.2.7, which restores the missing Info.plist inside TrueFaceLiveness.framework to prevent compiler and bundling errors on iOS devices and simulators.
  • SPM & CocoaPods Target Alignment: Refactored the internal podspec and SwiftPM Package.swift targets to download and resolve v0.2.7 of the public iOS binary distribution.

0.2.6 #

  • Custom Color Themes: Added TrueFaceColors for configuring UI colors (primaryColor, backgroundColor, textColor, accentColor, cardBackgroundColor) natively on both iOS and Android.
  • Upload Progress & Events: Exposed LivenessUploadingEvent (0–100% upload progress) and LivenessVerifyingEvent in LivenessEvent.fromMap for real-time loading UI overlays.
  • Video Quality & Bitrate Optimization: Optimized video recording resolution to SD (480p) and capped bitrate to 500 kbps, significantly reducing uploaded MP4 file sizes (~300–400 KB) and accelerating uploads.
  • SDK Version Alignment: Updated underlying native dependencies to dev.trueface:trueface-liveness:0.2.6 on Android and 0.2.6 on iOS.

0.1.0 #

  • Initial release of the TrueFace Flutter liveness SDK.
  • Add configurable randomized blink, smile, turn, and nod challenges.
  • Add passive anti-spoof scoring and captured-face image results.
  • Support hosted verification sessions with encrypted media uploads.
  • Support Android with CameraX and ML Kit Face Detection.
  • Support iOS 15 and later with AVFoundation and Apple Vision.
  • Add Swift Package Manager support while retaining CocoaPods compatibility.
  • Distribute the native iOS SDK through the public ios-artifact package.
2
likes
160
points
213
downloads

Documentation

API reference

Publisher

verified publishertrueface.dev

Weekly Downloads

Camera-based face liveness detection with Google MediaPipe 3D face landmarker, randomized active challenges, and passive anti-spoofing.

Homepage
Repository (GitHub)
View/report issues

License

Apache-2.0 (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on trueface_liveness

Packages that implement trueface_liveness