Verify your users are 18+ without collecting a single piece of personal data.
Regulations are here. Existing solutions create more problems than they solve.
UK Online Safety Act, EU Digital Services Act, and US state laws now require platforms to verify user ages. Fines for non-compliance are severe.
Photo ID matching, facial estimation, and credit card checks all require users to hand over sensitive personal data. One breach exposes millions.
Friction kills conversion. Users abandon sites that demand ID uploads. Existing solutions report 30-60% drop-off rates at the verification gate.
A four-step flow that keeps personal data on the user's device — always.
User gets a signed credential from a trusted authority. One time, stored in their browser.
You add 3 lines of JS to your site. That's it.
Browser generates a ZK proof. No data leaves the device.
Your server verifies the proof. Done. No personal data, ever.
const ageGuard = AgeGuard.create({
verifierUrl: 'https://verifier.ageguard.dev',
ageThreshold: 18
});
await ageGuard.verify();
One npm package. Three lines of code. Works with any stack.
npm install @ageguard/sdk
<script src="https://cdn.ageguard.dev/sdk/v1/ageguard.js"></script>
<script>
const ag = AgeGuard.create({
verifierUrl: 'https://verifier.ageguard.dev'
});
document.getElementById('verify-btn')
.addEventListener('click', async () => {
await ag.init();
const result = await ag.verify();
if (result.verified) {
// User is 18+ — unlock content
}
});
</script>
import { useAgeGuard } from '@ageguard/react';
function App() {
const { verify, isVerified } = useAgeGuard({
verifierUrl: 'https://verifier.ageguard.dev'
});
if (isVerified) return <Content />;
return <button onClick={verify}>Verify Age</button>;
}
<script setup>
import { useAgeGuard } from '@ageguard/vue';
const { verify, isVerified } = useAgeGuard({
verifierUrl: 'https://verifier.ageguard.dev'
});
</script>
<template>
<Content v-if="isVerified" />
<button v-else @click="verify">Verify Age</button>
</template>
AgeGuard's zero-knowledge approach satisfies regulatory requirements that weaker methods cannot.
Meets Ofcom's "Highly Effective Age Assurance" criteria as a digital identity service.
Satisfies Article 28(1) privacy requirements for minor-protection measures without data collection.
Data minimization by design. The verifier receives zero personal data. Nothing to breach, nothing to report.
AgeGuard's architecture satisfies the "reasonable age verification" standard without the privacy risks of competing approaches.
This table reflects AgeGuard's technical compliance posture. Consult legal counsel for jurisdiction-specific advice.
Designed for migration to post-quantum proof systems as standards mature.
ZK proof soundness is 2128. The verifier cannot forge a passing proof — ever.
No linkability between sessions. The verifier cannot correlate repeat visits by the same user.
The age-verification circuit is MIT-licensed. Anyone can audit the exact computation.