Skip to main content

Architecture

The Biometric Platform for ID Issuance is built on the Innovatrics ABIS platform — a two-tier system consisting of a platform layer for identity lifecycle management and an ABIS biometric backend for matching, deduplication, and template management. The platform layer orchestrates the complete applicant journey from multi-channel enrollment through population-scale deduplication to ID credential issuance, while the biometric backend provides the matching engine that underpins every identity assertion.

Platform layer

Integration service

The integration-service is the primary API entry point for all external systems. It exposes a REST API following OpenAPI Specification 3.0 with OAuth authentication, and a GraphQL interface for internal service communication. Enrollment stations, portable enrollment kits, Android handheld devices, civil registry systems, and document issuance authorities all connect through this service.

Data service

The data-service owns the authoritative identity store. It provides a GraphQL interface to the integration layer and manages persistence of applicant records, biometric templates, linked travel documents, workflow state, and issuance history to the underlying SQL database.

Deduplication service

The deduplication-service is the central integrity gate of every ID issuance programme. Before any credential is issued, every enrolled applicant's biometric templates are searched 1:N against the full population database to detect duplicate registrations. This prevents multiple IDs being issued to the same person and cleans incoming data from legacy systems before expanding enrollment.

OutcomeMeaningNext step
New identityNo existing match foundApplicant record created; issuance proceeds
Verified identityMatch found; data consistentExisting record confirmed; credential issued
Duplicate requiring adjudicationMatch found; data inconsistentRecord flagged; routed to supervisor for manual review

Synchronization service

The synchronization-service distributes identity subsets from the central database to regional enrollment stations and service points. This enables local 1:1 verification and enrollment at distributed sites while keeping the central database as the authoritative source of record.

Authorization service

The authorization-service handles OAuth-based access control across all API endpoints. Policy evaluation is delegated to Open Policy Agent (OPA), enforcing fine-grained permission rules across enrollment channels, adjudication queues, and administrative functions. Keycloak provides OAuth/OIDC identity management for all operator and system accounts.

Enrollment and operator interface

ComponentRole
enrollmentMulti-channel capture orchestration: stationary kiosk (counter-based), portable enrollment kit, and Android handheld device. Captures face (with liveness detection), fingerprints, iris, and contactless palm
adjudicationSplit-screen face and fingerprint comparison interface for supervisor review of deduplication exceptions and conflict resolution
administrationWorkflow management, priority processing queues (including VIP issuance), system configuration, and operational reporting
applicantsApplicant record browser covering the full lifecycle: registration status, linked documents, biometric template references, and issuance history
queuesWorkflows browser, overview of resolve queues, hits and performed actions

WebAFIS

webafis provides browser-based access to the ABIS backend for supervisors and administrators. It consists of a web server for interactive operator access and background workers for asynchronous processing — including batch deduplication jobs, scheduled gallery maintenance, legacy data import runs, and reporting pipelines.

ABIS biometric backend

Fast service

The fast-service is the biometric API consumed by the platform layer. It exposes:

  • Read operations (Identify, Verify, Get) — biometric search and retrieval against the population gallery
  • Write operations (Create, Update, Delete) — template ingestion on enrollment, record updates, and deletion

Extractor

The extractor performs biometric feature extraction from raw images, producing templates for all enrolled modalities: face, fingerprint (rolled and plain), iris, and palm. Extraction includes ICAO facial image compliance checks, NFIQ-based fingerprint quality scoring, and ISO/ICAO compliance validation for biometric passport and travel document issuance.

Matcher

The matcher is the multimodal biometric matching engine for Faces, Fingerprints, Palmprints, and Irises. It is deployed as a horizontally scalable cluster, coordinated by ZooKeeper, and backed by Apache Ignite distributed in-memory caches. The active cache architecture allows the full population gallery — spanning tens of millions of records — to be searched at high throughput, achieving thousands of full searches per minute.

Image service

The image-service handles storage and retrieval of raw biometric images: enrollment photos, fingerprint scans, iris captures, and palm images. Image storage is independent of the biometric template store and can be backed by the MinIO object store or direct database storage depending on deployment configuration.

Deployment architecture

All inbound traffic enters through Traefik, the ingress reverse proxy. Traefik handles TLS termination, load balancing across service instances, and routing to the appropriate backend.

The data-service persists structured applicant records to a SQL database (Oracle, PostgreSQL, or MSSQL). Biometric images and binary artifacts are stored in MinIO (S3-compatible object storage). Regional enrollment stations may run a local MinIO instance that replicates to the central store.

The biometric matching pipeline uses Apache Ignite distributed in-memory caches to keep hot biometric templates immediately available — separate caches for fingerprint, iris, and face templates. ZooKeeper coordinates Ignite cluster membership and Matcher node topology. Cache Persistence writes Ignite state to durable storage so caches can be warmed from disk on service restart without a full gallery reload from the database.

RabbitMQ provides an asynchronous message bus for enrollment events, deduplication job submissions, and workflow state transitions.

Kubernetes handles workload orchestration and service discovery.

Observability is provided by Jaeger and OpenTelemetry for distributed tracing and Grafana for metrics dashboards. Vault manages secrets, certificates, and encryption keys across the deployment.

Disaster recovery

The platform supports an active-active configuration with a primary data center (DC) and a disaster recovery site (DR), each running a complete stack.

ResourceReplication mechanism
SQL databaseOracle Data Guard or equivalent — synchronous or asynchronous replication to the DR SQL instance
MinIO object storeSide-bucket replication — enrollment images and binary artifacts mirrored continuously to the DR cluster
Matcher clusterIndependent Matcher instances run in the DR site; Ignite caches are populated from the replicated template store

In active-active mode the DR site can independently serve enrollment, deduplication, and verification requests, providing zero-downtime availability across large national programmes where continuous operation is a regulatory requirement.

See also

  • High Level Overview — licensed module breakdown for interface, biometric processing, enrollment, and infrastructure
  • Enrollment Channels — stationary stations, portable kits, and remote digital onboarding channel details