niseCore architecture
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
Boundaries
Change-safety rules
- Follow calls and data across component boundaries; a changed header or customer property can affect multiple binaries.
- Keep source revision and branch explicit because configured branches differ substantially.
- Validate both the component and its direct consumers.
- Treat optional/customer-selected components as conditional, not universally deployed.