niseCore component interactions

flowchart LR
  Client[WBF wrapper or application] --> VFM[VFM core]
  VFM --> Sensor[Sensor interface]
  VFM --> Matcher[Matcher interface]
  VFM --> Storage[Storage interface]
  VFM --> Auth[Authenticator modules]
  VFM --> IST[IST / NITE engineering paths]
  Sensor --> PAL[Platform abstraction layer]
  Matcher --> PAL
  Storage --> PAL
  Auth --> PAL
  PAL --> Transport[USB / SPI / secure runtime]
  Transport --> Firmware[Fingerprint sensor firmware]
  UTF[UTF and engineering tests] -. validates .-> VFM
  UTF -. validates .-> Sensor
  UTF -. validates .-> Matcher
  UTF -. validates .-> Storage

The arrows show dependency or runtime/control flow supported by the source structure and entrypoints at afd235712a9d. Dotted arrows mean configuration or validation rather than a runtime call. The firmware node is an external system: niseCore owns host command/update/status processing, not firmware implementation. See project firmware integration.

Interaction contracts

From/toContract
VFM coreOrchestrates device, capture, enrollment, match, storage and utility operations.
Sensor interfaceImplements sensor-family commands, secure sessions, capture and device communication.
Matcher interfaceExtracts/enrolls/matches feature sets through configured matcher backends.
Storage interfaceProvides host or device template persistence backends.
PALAbstracts runtime, crypto and sensor transport across Windows and secure/embedded environments.
AuthenticatorProvides in-sensor and Android HAL authentication support when enabled.
IST/NITEProvides sensor engineering-test script/execute engines and trusted runtime pieces.
UTF/testsSupplies test harnesses and engineering validation targets.

Evidence