stile

Age-restricted commerce verification

Document capture, liveness, face match, mDL, and jurisdictional age-tier resolution. Signed webhook returns an eligibility signal.

  • Document Capture
  • Liveness
  • Face Match
  • mDL
  • Age Tier
  • Signed Webhook
verification_session.verifiedverification_session.verified
{  "id": "evt_8x2k4dq3w1m7",  "object": "event",  "type": "verification_session.verified",  "api_version": "2026-01-15",  "data": {    "object": {      "id": "vks_8x2k4dq3w1m7",      "object": "verification_session",      "status": "verified",      "age_tier": "min_age_21",      "jurisdiction": "US-CA",      "completed_at": 1715199912    }  },  "livemode": true,  "pending_webhooks": 1,  "created": 1715199912}

Capabilities

Hard age verification for adult-content platforms under active state enforcement

  • Statute-grade verification

    Document scan + liveness + face match — Stile's implementation of the 'reasonable age verification' standard mandated by TX HB 1181, LA Act 440, and follow-on state laws. (The statutes require verification using government ID or transactional data; document + liveness + face match is one valid implementation, not a statutory mandate of the specific stack.) Not a self-declared age gate. The signed webhook is the proof artifact a state Attorney General accepts during a compliance inquiry.

  • Hard liveness, hard face match

    Stricter thresholds than the iGaming or alcohol-DTC defaults. Adult-content platforms face the highest concentration of synthesised credential attempts; Stile tunes the false-acceptance ceiling tighter at the cost of slightly higher false-rejection — operators can adjust per their conversion tolerance.

  • Retention semantics tuned for AG inquiries

    When a state AG initiates a compliance inquiry, the artifact required is the per-session audit trail. Stile's signed webhook + per-session audit pointer is that artifact — operators don't need to retain raw documents to satisfy the inquiry. Retention semantics follow the per-account configuration described on the security page; the audit pointer ↔ verification-result mapping is what Stile holds.

18+

How statute-compliant age verification flows

Configurable per statute. The steps below are the default for TX HB 1181 and LA Act 440 compliance; other state laws swap in their own thresholds.

  1. Step 01

    1. Mandatory verification gate

    Before access to any age-restricted content, the user is routed through Stile's hosted widget. No bypass for self-declared age; the statute requires verification, not assertion.

  2. Step 02

    2. Document or mDL capture

    State-issued license, ID, or mDL. Selfie captured in the same session for liveness + face match. The user explicitly approves attribute release before any data leaves their device.

  3. Step 03

    3. Server-side verification

    OCR + barcode cross-reference + liveness scoring + face match. Stricter thresholds than other verticals — the false-acceptance ceiling is tuned tight per industry expectation.

  4. Step 04

    4. Eligibility signal + audit pointer

    Signed webhook returns 18+ (or 21+, configurable) eligibility plus a per-session audit pointer. The audit pointer is the artifact a state AG receives during a compliance inquiry; retention semantics follow the per-account configuration described on the security page.

States with active age-verification statutes

States with enforced or recently-passed adult-content age-verification laws as of mid-2026. Stile's per-state ruleset is configured for each — confirm the current statute citation against the state legislature site at integration time.

States with active age-verification statutes
StateStatuteEffective dateEnforcement mechanism
TexasHB 11812023AG civil action; up to $10,000/violation
LouisianaAct 4402022Civil cause of action by parents
UtahSB 2872023Civil cause of action; statutory damages
ArkansasSB 662023Civil action by parents; $10,000+/violation
MississippiHB 11262024Civil + AG enforcement
MontanaSB 5442024Civil action; statutory damages
VirginiaSB 15152023Civil cause of action
North CarolinaHB 82024Civil action; AG supplemental
IdahoHB 4982024Civil cause of action
IndianaSB 172024AG enforcement; civil penalties

Adult-content age verification is the highest-stakes vertical in the regulated-commerce family. State-by-state statutes vary in enforcement mechanism, but every active law requires verification (not self-assertion), and every inquiry the state AG initiates expects a per-session audit trail. Related coverage:

Age verification — the underlying age-tier flow this vertical configures.

Digital ID verification — mDL handling, including the selective-disclosure model that limits the released attribute set to age tier only.

US state coverage — live map of the state laws Stile maps against; updated as new statutes pass.

Regulated commerce — sibling verticals (gambling, cannabis, alcohol DTC) share the configuration shape.

FAQ

Adult-content verification — buyer questions

Stile's age-verification flow returns a signed eligibility signal backed by document scan + liveness + face match — Stile's implementation of the 'reasonable age verification' TX HB 1181 mandates. (The statute requires verification using government-issued ID or commercially reasonable transactional data; document + liveness + face match is one valid implementation, not a statutory mandate of the specific stack.) The signed webhook + per-session audit pointer is the artifact the Texas AG asks for during a compliance inquiry. Final compliance posture is the operator's call (your statute citations + retention policy + legal counsel sign-off), but the verification primitives are statute-grade.

Get started

Get in touch about your statute-compliant age-gate

Tell us which states you operate in, which statutes apply, and what retention policy your legal team has approved. We'll send a configuration recommendation back same-week.

Bring statute-grade age verification to your platform

Walk through your use case and we'll send a configuration recommendation back same-week.

Book demo