Face recognition attendance built for MENA workers

Workers check in with their phone camera. AttendUX verifies live face (anti-spoofing with eye-blink + 3D depth checks), matches against employee reference photos via server-side InsightFace embeddings, and logs attendance — no shared devices, no fingerprint queues, no buddy punching. Pairs with ZKTeco face terminals at office gates if you already own them.

Why MENA teams pick AttendUX face recognition

Built around how MENA teams actually manage this day-to-day.

Phone camera + ZKTeco terminal both supported

Each employee can check in via their own phone's front camera (iOS + Android) OR via ZKTeco face terminal at office gate. Same employee reference photos work for both — no duplicate registration.

Liveness detection (anti-photo-spoof)

Eye-blink detection (EAR algorithm) + 3D landmark depth checks confirm a live human face, not a photo or video held up to the camera. Two liveness paths: strict (eye-blink) + loose (embedding-motion fallback for users with weak eyelid movement).

Server-side InsightFace embeddings

Industry-leading InsightFace neural network generates 512-dim embeddings for each face. Match-against-reference happens server-side (not on-device) — more secure, more accurate, auditable. Not ML Kit / TFLite / on-device.

Sub-2-second recognition

Cached registered-image embeddings (LRU 2000 per VPS, SHA-256 keyed) + 6-worker gunicorn scaling + circuit-breaker fault tolerance. Verification completes in under 2 seconds for cache hits.

Offline-capable mobile check-in

Phone-camera app queues face + GPS when no connection, syncs when online. Critical for construction sites, remote fields, poor-signal MENA zones. ZKTeco devices buffer scans and retransmit similarly.

Spoofing-attempt audit log

Blocked liveness-failure attempts logged with device + timestamp + photo. Repeated attempts flagged for manager review. Trusted-employee bypass available per memory `project_face_server_resilience_7_fixes`.

How AttendUX face recognition attendance works

1

Employee registers 3 reference photos

During onboarding, employee uses the mobile app to capture 3 reference photos (slight angle variation). Server generates InsightFace 512-dim embedding for each. Registration takes under 2 minutes.

2

Daily check-in via phone camera

Employee opens app, taps Check In. Front camera activates, system prompts "please blink" for liveness. Live face captured + sent to server (not stored on device).

3

Server-side liveness + embedding verification

Server runs: (1) liveness check (EAR eye-blink OR embedding-motion loose path), (2) generate embedding from captured face, (3) match against registered reference embeddings with threshold. Result in under 2 seconds.

4

Approved → attendance logged + GPS verified

Pass = attendance log entry created with timestamp, GPS location, employee ID. Fail = retry prompt, after 3 failures logged for review. Blocked attempts stored with photo for audit.

5

Optional ZKTeco face terminal at gate

If you own ZKTeco face devices (SpeedFace, SenseFace, etc.), they connect via ADMS Push to same AttendUX cloud, use same employee reference photos, log to same attendance timeline. Phone + terminal are interchangeable.

Who uses AttendUX face recognition attendance

  • Egyptian + Gulf SMEs wanting to end buddy-punching from fingerprint readers — face is harder to fake than fingerprints, phone camera is faster than queue at shared device.
  • Construction + oil & gas contractors with labour-accommodation workers — phone face check-in works offline on remote sites, ZKTeco face terminals at camp gates for shift start/end.
  • Hospitality + hotels with 200-500 multi-nationality staff — face works regardless of language, no shared password, no delays at kitchen/housekeeping shift changeover.
  • Healthcare + clinics where hand-sanitation between fingerprint uses is a hygiene issue — contactless face check-in is sanitation-safe, per-doctor timeline for shift tracking.
  • Retail + F&B chains with staff across multiple branches — face recognition confirms the actual employee is at the correct branch, not a colleague covering while employee is elsewhere.
  • Field teams (sales, delivery, security) — phone face check-in verifies identity at each customer/stop, breadcrumb timeline for manager visibility.

Technical details (for buyers evaluating)

  • Face engine: server-side InsightFace (industry-leading open-source neural network)
  • Embedding size: 512 dimensions per face
  • Liveness detection: EAR (Eye Aspect Ratio) blink detection — strict path; embedding-motion loose path for users with weak eyelid movement
  • Anti-spoofing: 3D landmark depth checks, pixel-std-dev checks replaced with EAR 2026-08-29
  • Infrastructure: 6-worker gunicorn, 15s timeout, LRU-2000 embedding cache per VPS (SHA-256 keyed), circuit breaker (3 fails/60s)
  • Processing time: <2 seconds for cache-hit recognition, <5 seconds cold
  • Face storage: embeddings only in production DB (not raw photos). Raw check-in photos retained 30-90 days for audit, then auto-deleted
  • Not used: ML Kit, TFLite, or any on-device inference (user tested + rejected for accuracy reasons)
  • ZKTeco compatibility: same employee reference works for mobile + ZKTeco face terminals via ADMS Push

Frequently Asked Questions

Can someone fool face recognition with a photo of me?

No. AttendUX uses liveness detection — EAR (Eye Aspect Ratio) blink detection confirms the camera is seeing a live blinking human face, not a static photo. A video of you blinking also fails because 3D landmark depth checks detect the flat vs 3D difference. Repeated spoofing attempts logged for review.

Is face recognition on-device or server-side?

Server-side. AttendUX uses InsightFace embeddings generated server-side (not ML Kit or TFLite on-device). More accurate, more secure (phone malware can't tamper with embeddings), auditable. The user has specifically tested on-device alternatives and rejected them for accuracy reasons.

How fast is face recognition verification?

Under 2 seconds for cached employee lookups (most daily check-ins). Cold path (new employee or first check-in of day) up to 5 seconds. Infrastructure: 6-worker gunicorn, 15s timeout, LRU-2000 embedding cache per VPS (SHA-256 keyed), circuit breaker for fault tolerance.

Can we use face recognition with existing ZKTeco face terminals?

Yes. ZKTeco face devices (SpeedFace, SenseFace, UA300, G3, F18, etc.) connect via ADMS Push to AttendUX cloud, use the same employee reference photos as the mobile app, and log to the same attendance timeline. Phone + terminal are interchangeable — same employee can use either on different days.

How much does AttendUX face recognition attendance cost?

Face recognition is bundled into all AttendUX plans at no extra cost — part of core attendance. See the pricing page for your region's rate. No per-face-match fee regardless of how many check-ins per day.

Start face attendance free trial

7-day free trial · no credit card · full feature access

Start face attendance free trial
Start Your Free Trial No card · Ready in 5 min
Start Free