For the complete documentation index, see llms.txt. This page is also available as Markdown.

Changelog

[2.2.0] - 2026-08-12

Added

  • Public endpoints GET /api/v1/iad/metrics and GET /api/v1/iad/metrics/prometheus for operational snapshots and exposure in Prometheus format.

  • Unit and integration tests for health snapshots and metrics endpoints.

Changed

  • GET /api/v1/iad/health keeps the engine health check active, while /metrics exposes cached snapshots and in-memory counters suitable for frequent scraping.

  • Updated the internal engine.

[2.1.0] - 2026-07-20

Added

  • Optional support for JWT authentication.

  • Unit tests covering the runtime precedence of the JWT configuration and the redaction/rejection behavior of the configuration endpoint.

Changed

  • Public configuration endpoints now omit JWT authentication keys in the responses from GET /api/v1/iad/config.

  • Public configuration updates via POST /api/v1/iad/config now reject JWT authentication keys; those values must be configured only at startup via config.json or the environment variables FACEPHI_IAD_REST_*.

[2.0.0] - 2026-05-26

Breaking changes

  • Version 2.0.0 breaks compatibility of the public Rest API with the series 1.x.x: endpoint names, multipart request fields, and the correct response payloads changed and require client migration.

Added

  • Public liveness response mapping with Facephi-style fields diagnostic, reason, probability, score, sdkDuration and queueDuration.

  • Experimental replay-attack mitigation documented as a public capability of facephi-iad-service, with startup environment variables FACEPHI_IAD_REPLAY_ATTACK_CHECKER_ENABLED and FACEPHI_IAD_REPLAY_ATTACK_TOLERANCE_TIME.

  • Unit tests for Engine success payload mapping and prevention of public field leaks.

  • Unit tests for the required multipart field contract capture.

Changed

  • Public operational routes now use /api/v1/iad/liveness/evaluate and /api/v1/iad/extract.

  • Multipart endpoints now require the field capture at runtime and reject legacy requests that include only file.

  • Startup failures now propagate to main instead of exiting from the service startup code.

  • IAD provider validation errors are normalized to Facephi/SelphID-style response values.

  • Rejected expired captures by the experimental replay protection now return the public HTTP message 400 documented Replay attack detected.

  • The public liveness documentation now lists the exact values of reason returned by the service: None, Unknown, UntrustedEnvironment, SuspiciousActivity, UntrustedDevice, SdkIntegrityViolation, UntrustedCorruptedPayload, UntrustedContent and UntrustedContentLowConfidence.

  • The public documentation and OpenAPI examples now describe the new public response contract instead of the provider payloads.

Fixed

  • Signal handling no longer invokes logging, shutdown routines, or std::exit from the signal handler.

Removed

  • The public Engine-shaped success fields capture_liveness, capture_type, rejection and mime_type.

[1.2.0] - 2026-04-30

Security

  • The values LICENSE_ID and LICENSE_DATA present in the License file are ignored.

Changed

  • The API documentation now includes the IAD engine rejection reasons and the mappings of error_code validation errors for service responses.

  • Swagger/OpenAPI examples now document HTTP errors 400 originating from the engine for check-capture and extract-image.

  • The demo documentation was improved by adding modification of the IP addresses of the required services.

Fixed

  • The public documentation and Version metadata now reference Version consistently. 1.2.0 consistently.

  • The installation and OpenAPI examples were aligned with the current runtime defaults and the endpoint paths /api/v1/iad/*.

[1.1.1] - 2026-03-30

Changed

  • IAD engine update to Version 2.5.3.

Fixed

  • The Docker registry paths were corrected to use docker-pro-fphi throughout the documentation and release notes.

  • The OpenAPI specification was updated with precise request/response schemas that match the real behavior of the endpoints.

  • The API documentation was improved with examples of the configuration and health check endpoints.

[1.1.0] - 2026-03-20

Added

  • Runtime configuration override via environment variables.

  • License error translation utilities and normalized license error reporting for clearer operational diagnostics.

Changed

  • IAD engine update to version 2.5.2.

  • Improvements in license management to support offline validation scenarios and provide clearer error reporting.

  • Simplified Dockerfile: base image change, better package management, and runtime dependency handling.

Fixed

  • Docker runtime and base image hardening updates.

  • Normalization of REST proxy errors and consistent error creation/reporting paths.

  • Reduction of excessive verbose logging in Docker checks and engine activation flows.

[1.0.0] - 2026-02-03

Added

  • Automatic engine activation from license metadata

  • Docker environment detection and automatic engine initialization

  • ProcessExecutor facade for background process management

  • Filesystem compatibility layer for GCC 7

Changed

  • INCOMPATIBLE CHANGE: All endpoints were standardized with the prefix /iad (for example, /api/v1/iad/check-capture)

  • Unified namespace structure across all endpoints

  • Improved engine health check timeouts

  • Improved logging in the engine activation process

  • Simplified ProcessExecutor implementation

  • Refactoring of internal REST proxy logging

Removed

  • INCOMPATIBLE CHANGE: The Endpoint was removed /extract_data (consolidated functionality)

Fixed

  • Filesystem compatibility issues with older GCC versions

  • Timing synchronization in engine initialization in Docker environments

[0.0.1] - 2026-01-29

Added

  • Initial release of the IAD Service Rest API

  • Endpoint /api/v1/iad/check-capture for liveness detection and injection attack verification

  • Endpoint /api/v1/iad/extract-image for extracting images from validated captures

  • Management Endpoint /api/v1/iad/version for the License Version and status

  • Management Endpoint /api/v1/iad/health for health monitoring

  • Management endpoints /api/v1/iad/config (GET/POST) for configuration management

  • Connection pool for communication with the engine

  • Automatic retry mechanism with configurable backoff

  • Dynamic configuration updates without restarting the service

  • Docker-based deployment with Ubuntu 24.04

  • Support for online and offline license validation

  • Full logging with configurable levels and rotation

  • OpenAPI 3.0 specification (Swagger documentation)

Last updated