Confirm a real, live person — and match them to their ID.

Facededup is drop-in face liveness plus NIN, BVN and document verification. Stop impersonation and bots at signup, in seconds, from any device.

✓ NDPA-aligned ✓ NCC active liveness ✓ NIN & BVN ✓ Signed results
Built for Banks Fintechs & wallets Lenders Crypto & exchanges Gov & eKYC
Why Facededup

Onboard more real users. Block the fakes.

Integrate Facededup into your mobile or web app to capture a live face, prove it's a real person, and match it to a government identity — without sending users to a branch.

< 3s
Typical liveness check
1:1 & 1:N
Face match to NIN/BVN or by face alone
On-device
Face engine runs in-app, even offline
4 ways
Android · iOS · Web · REST
Capabilities

Everything you need to trust who's on the other end

Active face liveness

Randomized challenge–response (blink, smile, turn) proves a live human is present — not a photo, video or screen replay.

Anti-spoof & deepfake

Presentation-attack, injection and AI-generated-content detection layered on top of the live challenge.

NIN & BVN match

1:1 match the live selfie to the photo held for a NIN or BVN, or resolve identity from the face alone (1:N).

Document + MRZ + NFC

Read and validate ICAO-9303 passports & IDs (TD1/TD2/TD3 check digits), with optional NFC chip authentication.

Address verification NEW

Geocode a postal address and confirm the subject's on-site device GPS is within range — OkHi-style proof of address.

Tenant review console

A live case queue, analytics and human review — every referred decision gets a one-click approve/decline with full audit.

Signed, single-use results

Every verdict is an Ed25519-signed, single-use token you can verify offline — bind a result to a request and redeem it once.

How it works

From tap to trusted identity in four steps

1

Consent

Record explicit, lawful consent (NDPA) before any capture.

2

Liveness

The user completes a short randomized challenge to prove they're live.

3

Identity

Match the live face to a NIN/BVN or a scanned document.

4

Signed result

Receive a signed live / referred / not_live + match decision.

Built to drop into your stack

One call returns a typed result — no camera, permission or WebView plumbing. Clear docs, a hosted demo, and SDKs for every platform.

Android · Kotlin iOS · Swift Package Web embed REST API

Explore the docs →

// Android — one call, typed result verify.launch(SwiftendConfig( baseUrl = "https://…", subjectId = "user-123", )) // → result.passed · result.outcome · result.score // iOS — Swift Package let vc = SwiftendVerificationController(config: .init( baseURL: url, subjectId: "user-123")) present(vc, animated: true)
Trust & compliance

Designed for Nigerian regulation

Privacy-by-default: no raw biometric retention unless you turn it on, short-lived challenges, and a tamper-evident audit trail.

NDPA

Consent capture, lawful basis, data minimisation and a subject-rights review hook.

NCC active liveness

Challenge–response liveness with anti-spoof, injection & AIGC detection layers.

Verifiable results

Ed25519-signed, single-use, short-TTL result tokens you can verify offline.

See Facededup on your own face

Run the full liveness + identity flow in your browser, then grab the SDK and ship.