Why CAGE exists.

The problem

Every website that needs to verify age makes users upload a government ID. That means dozens of companies storing sensitive identity documents — each one a breach waiting to happen.

Users have no visibility into where their data ends up, how long it's kept, or who has access to it. A driver's license submitted for one site might sit on servers you've never heard of.

And despite all this friction, young people still access age-restricted content — because the verification experience is so bad that many sites don't bother enforcing it.

The current system is broken for everyone: it's invasive for users, liability-heavy for sites, and ineffective at its stated goal.

The idea

What if you only had to verify your age once?

What if the sites that need your age never saw your ID?

What if the whole thing was invisible after the first time?

That's CAGE: Confirmed Age, Granted Entry.

Verify once. Use everywhere. No repeat uploads. No site ever sees your documents. Your identity stays yours.

How it's built

CAGE uses a trusted third party — Veriff — to check your government ID. CAGE never receives the document itself. Veriff processes it, confirms your age, and discards the data on their own schedule.

CAGE stores only the result: you're 18+ or 21+. No name. No birthdate. No document images. Just a flag.

When a website needs to confirm your age, CAGE issues a signed token confirming the result — anonymously. The site never learns who you are, and it can't connect your identity to any other site you've verified through.

The browser extension makes repeat verifications invisible. On your second visit to any partner site, CAGE confirms your age in the background without interrupting you.

The project is open source on GitHub.

The team

CAGE is an early-stage project built by a small team. We're moving fast and building in the open.

Interested in contributing or partnering? Reach out at hello@cageid.app or find us on GitHub.