The gap
A self-declared birthdate isn't verification — and the statute knows it.
Self-assertion doesn't satisfy the statute
TX HB 1181, LA Act 440, and follow-on state laws require verification using government ID or comparable data — a typed birthdate or checkbox doesn't meet that bar and leaves the platform exposed the moment an AG inquiry opens.
Synthesized-credential attempts concentrate here
Adult-content platforms see the highest rate of synthesized and replayed credential attempts of any regulated-commerce vertical. A soft gate doesn't distinguish a real document from a fabricated one.
An AG inquiry expects a specific artifact
When a state Attorney General opens a compliance inquiry, the ask is a per-session audit trail tied to a signed verification event — not a database row saying a user checked a box.
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.
How it works
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.
- 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.
- 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.
- 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.
- 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.
Proof
Every gate leaves a signed verification event.
The state AG's compliance inquiry arrives whenever it arrives. Every completed age-gate already has a signed record waiting — not a self-reported log entry.
Outcome
See the statute-compliant gate for your platform.
Tell us which states your users are in and which statutes apply — we'll map the ruleset.
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.
| State | Statute | Effective date | Enforcement mechanism |
|---|---|---|---|
| Texas | HB 1181 | 2023 | AG civil action; up to $10,000/violation |
| Louisiana | Act 440 | 2022 | Civil cause of action by parents |
| Utah | SB 287 | 2023 | Civil cause of action; statutory damages |
| Arkansas | SB 66 | 2023 | Civil action by parents; $10,000+/violation |
| Mississippi | HB 1126 | 2024 | Civil + AG enforcement |
| Montana | SB 544 | 2024 | Civil action; statutory damages |
| Virginia | SB 1515 | 2023 | Civil cause of action |
| North Carolina | HB 8 | 2024 | Civil action; AG supplemental |
| Idaho | HB 498 | 2024 | Civil cause of action |
| Indiana | SB 17 | 2024 | AG enforcement; civil penalties |
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.
Per session: the signed webhook event, the eligibility decision, and the per-session audit pointer. The audit pointer is the artifact retained, not the underlying credential — see the security page for the per-account retention configuration. If a state AG opens an inquiry, the operator produces the per-session events for the disputed access; Stile holds the audit-pointer ↔ verification-result mapping for the contracted retention window.
Indirectly. Stile returns the eligibility signal (e.g. under-18 with verification of age category). The parental-consent layer is a separate flow the operator implements: typically a parent-portal where a verified-adult consents on the minor's behalf. Stile can power the adult-side verification of the parent-portal handoff; the consent ledger itself is operator-side.
Adult-content platforms see the highest concentration of synthesized-credential and replay attacks. Stile tunes the liveness threshold tighter than other verticals; the false-acceptance ceiling is tighter at the cost of slightly higher false-rejection. Operators can adjust per their conversion-vs-compliance tradeoff. Spoof signals are weighted into the eligibility decision but never exposed to the operator's frontend.
Configurable per operator. A common pattern: enable the verification gate for all US users (operator's policy is uniform across states; some non-active-statute states are likely to pass laws), or scope by IP geo-resolution to active-statute states only. Stile's SDK supports both — the per-state ruleset config drives which sessions trigger verification and which fall through to standard access flows.
Get started
Speak with our team 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