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.
| 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
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.
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).
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.
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.
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.
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 inference — Faster than any document-based method — users barely notice it.
- Fully on-device processing — The model runs in a sandboxed WebAssembly context in the user's browser.
- Zero data transmission — No image, no biometric data, no personal information ever leaves the device.
- Regulator-approved — Facial age estimation is approved under Ofcom, eSafety, and the EU DSA.
- GDPR and UK GDPR compatible — On-device processing means no personal data is processed by AgeGate under data protection law.
<100ms
Inference
On-device
Processing
Zero
Data stored
Three steps to compliance.
Create your site
Sign up, name your site, and get your site key. Takes 30 seconds.
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.
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>