Skip to main content
On desktop platforms (Windows, Linux, macOS), the SDK doesn’t drive USB hardware directly. Card reading and fingerprint capture run through small background services you install once per machine; the SDK discovers and talks to them locally. You install only the services for the hardware you use.
This applies to desktop apps (the C, C#, Swift, and Kotlin/Java desktop SDKs) and to the web SDK (which also needs the browser native host). On Android, hardware support ships as app/service packages instead — see the Android guide.
These services are a prerequisite for hardware. A card reader or fingerprint sensor will not be discovered until the matching service is installed and running — listSmartcardReaders() / listFingerprintReaders() simply return empty. Manual-entry verification needs no services.

Available services

PackageHardware it servesPlatforms
mbkyc-pcsc-serviceAny PC/SC smart card readerWindows · Linux · macOS
mbkyc-ccid-serviceCCID-over-USB readers (Linux fallback, see below)Linux
mbkyc-morpho-serviceIDEMIA (Morpho) MSO 1350 fingerprintWindows · Linux · macOS
mbkyc-suprema-serviceSuprema BioMini fingerprintLinux · macOS (Windows: driver gap)
mbkyc-zhiang-serviceNEXUS / Zhiang fingerprintLinux (Windows: driver gap)
mbkyc-web-hostBrowser extension native host (web SDK)Windows · Linux · macOS
mbkyc-capi / libmbkyc-devC API library + headers (for C/C++ integrators)Windows · Linux
Linux CCID fallback. macOS and Windows ship class-compliant CCID drivers that handle any CCID-conformant reader automatically. On Linux, pcscd/libccid only bind readers on their whitelist — install mbkyc-ccid-service alongside mbkyc-pcsc-service to cover the rest. The two coexist; each claims only readers it can, so a device never appears twice.
Windows driver gap — Zhiang & Suprema. The Zhiang ZA-K-240715 and Suprema BMS-2 (V408) fingerprint readers need a WinUSB driver that is not yet bundled in the MSI/Chocolatey packages. On a stock Windows machine these devices show Status=Error until the driver is installed manually. The PC/SC and Morpho services install cleanly with no custom driver. See Supported devices.

Which services do I install?

You need…Install
Read Emirates ID from a card readermbkyc-pcsc-service (+ mbkyc-ccid-service on Linux for non-whitelisted readers)
Fingerprint with IDEMIA MSO 1350mbkyc-morpho-service
Fingerprint with Suprema BioMinimbkyc-suprema-service
Fingerprint with NEXUS / Zhiangmbkyc-zhiang-service
Browser (web SDK)mbkyc-web-host (+ the card/fingerprint services above)

Install by platform

macOS (.pkg)

Signed .pkg installers, plus launchctl service management.

Linux (apt / yum)

Debian/Ubuntu via apt, RHEL/Fedora via dnf, plus service management.

Windows (Chocolatey / MSI)

Chocolatey, the MSI installer, and Windows service management.