Face Verification

Server-side YuNet + SFace 1:1 face matching (ONNX Runtime Node).

Live Engine

Engine

src/lib/verification/biometric-server/face (YuNet detector + SFace embedder, ONNX Runtime Node)

API

POST /api/public/biometrics/v1/enroll · /compare

Face Verification is a full 1:1 engine. On the production API path, YuNet detects a single face, 5-point landmarks drive a similarity transform for aligned SFace inference, and 128-dim embeddings are compared by cosine similarity. Templates are stored AES-256-GCM encrypted with versioned key rotation. A separate in-browser embedder module exists in the codebase but ships with no default model (fail-closed) until an operator supplies one they hold commercial rights to; it is not used by the public API today.

What is implemented

  • YuNet ONNX face detector
  • SFace embeddings (128-d)
  • Quality gate: brightness, sharpness, pose, face count
  • Encrypted storage in face_recognition_templates
  • Cosine similarity + decision threshold

Modules

src/lib/verification/biometric-server/face/
  yunet-detector.server.ts
  sface-embedder.server.ts
  pipeline.server.ts
  image-ops.server.ts

// In-browser embedder (disabled by default, no shipped model):
src/lib/verification/biometric-core/face-recognition/
  arcface-embedder.ts
biometric-core.api/v1 · isolated from Fraud Detection · mock adapters clearly labelled; certified providers register behind the same contracts.