Adult content
Age verification for adult platforms
Adult platforms now face highly effective age-assurance duties, and the usual answer, upload your ID, is exactly what your users refuse to do. Tessio proves a visitor is over 18 from their EU Digital Identity Wallet and stores no personal data.
The problem
The UK Online Safety Act requires highly effective age assurance on services that show pornographic content, enforced by Ofcom with serious penalties. National laws across the EU add their own rules. The friction is real: users do not want to hand an adult site a photo of their ID, and you do not want to store it.
Tessio is built for exactly this. The visitor proves they are over 18 from their wallet, you get a signed yes or no, and neither of us keeps any personal data. It is the strong age check regulators want without the ID collection your users hate.
Before and after
The usual way
- ID upload that users abandon and distrust.
- You store identity documents tied to adult browsing, a serious breach risk.
- Self-declaration that fails the highly effective bar.
- Vendors not built for the EU wallet, so you re-integrate later.
With Tessio
- A wallet based over-18 proof with no document to upload.
- No personal data stored, so there is no sensitive dataset to leak.
- A real, auditable age check aimed at the highly effective standard.
- Built on the EU wallet standards the Commission blueprint also uses.
How it works
01
Call the API at the gate
POST an age check before you grant access to adult content. You get a hosted verification link to present as a QR code or deep link.
02
The visitor confirms 18+
They prove they are over 18 from their EU Digital Identity Wallet. No ID upload.
03
You get a signed result
A signed yes or no lands on your webhook. You grant access and hold evidence, storing no 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: gate-4821" \
-d '{ "minAge": 18, "reference": "gate-4821" }' Frequently asked
Does this meet the UK Online Safety Act?
The Act requires highly effective age assurance, which Ofcom says must be technically accurate, robust, reliable and fair. Ofcom lists digital identity services and wallets among methods that can be highly effective. Tessio gives you a cryptographic over-18 proof, but you're responsible for meeting Ofcom's criteria, so review our Online Safety Act summary and confirm your setup.
Why do users prefer this?
The single biggest complaint about age checks on adult sites is being asked to upload an ID. A wallet confirmation proves the visitor is over 18 without sharing any document, and because nothing is stored, there's no record tying identity to adult browsing.
What about visitors without a wallet?
Today, most people do not have one yet. EU wallet rollout is early and we do not provide a document or selfie fallback, so Tessio is not a drop in replacement for your current age checks. The realistic path is to run Tessio alongside what you already use and move more traffic to the wallet as adoption grows. We would rather tell you that now than after you have integrated.
Related reading
UK Online Safety Act age assurance
UK regulation
EU Digital Services Act and age assurance
EU regulation
The EU Digital Identity Wallet, for relying parties
EU Digital Identity
Tessio vs Yoti
Age assurance and digital ID
Tessio vs VerifyMy
Age assurance and online safety
Tessio for compliance
For compliance, legal and DPOs
Developer docs
The age verification API
Age assurance for adult platforms
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.