Make sure the person on the certificate did the course
ID document, selfie and liveness check for online course providers, training organizations and exam platforms. Check age too, if your course has a minimum.
Where certificate checks break down
-
A certificate is only worth what people trust about it
Employers, schools abroad and regulators accept it because they believe the holder did the work.
-
Identity is checked by hand, or not at all
A photo of an ID uploaded and reviewed later, a trainer comparing faces on a webcam, or security questions.
-
Minimum age is self-declared
Some courses are for learners aged 16 or 18 and over, and the date of birth is typed into a form.
-
Accounts get shared
Someone else completes the course or takes the exam.
Many training regulators expect providers to confirm learner identity for online assessment.
How it works
-
Step 1
Create a verification
Your system calls the API, or a Zapier step does, when a learner enrolls or finishes the course. You get a link for the learner.
-
Step 2
The learner completes it
In the hosted widget: a photo of the ID document, then a selfie with liveness. No account needed.
-
Step 3
The result arrives
By signed webhook. Your system acts on it: unlock the final assessment, or issue the certificate.
Who uses it, and for what
TEFL, TESOL and language-teaching certificates
Check the ID and a selfie before you issue a Level 5 or equivalent certificate. Add an age check if the course has a minimum, for example 16+.
Accredited training organizations
Confirm the learner's identity before you issue a Statement of Attainment or a certificate, without a manual upload queue. It suits short compliance courses such as responsible service of alcohol, white card and food safety.
Driver education and pre-licensing
Online driver education, real estate, insurance and security guard training: confirm the enrolled person is the one taking the course, and keep the result of the check for audits.
Online exams and skills tests
Verify the candidate before the exam starts and match the selfie to the ID. Stop someone who was banned from registering again.
Which check to use
| Situation | Check | Price per verification |
|---|---|---|
| Confirm identity before you issue a certificate | Identity verification (KYC) | $0.30 |
| Only confirm the learner is over the course's minimum age | Age verification by ID | $0.30 |
| A quick age gate before a course page, with a step up to ID if the face is inconclusive | Facial age estimation | from $0.05 |
Identity verification (KYC) returns the date of birth with the rest of the document data, so you can apply your course's minimum age to the same verification. Compare all checks.
Keep banned users out
Banned a learner for cheating or for sharing an account? In Protected mode ProofAge remembers faces and devices, so a ban sticks. The face blocklist, the device blocklist and duplicate detection are included in the price. How Block repeat accounts works.
Block by face
A later verification with the same face is caught, whatever email or document the person uses.
Block by device
Block the device a banned learner verified from, and a new account from that device is caught too.
Find duplicates
See when one person is behind several learner accounts, without waiting for a ban.
In your course platform
- Moodle
- Moodle plugin: contact us.
- Store the result in your LMS
- Start a verification when a learner enrolls or submits a form, through the API or a Zapier (beta) step, and save the result on the student record from the webhook. Release the certificate only when the result is approved.
Connect it your way
API and SDKs
A REST API with signed webhooks. SDKs for Laravel/PHP, PHP, Node.js and Python. An MCP server and an integration prompt for AI coding agents.
No developers? Zapier (beta)
Create a verification from a form, a new order or a new sign-up, and send the result back to your LMS, CRM or spreadsheet. Ready recipes for Thinkific, Teachable, forms and Google Sheets. Access is by invite link, on request.
By default only the decision and flags go to Zapier. Document data goes only when you turn it on.
Online stores
A Shopify app, a WooCommerce plugin and a PrestaShop module (pending PrestaShop approval) add an age check to checkout without code.
We help you integrate: ready SDKs, Zapier recipes, and direct help from the developers who built it.
What happens to learners' data
- Hosted in the EU
- Google Cloud EU regions by default, US on request.
- Private or Protected
- In Private mode, selfie and document images are deleted right after the decision. In Protected mode, media and verification data are kept for 30 days, and the face template and device fingerprint hash for 12 months. Identity verification (KYC) runs in Protected mode only.
- Encrypted
- In transit with TLS 1.2 or later, and at rest with AES-256.
The full list of what we keep, for how long, and who processes it is on the Security page.
Pricing
One price per verification, the same in Private and Protected mode: $0.30 for Identity verification (KYC), $0.30 for Age verification by ID, from $0.05 for Facial age estimation. A verification is billed once, when it reaches a decision.
-
Free to try
500 live verifications, no time limit, no card.
-
Monthly minimum
$30 a month after the trial. Your usage counts toward it.
-
Money back
30-day money-back guarantee on the first payment.
Billing rules and programs are on the pricing page.
Questions from course providers
When should the check happen?
At enrollment, before the final assessment, or before the certificate is issued. Many providers check once at enrollment and match a selfie again before issuing.
Can we check age at the same time?
Yes. Age verification by ID returns whether the learner is over the age threshold you set, plus their name and date of birth.
Do students need an account with ProofAge?
No. They follow a link or use an embedded widget.
Which documents do you accept?
ID documents from 190+ countries.
What do we keep for audits?
You receive the result of each verification by signed webhook and can store it in your LMS or student record. What ProofAge itself keeps depends on the mode. In Private mode, selfie and document images are deleted right after the decision. In Protected mode, media and verification data are kept for 30 days, and consent records for as long as the law requires. The Security page has the full table.
We have no developers. Can we still use it?
Yes. Use Zapier (beta) to start a verification from a form or a sign-up and send the result to a spreadsheet or your platform. If you get stuck, write to us: the developers who built it answer.
A direct line to the developers who built it
Write to us on LinkedIn, by email or in the dashboard chat. The developers who built ProofAge answer themselves, weekends included.