zepiris  by zepto-labs

Scalable face authentication platform for identity verification

Created 2 months ago
346 stars

Top 79.9% on SourcePulse

GitHubView on GitHub
Project Summary

ZepIris is a purpose-built, open-sourced face authentication platform designed for identity verification and attendance tracking at operational scale. It addresses the need for a robust, end-to-end solution that functions effectively on budget smartphones, even in low-light conditions and under high concurrency. The platform simplifies complex workflows by handling face detection, embedding generation, vector search, and automated content safety checks, offering a unified alternative to stitching together multiple vendor solutions.

How It Works

The system comprises two independent FastAPI microservices: a Main API (port 8000) and an ML Inference service (port 8001). The ML service performs computationally intensive tasks like face detection, generating 512-dimensional embeddings using AuraFace-v1 or InsightFace's buffalo_l, and executing content safety checks (NSFW, spoof, blur). The Main API orchestrates user-facing operations, including CRUD for face records, image storage via S3-compatible MinIO, and efficient 1-to-N face vector search using Milvus with cosine similarity. This architecture enables independent scaling of services, optimized resource utilization (e.g., GPU for ML), and parallel processing of image quality assessments.

Quick Start & Requirements

Installation is streamlined via Docker Compose, launching all dependencies (Milvus, MinIO, Etcd, API, ML inference) with docker-compose up -d. Prerequisites include Python 3.10–3.14, Poetry 2.x for dependency management, and Docker. Resource requirements start at 4GB+ RAM for Milvus and 10GB+ free disk space. Interactive API documentation is available at http://localhost:8000/docs (Main API) and http://localhost:8001/docs (ML Inference).

Highlighted Details

  • Face Embeddings: Utilizes state-of-the-art AuraFace-v1 or InsightFace's buffalo_l models for 512-dimensional embeddings.
  • Vector Search: Integrates Milvus for high-performance 1-to-N cosine similarity searches.
  • Comprehensive IQA: Includes NSFW, anti-spoofing, and blur detection via a dedicated ML inference service.
  • Scalable Architecture: Deployed as independent microservices for flexible scaling and resource allocation.
  • Data Persistence: Leverages S3-compatible MinIO for robust image storage.
  • Multi-tenancy: Supports isolated namespaces for secure per-tenant data management.

Maintenance & Community

The project is maintained by the Zepto Data Science Team. Community support is available through GitHub Issues and Discussions. The project was last updated in April 2026.

Licensing & Compatibility

This project is licensed under the MIT License, permitting broad use, including commercial applications, without copyleft restrictions.

Limitations & Caveats

GPU acceleration requires explicit configuration (ML_SERVICE_ML_DEVICE=cuda:0) and matching PyTorch/driver versions. ML models may take 30-60 seconds to load on initial startup, during which ML endpoints return 503 Service Unavailable. The system relies on specific Python versions (3.10–3.14) and Poetry 2.x.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
15 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.