Age verification software for apps, platforms and regulated industries. Document scanning, biometric estimation, liveness detection.

One integration for document verification, biometric age estimation, liveness detection and jurisdiction-granular rules. KOSA, COPPA, UK Online Safety Act and EU AADC ready.

What the software does

Every capability ships in the hosted flow and the underlying age verification API. Compare methods and privacy trade-offs in our age assurance guide.

Document age verification

OCR, MRZ check-digit validation and PDF417/AAMVA barcode parsing on passports, national IDs and driver licences from 200+ countries.

Biometric age estimation

Selfie-based age estimation using our own model on our infrastructure, with liveness detection and anti-spoofing. No image is sent to any language model.

Jurisdiction-granular rules

Per-country and per-US-state overrides. Ship a single integration that stays compliant across KOSA, COPPA, UK Online Safety Act, AADC and DSA.

Sub-second decisions

1.1-1.5s typical end-to-end so the age gate never blocks sign-up flows. Async webhooks for slower document review.

32 languages, EU-resident

Documents and interfaces localised into 32 languages. Processing stays in the EU with zero raw-content retention.

Privacy by design

No storage of images or documents after the decision. HMAC-signed liveness challenges. Full audit trail without keeping the raw evidence.

Software or API, pick your integration

The hosted software gives you a brandable age-assurance flow in hours. The age verification API exposes the same engine when you need full UX control.

Hosted software

API

Deploy as

Hosted flow + widget

Direct REST endpoints

Time to integrate

Hours

A day or two

Best for

Web / mobile onboarding

Custom UX, back-office review

UI included

Yes, hosted, brandable

No, you build the UI

Decisioning

Same engine

Who uses Tuteliq for age assurance

Social & UGC platforms

Meet KOSA and UK OSA age-assurance duties without pushing every user through a document upload.

Dating & companion apps

Combine document + liveness so under-18 users can't slip in on stolen or borrowed accounts.

Gambling, alcohol & adult

Hard 18+/21+ gates with deterministic document validation for regulated verticals.

Marketplaces & fintech

KYC-style age assurance layered on top of your existing onboarding, without replacing it.

Built for the regulations you have to meet

Tuteliq maps age-assurance duties to concrete configuration rather than legal text. See the compliance overview for the full breakdown, or jump to COPPA and GDPR details.

  • KOSA (US federal)
  • COPPA (under 13)
  • UK Online Safety Act
  • EU AADC
  • DSA
  • GDPR Article 8

Frequently asked questions

Ship age assurance this week

14-day free trial on every plan. EU-resident processing on day one.

How age verification is configured in Tuteliq

Every setting below is available in the Tuteliq dashboard under Verification › Age Verification. Compliance, product and engineering teams share one source of truth: the same rules that appear here are the ones your integration reads at runtime through the /v1/age-verify endpoint.

Verification Mode

Pick the default level of assurance for new sessions. Overrides per market are set further down.

Liveness check plus an official document (passport, national ID or driver licence). Highest assurance, recommended for hard legal thresholds like 18+, 21+ or Online Safety Act "highly effective" categories.

Selfie plus liveness with biometric age estimation. Lower friction, ideal as a first-pass age gate or where the applicable rule accepts age estimation as a reasonable step.

Market Overrides

Override the default verification mode per jurisdiction. Unset markets inherit from their region group, or from the global default above.

Market

Default

Complete

Liveness Only

EU (27 member states)

Inherit

Document + liveness

Selfie + liveness

United States

United Kingdom

Australia

Canada

Latin America

Asia-Pacific

Middle East & North Africa

Sub-Saharan Africa

Rest of the World

EU and US groups can be expanded to set country and state level overrides (e.g. force Complete in the UK while keeping Liveness Only across the rest of the EU).

Age Threshold & Overrides

Global minimum age for verification. Users below this age are flagged as minors and routed into the minor handling flow (block, parental consent, or age-appropriate experience, depending on your platform rules).

  • Global default: 18 (configurable 13, 14, 15, 16, 17, 18, 21).
  • EU: default 16 for data processing consent (GDPR Article 8), lowered to 13 in states that opted down.
  • United States: 13 (COPPA) with per-state overrides for KOSA and state-level laws.
  • United Kingdom: 18 for pornography and 'highly effective' categories, 13 for social features under OSA.
  • Australia: 16 for social media accounts under the Online Safety Amendment.
  • Any market can be pinned to a fixed age regardless of its region group.

Integrating the settings into your app

Dashboard settings are enforced automatically. Your integration only needs to open a verification session and read back the result.

  • 1. Install the SDK bun add @tuteliq/sdk # or: npm install @tuteliq/sdk
  • 2. Store your API key Set TUTELIQ_API_KEY as a server-side secret. Never expose the key in browser code.

Set TUTELIQ_API_KEY as a server-side secret. Never expose the key in browser code.

  • 3. Create a verification session (server side) import { Tuteliq, VerificationMode } from "@tuteliq/sdk"; const tuteliq = new Tuteliq(process.env.TUTELIQ_API_KEY!); const session = await tuteliq.createVerificationSession({ mode: VerificationMode.AGE, redirect_url: "https://yourapp.com/verified", }); return { url: session.url, sessionId: session.session_id }; Redirect the user (or open a new tab) to session.url. Tuteliq applies the verification mode and age threshold you configured for the user's market.

Redirect the user (or open a new tab) to session.url. Tuteliq applies the verification mode and age threshold you configured for the user's market.

  • 4. Read the outcome const result = await tuteliq.getVerificationSession(sessionId); // result.status: "pending" | "verified" | "failed" // result.result.age: estimated or extracted age // result.result.is_minor: boolean flag against configured threshold
  • 5. Optional: webhooks Register a webhook to receive instant session updates instead of polling. Persist the verified status in your database so users do not re-verify on every visit.

Register a webhook to receive instant session updates instead of polling. Persist the verified status in your database so users do not re-verify on every visit.

All configuration is versioned and audit-logged. Changes to verification mode, market overrides or age thresholds are timestamped against the acting admin, so compliance teams can produce evidence of controls on demand.

Request a demo or compliance assessment

Tell us about your platform and we will map Tuteliq to your compliance duties within one business day.

By submitting, you agree to be contacted by Tuteliq about this request. We do not share your details with third parties.

Get Started Free · Read Documentation · View Pricing