Nicotine, vape and alcohol
Age verification for age restricted retail
Selling nicotine, vape or alcohol online means proving the buyer is old enough. Tessio does that at checkout from their EU Digital Identity Wallet, so you meet the law without killing conversion and without holding any ID data.
The problem
Nicotine, vape and alcohol are age restricted by national law almost everywhere. Online, that usually means a clunky age gate or a document check at checkout, which is exactly where you don't want more friction. And once you collect an ID, you own the liability of storing it.
Tessio moves the check to the buyer wallet. They confirm they are over 18, you get a signed yes or no, and you store no personal data. It is a lighter checkout step and a much smaller data footprint to defend.
Before and after
The usual way
- A heavy age gate or document upload at checkout, hurting conversion.
- You hold customer IDs and dates of birth, which is data you now have to secure.
- Weak self-declaration that regulators increasingly reject.
- Different handling per country with no single approach.
With Tessio
- A quick wallet confirmation at checkout, with no document to upload.
- You store a signed over-18 result and no customer ID data.
- A real proof of age rather than a tick-box the buyer can lie on.
- One integration across your EU storefronts.
How it works
01
Call the API at checkout
POST an age check before the buyer completes an order for age restricted goods. You get a hosted verification link.
02
The buyer confirms 18+
They prove they are over 18 from their EU Digital Identity Wallet, at checkout, without uploading anything.
03
You get a signed result
A signed yes or no lands on your webhook, so you can release the order and keep evidence without storing personal data.
Start a check
One POST creates a check and returns a link for the user's wallet. The signed result lands on your webhook. Full detail is in the developer docs.
curl -X POST https://api.tessio.eu/v1/age-checks \
-H "Authorization: Bearer tk_live_your_key" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-4821" \
-d '{ "minAge": 18, "reference": "order-4821" }' Frequently asked
Which products does this cover?
Any age restricted product where you need to prove the buyer is over 18, such as nicotine pouches, vapes, tobacco and alcohol. The minimum age is set by national law, so confirm the threshold for each market you sell into.
Does it slow down checkout?
It's a wallet confirmation of a single fact, so it's lighter than uploading and processing an ID. Buyers without a wallet fall back to another method, so you don't lose the sale while the EU wallet rolls out.
Do you store the buyer ID?
No. You get an over-18 yes or no, not a document or a date of birth. There is no ID image on your systems or ours to secure or leak.
Related reading
Age assurance for age restricted retail
Put it in front of your users
Access is invite only while we onboard design partners. Tell us your volume and the markets you cover, and we'll set you up with a sandbox key and a quote.