Anti-spoofing is one of the most important components of any modern face verification system. As identity verification spreads across fintech, banking, healthcare, telecommunications, insurance, and government platforms, attackers keep finding new ways to slip fake faces past weak checks.
Asking a user to upload a selfie is no longer enough. A high-resolution printed photo, a video replayed on a second phone, an AI-generated face, or a convincing deepfake can all defeat naive selfie verification. The job of anti-spoofing is to catch those attacks before they ever reach your backend.
At Veris, anti-spoofing happens before face matching even begins. Veris Capture runs liveness detection directly on the user's device, and only a genuine, present face is allowed to continue to Veris Compare for similarity scoring. Combined with Veris Scan, you get a complete verification pipeline behind a single API key - and no biometric data is ever stored.
What Is Anti-Spoofing?
Anti-spoofing (also called presentation attack detection, or PAD) is the set of techniques that decide whether the face in front of the camera belongs to a real, physically present person - or to an imitation.
The goal is simple: stop fake faces before they enter your verification workflow.
This is a different question from face matching. A face matching algorithm only answers "do these two faces look like the same person?" It cannot tell you whether the face is real. That responsibility belongs entirely to liveness detection and anti-spoofing - which is exactly why the two must work together.
Common Spoofing Attacks
Fraudsters keep experimenting. These are the attack types every serious verification system has to defend against:
Printed photo attacks. A high-resolution photo of someone else is held up to the camera. Weak systems accept it.
Replay attacks. Instead of a still photo, the attacker plays a recorded video on another phone, tablet, or monitor. Without proper liveness, replays can look surprisingly real.
Screen attacks. A digital image is shown on a second screen. Differences in brightness, reflection, and pixel structure give advanced PAD systems a way to detect them.
Deepfake attacks. AI now makes realistic synthetic faces cheap to produce. Deepfake techniques keep improving, so verification has to keep improving alongside them.
Mask attacks. 3D masks try to imitate a real user. Modern PAD analyses multiple visual and reflectance cues rather than relying on appearance alone.
Why Passive Liveness Comes First
Older systems leaned on active challenges - asking the user to blink, smile, turn their head, or follow a moving dot. These work, but they add friction and quietly lower onboarding completion.
Veris Capture leads with passive liveness: the user simply looks at the camera while the SDK decides, on-device, whether a real person is present. For most flows this is all that's needed, and it delivers:
Faster onboarding
Better accessibility
Lower abandonment
Strong fraud protection
For higher-risk use cases, Veris also supports optional active-liveness challenges (such as a directed head-turn) on higher plans - so you can dial up assurance exactly where the risk justifies the extra step, and keep the default flow frictionless everywhere else.
Anti-Spoofing Is Only One Layer
Security should never rest on a single step. A production verification workflow layers several:
Passive liveness (with optional active challenge for high-risk sessions)
Identity document capture
OCR extraction
Face comparison
Business-rule evaluation
Risk analysis
Account creation
Using Veris Capture, Veris Scan, and Veris Compare together gives you this full pipeline behind one integration.
Building for Real Mobile Devices
Many verification systems only perform well in ideal conditions. Real users don't test in a lab. Across Nigeria and much of Africa, expect entry-level Android devices, older cameras, limited RAM, poor lighting, slow networks, and motion blur.
Veris Labs continuously tunes anti-spoofing performance across the devices your customers actually use - because a spoof detector that only works on flagship phones isn't protecting most of your users.
Security Best Practices
When you wire anti-spoofing into your stack:
Run liveness before face matching
Encrypt every API request
Authenticate every request
Protect your API keys
Log verification events
Rate-limit verification endpoints
Monitor for suspicious verification patterns
No single control stops fraud. Layered controls do.
Privacy-First by Design
Preventing fraud and protecting privacy are not in tension - Veris does both:
Passive liveness runs on-device
No biometric templates are stored
Verification requests are encrypted
You keep control of the final decision
Only the information required for verification is processed
Because raw biometric data never leaves the device for liveness, there is simply less sensitive data to expose - which also makes NDPR alignment easier (obtain consent, minimise what you collect, secure it in transit, restrict access, and keep audit logs).
Common Anti-Spoofing Mistakes
Accepting selfies with no liveness at all
Running face matching before liveness
Saving captured images you don't need
Ignoring replay and screen attacks
Weak or missing retry logic
Testing only on flagship devices
Most fraud-prevention wins come from better architecture, not a more complicated user experience.
Key Takeaways
Anti-spoofing is no longer optional. A modern platform must defend against printed photos, replays, screen attacks, deepfakes, and masks - and it should do so as one layer inside a workflow that combines passive liveness, document OCR, face matching, secure APIs, and privacy-first, NDPR-aware design.
By combining Veris Capture, Veris Scan, and Veris Compare, you can stop fraudulent verification attempts before they ever reach your business systems - and across every Veris product, one principle holds: no biometric data is ever stored.
Frequently asked questions
What is the difference between liveness detection and face matching?
Face matching checks whether two faces belong to the same person. Liveness and anti-spoofing check that the face is a real, present human and not a photo, replay, mask, or deepfake. You need both, and liveness should run first.
Does anti-spoofing stop deepfakes?
Strong presentation-attack detection defends against printed photos, screen replays, masks, and many deepfake presentation attacks by analysing multiple visual and reflectance cues on-device. No system is perfect, so it is used as one layer in a defence-in-depth flow.
Does Veris run liveness on the server or the device?
On the device. Veris Capture performs passive liveness on-device before anything reaches your backend, which improves privacy and latency and stores no biometric data.
Related Veris Resources
Veris Capture - passive face liveness and anti-spoofing, on-device
Veris Scan - OCR for Nigerian IDs and utility documents
Veris Compare - secure 1:1 face matching API



