Enroll vs verify vs identify
Three operations, three problem shapes. These are the camera-based face methods on SladeID:
| Operation | Method | Input | Returns | When to use |
|---|---|---|---|---|
| Enroll | enrollFace | enrolleeId + capture | { id, enrollee, createdAt } | First time you see this subject |
| Verify (1:1) | matchFace | enrolleeId + capture | { matched, distance, threshold } | Subject claims an identity; confirm it |
| Identify (1:N) | searchFace | capture + topK | { matched, candidates[] } ranked | Subject is anonymous; find them in a corpus |
1:N fingerprint identification runs through the USB reader (reader.search()), and it returns a single matched enrollee, not a ranked candidate list. See the contactful table below.
Typical latency:
- Enrollment ~600 ms.
- 1:1 verification ~400 ms.
- 1:N search depends on corpus size. Plan for hundreds of milliseconds at small corpus sizes; benchmark for your corpus.
The same three operations on the contactful (USB reader) path
The shapes above describe the camera-based face surface. Partners using physical USB scanners drive enroll, verify, and identify through FingerprintReaderClient instead — capture happens on the hardware, not the camera:
| Operation | Reader method / session | Returns |
|---|---|---|
| Enroll | enroll / createEnrollmentSession | EnrollmentResult |
| Verify | verify / createVerificationSession | { matched, matchLogId? } |
| Identify | search / createSearchSession | { found, enrollee? } |
On the reader path, enrolling a finger takes two captures: enroll() stores an unverified print, then a second verify() capture promotes it to verified and completes that finger. The same verify() also confirms a claimed identity (1:1) once a subject is enrolled — see Fingerprint enrollment lifecycle.
The consent and law considerations below apply identically to both paths. See Use a USB fingerprint reader for worked examples.
Consent and law
1:N identification has consent implications that 1:1 verification does not. With verification the user asserts an identity and the system confirms or denies it; the user knows they are being checked against a single record. With identification the user does not assert an identity, and the system searches across the population.
Some jurisdictions require explicit opt-in for biometric search across a population, and some require additional disclosures. Confirm your compliance posture before enabling 1:N flows.
Used in
- Enroll a face
- Verify a face (1:1)
- Search faces (1:N)
- Use a USB fingerprint reader — enroll / verify / search on the contactful path
- Fingerprint enrollment lifecycle — the two-capture enrollment journey on the reader path