This packages defines the interfaces that must be implemented by third-party providers to support the features of Quality, Segmentation, Sequencing, Identification, Templating and Verification.

The following guidelines must be adhered to while implementing these APIs:

  1. Stateless – All implementations must be stateless and should not have any session-like behaviour.
  2. Thread-safe – All implementations must be thread-safe and should be designed to work in a multi-threaded environment. In other words, API calls should not step on each other's memory space when invoked from multiple threads.
  3. Singleton – All implementations must be singleton and should not require creation of new instances for repeated uses. In other words, cost of invocation of the API should not involve cost of initialization of engine. A single instance of engine should be able to server multiple API calls simultaneously.
  4. Independent – All implementations should be independent of each other, and should be designed such that they can be selectively integrated into one or many host applications. Host application should be able to configure the engine to:
  5. Efficient – All the APIs should be conservative in their usage of system resources, and should avoid unnecessary use of resources such as memory.
  6. Light weight - Extraction and Verification engines (IITVEngine running in Extraction or Verification mode):
  7. Fast response time for verification: IITVEngine will be used by Auth server 2.0 for biometric verification. Following are the expected response times for IITVEngine to perform biometric verification.