Scan the document
The user captures their ID. We validate the MRZ check digits and expiry, then extract only what the policy needs — never persisting the image.
Age and identity verification with active liveness detection, document & MRZ checks, and face matching — via an embeddable widget or API. We keep a yes/no and an audit hash — never your biometrics.
Biometric records stored
Median check time
Article — GDPR by design
Afternoon to integrate
Every check produces a verdict, not a dossier. Here is the complete list of what touches our database — and everything that never does.
Run a frictionless AI age estimate from a selfie — no ID needed — or the full document and liveness check below. Your users complete it in-browser; no app install, no document sent to a third party.
The user captures their ID. We validate the MRZ check digits and expiry, then extract only what the policy needs — never persisting the image.
A randomised centre → left → right head-pose challenge runs in-browser. Anti-spoof and timing checks reject photos, videos, and masks.
We match the live face to the document, return an over-threshold yes/no, and write a tamper-evident audit hash. Frames are discarded.
Estimate age from a live selfie with AI facial age estimation — no ID required. Inconclusive checks escalate to a document scan automatically.
A randomised head-pose challenge with face liveness detection, anti-spoof, and timing checks defeats photos, masks, and replays.
Passport MRZ check-digit validation and expiry checks catch forged or altered identity documents.
Biometrics are processed in memory and discarded. There is no image database to breach.
GDPR Art. 9 consent is captured and receipted before any biometric processing begins.
Configurable per-jurisdiction rules for the UK Online Safety Act, EU GDPR/AVMSD, and US state statutes.
Spin up a test-mode key and run the full flow in minutes — no card required.
Drop the widget into any page, or redirect to the hosted flow. We post the verified outcome to your backend — you never touch raw biometrics.
Tune colours, corner radius, your logo and copy in a live editor — try it on the right. No CSS, no redeploy; every hosted flow updates the moment you save.
<!-- 1 · Load the widget --><script src="https://verisoar.com/widget.js"></script> <button onclick="verify()">Verify my age</button> <script> async function verify() { // 2 · Your server creates the session const res = await fetch("/verify/start"); const { hostedUrl } = await res.json(); // 3 · Open the hosted flow IdVerify.open({ hostedUrl, onComplete: ({ result }) => { // "approved" | "declined" — never a biometric if (result === "approved") grantAccess(); }, onClose: () => console.log("Closed without completing"), }); } // Close programmatically: IdVerify.close();</script>Colours
Corner radius
Company
Step 1 of 3
<!-- 1 · Load the widget --><script src="https://verisoar.com/widget.js"></script> <button onclick="verify()">Verify my age</button> <script> async function verify() { // 2 · Your server creates the session const res = await fetch("/verify/start"); const { hostedUrl } = await res.json(); // 3 · Open the hosted flow IdVerify.open({ hostedUrl, onComplete: ({ result }) => { // "approved" | "declined" — never a biometric if (result === "approved") grantAccess(); }, onClose: () => console.log("Closed without completing"), }); } // Close programmatically: IdVerify.close();</script>Colours
Corner radius
Step 1 of 3
Monthly tiers with metered overage. Start free, no card required.
US$99.99/mo
US$299.99/mo
Start free in test mode today. Go live when you're ready — no card required.
No. Camera frames and document images are processed in memory and discarded immediately. We persist a coded yes/no outcome, a salted IP hash, and a tamper-evident audit hash — never images, face templates, or raw personal data.