AgeGate logoAgeGate

Age verification compliance. Simplified.

AgeGate is a compliance layer that detects your users' jurisdictions, presents them with a regulator-approved age estimation — delivered in under 100ms directly on their device — and logs every event for your audit trail. One embed. Every jurisdiction. No images stored, no data transmitted.

embed.html
1<script src="https://cdn.agegate.io/v1/widget.js"
2 data-site-key="sk_live_abc123"
3 async defer>
4</script>

How AgeGate works

1

User visits your site

The AgeGate widget loads in the background via a single script tag. No visible UI appears yet — the widget waits until it has determined the user's jurisdiction.

2

Jurisdiction detected

AgeGate determines the user's location via IP geolocation and maps it to the applicable regulation — for example, UK → Ofcom Online Safety Act, Germany → EU Digital Services Act (Article 28).

3

Compliant methods displayed

The widget presents AgeGate's facial age estimation — the user takes a brief selfie, the model runs entirely on their device, and the result is returned in under 100ms. No image is ever uploaded, transmitted, or stored.

4

Age estimated and verified

The on-device model returns an age signal directly to AgeGate. The user is granted access if the result meets the age threshold — without any personal data leaving their device.

5

Result logged

The verification outcome is written to your compliance audit trail with a timestamp, jurisdiction, method, and result. This log is exportable as CSV for regulator submissions.

6

Session persists

A signed token is stored on the user's device. They won't see the verification modal again until it expires. You control the duration: anywhere from 1 hour to 90 days.

Built for compliance teams and developers

For compliance teams

  • Audit trail with every verification event — timestamp, jurisdiction, method, result
  • CSV export for regulator submissions
  • Jurisdiction rules update automatically when regulations change
  • Dashboard shows verification volume by jurisdiction, method, and outcome

For developers

  • Two-line embed — vanilla JS, shadow DOM, no style conflicts
  • Under 50 KB gzipped. No external dependencies.
  • REST API for programmatic access to sessions, logs, and configuration
  • Works in desktop browsers, mobile browsers, and in-app webviews (WKWebView, WebView)
  • Firebase Auth and Firestore backend — scales to zero, costs nothing at low volume

Age estimation. Entirely on the device.

AgeGate's computer vision model performs facial age estimation directly in the user's browser — no image is ever uploaded, transmitted, or stored anywhere. The model returns a verified age signal in under 100ms. No third-party dependencies. No data handling obligations. No privacy trade-offs.

  • Sub-100ms inferenceFaster than any document-based method — users barely notice it.
  • Fully on-device processingThe model runs in a sandboxed WebAssembly context in the user's browser.
  • Zero data transmissionNo image, no biometric data, no personal information ever leaves the device.
  • Regulator-approvedFacial age estimation is approved under Ofcom, eSafety, and the EU DSA.
  • GDPR and UK GDPR compatibleOn-device processing means no personal data is processed by AgeGate under data protection law.
age_estimation_result.json
method"facial_age_estimation"
processing_env"on_device_wasm"
inference_ms87
image_uploadedfalse
data_transmittedfalse
biometric_storedfalse
age_verifiedtrue
jurisdiction"GB"
regulation"Online Safety Act"

<100ms

Inference

On-device

Processing

Zero

Data stored

Three steps to compliance.

01

Create your site

Sign up, name your site, and get your site key. Takes 30 seconds.

My Adult Site
example.com
Create site
02

Verification ready immediately

AgeGate's facial age estimation is enabled by default. No API keys, no third-party accounts. The model runs on the user's device.

AG
Facial age estimationOn-device — no credentials needed
Ready
inference_ms< 100ms
03

Paste two lines of code

Add the script tag to your site. AgeGate handles jurisdiction detection, age estimation, and audit logging from there.

<script src="https://cdn.agegate.io/v1/widget.js"
        data-site-key="sk_live_abc123"
        async defer>
</script>

Ready to simplify age verification compliance?