Veriwell
The website gets a yes or a no. Never your documents.
Age checks for UK websites, with a passport or photocard driving licence and a short guided selfie. The website gets a yes or a no, and your photos are never stored.
Veriwell is our age check for websites in the UK. You show a UK passport or a DVLA photocard driving licence to your phone’s camera, follow a short guided selfie, and the website you came from gets a yes or a no to the age it asked about. Not your name, not your date of birth, not a copy of your document.
More UK websites now have to check that their visitors are old enough. We built Veriwell to make that check quick for the person doing it, and to leave as little behind as possible once it’s done.
How it works
Start on a computer and Veriwell shows a QR code: scan it, and the check carries on on your phone while the page on your computer waits for the result. On a phone, it starts straight away. A session lasts at most 10 minutes.
The check, step by step
-
1 of 12
Scan the code
On a computer, the page shows a QR code. Scan it with your phone, or carry on at the computer if it has a camera. Each code works once.
-
2 of 12
Agree first
Veriwell says what it checks and which documents it takes. The camera only starts once you’ve agreed.
-
3 of 12
Choose your document
A UK passport, using the photo page, or a DVLA photocard driving licence. The paper counterpart isn’t accepted.
-
4 of 12
Frame it
Your phone looks at every frame as you hold the document up: is it in the guide, sharp, bright enough, steady and free of glare? The advice is plain, like “Tilt to reduce glare”.
-
5 of 12
Hold still
When it looks right, hold still for a moment and it takes the photo by itself. There’s a Capture now button too. Then you send it to be checked.
- A tick when the hold starts
- A shutter sound on capture
- A short vibration, where supported
-
6 of 12
Look straight ahead
Next, the front camera and five short poses, always in the same order. Each one is captured by itself once your phone sees it.
- Spoken: “Look straight at the camera and hold still.”
- A tick when the pose is found
- A chime when it’s captured
- A short vibration, where the phone supports it
-
7 of 12
Turn to one side
Either side first. Turning means looking away from the screen, which is why every step has sound.
- Spoken: “Turn your head to one side.”
- A tick when the pose is found
- A chime when it’s captured
- A short vibration, where the phone supports it
-
8 of 12
Turn the other way
Then the opposite side.
- Spoken: “Now turn your head the other way.”
- A tick when the pose is found
- A chime when it’s captured
- A short vibration, where the phone supports it
-
9 of 12
Blink
Both eyes.
- Spoken: “Blink both eyes.”
- A tick when the pose is found
- A chime when it’s captured
- A short vibration, where the phone supports it
-
10 of 12
Smile
The last pose. The five photos go to our server together.
- Spoken: “And smile.”
- A tick when the pose is found
- A chime when it’s captured
- A short vibration, where the phone supports it
-
11 of 12
Checked on our server
Our server reads the document, works out your age, checks that a real person is in front of the camera, and compares your face with the photo on the document.
-
12 of 12
Done
You see the result on your phone, and the website gets it too. One tap takes you back.
- A sound for the result
On your phone
Everything that guides you runs on your phone. Framing a document uses simple measurements of each camera frame: sharpness, brightness, glare, edges and movement. The face poses use Google’s MediaPipe Face Landmarker, running in the browser, to see where your face is and whether you’ve turned, blinked or smiled.
None of that decides anything. Code on a phone can be changed and a camera can be faked, so the phone only helps you take good photos. The checks that count happen on our servers, on the photos you send.
Sound matters more than you’d think. Turning your head means looking away from the screen, so every step has a cue: a tick when the pose is found, a chime when it’s captured, and a short spoken prompt for what to do next. Phones that support it vibrate too; iPhones don’t allow it for web pages. Sound is on to start with, and there’s a mute button on the camera view that remembers your choice.
What the website gets
When the check finishes, the website gets a short result: whether you meet the age it asked for, which age that was, whether the check passed, when it finished, and reference numbers to match it to your visit. That’s sent encrypted, so only the website’s own server can read it. If the website looks the check up through our API, it also sees which type of document you used.
It never gets your name, your date of birth, your document number or any photo.
Where each piece goes
The website gets
A yes or a no for the age it asked about, and enough to match it to the right visit.
Veriwell keeps
A short record of the check, deleted after 7 days. The face template lasts minutes, in memory.
Never kept
Your photos, your date of birth, your name and your document number.
Over the age, yes or no
- Sent to the website
- Kept: 7 days
The answer to the one question the website asked.
The age it asked about
- Sent to the website
- Kept: 7 days
18 unless the website chooses another age, from 16 to 25.
Passed or failed, and when
- Sent to the website
- Kept: 7 days
Whether the whole check passed, and the time it finished.
Session ID
- Sent to the website
- Kept: 7 days
A random reference for this check. It’s on your result screen too, so you can delete the record.
Document type
- Sent to the website
- Kept: 7 days
Passport or driving licence. The website sees it only if it looks the check up through the API.
The result of each check
- Not sent to the website
- Kept: 7 days
Whether the document was valid and in date, and whether the face checks passed.
When you agreed
- Not sent to the website
- Kept: 7 days
The time you gave consent, and which version of the notice you agreed to.
Face template
- Not sent to the website
- Kept: up to 5 minutes, in memory
Numbers describing the face on your document, used to compare with your selfie. Deleted as soon as that comparison runs.
Document photo
- Not sent to the website
- Never stored
Checked in memory on our server, then discarded. Never written to disk or to a log.
Selfie photos
- Not sent to the website
- Never stored
The five poses. Checked in memory, then discarded.
Date of birth
- Not sent to the website
- Never stored
Read from the document to work out your age on the day, by UK date, then dropped.
Name and document number
- Not sent to the website
- Never stored
Neither is stored, and neither is ever sent to the website.
What we keep
As little as we can, for as short a time as we can. Veriwell runs on Vestra’s own servers in Germany.
During the check
Photos are held in memory only
Never written to disk, to logs or to the database, and discarded once checked.
Up to 5 minutes
The face template is deleted
As soon as your selfie has been compared with it, or after five minutes if that never happens.
10 minutes
An unfinished session ends
It expires by itself, and its links stop working.
7 days
The session record is deleted
The yes or no, the age asked about, the document type, each check’s result and when you agreed.
Any time
You can delete it yourself
Enter the session ID from your result screen at veriwell.xyz/delete-my-data.
For developers
Veriwell is an API. Your server opens a session with the age it needs, sends the person to the link it gets back, and receives the result at a callback address you’ve approved in advance. The result is encrypted with your API secret using AES-256-GCM, and if your server doesn’t answer, delivery is retried with growing gaps. You can also look up a session with your API key.
The developer portal has API keys you can name and revoke, your usage, delivery logs and the documentation. The free plan includes 1,000 units a month: a passed check uses one, a failed check half, and an abandoned one none. Developers pass a Veriwell age check themselves before they can use the portal.
Open source
The camera side of Veriwell is open source. veriwell-capture, the browser toolkit for document and selfie capture, with its guidance, sound cues and passport MRZ parser, is on GitHub under the Apache License 2.0. Read more about it.
Try it
The demo runs the whole check, end to end, with the same server checks: choose an age, scan the code and use your own document. The session expires after 10 minutes, and the camera starts only once you’ve agreed on your phone.
Note
What Veriwell doesn’t do
It reads the document and checks the person in front of the camera; it doesn’t read passport chips or check documents against the issuer’s records. It doesn’t claim to make a website compliant with the Online Safety Act or any other law: that’s for each website to judge. It’s new, and we’ll keep improving it; feedback is welcome at [email protected].
