Doorman Metered
For the adult merchant facing an age-verification statute

Pass, fail or unreadable — and then nothing is kept.

An identity document image goes in. Pass, fail or unreadable comes out, with the age worked out in Python against the jurisdiction's own minimum and an audit log the merchant can export.

Nothing opens in this browser — this one takes a job and does the work on our own graphics cards in Oregon. The free allowance below is how you try it: 25 checks, no card and no payment, on the key you are issued.

Checks are metered one each and an unreadable document is not charged. Nothing is kept that could leak.

The problem

The statute wants verification and the vendors want your customer database.

A dozen states now require age verification, and the obvious suppliers are enterprise identity companies priced for a platform, selling a service that keeps every document it ever saw. That leaves a small merchant choosing between a contract they cannot afford, a vendor whose breach becomes their breach, or going dark. The statute is not the hard part; the shape of the available answers is.

Nothing kept

The document is read, the age is computed, the verdict is logged, and the image is gone. No document store, no face template, no customer identity database. There is no breach of ours that could become yours.

Python decides

The age against the jurisdiction's minimum is arithmetic on two dates, done in code. The model reads the document; it never decides whether somebody is old enough.

Unreadable is free

A document that cannot be read comes back as unreadable and is not charged. Charging for a failed read would pay this program to be worse at reading.

Three outcomes, and unreadable is one of them.

Most verification services return a confidence score, which pushes the decision — and the liability — back onto a merchant who has no way to judge it. Doorman returns pass, fail, or unreadable. Unreadable means ask for a better photo; it does not mean fail, because failing somebody over a bad camera is both wrong and the thing that makes customers leave. And it is not charged.

How it works

Document in, verdict out, image gone

The document arrives

A photo of an identity document, from your own flow, on your own page. Doorman is the check behind it, not the front end — your customer never sees us.

Read, then compute

The model on Tower 1 reads the document. Python computes the age against the minimum for the jurisdiction you named. Two steps, the soft one reading and the hard one deciding.

Log, then forget

The verdict, the timestamp and the jurisdiction go into an audit log you can export. The image does not go anywhere. What an inspector wants is the log; what a breach wants is the image, and only one of those exists.

What it will never do

What it refuses

Every other age-verification product is built around keeping what it saw, because keeping it is how you sell identity services later. This one is built around not being able to.

It keeps no documents.Read, judged, discarded. No image store, no face template, no name, no address, no identity record. The audit log holds a verdict and a time, and nothing a leak could use.
No confidence scores.Pass, fail, unreadable. A number between nought and one hands the merchant a decision they cannot defend and calls it a feature.
Unreadable is never a fail.A bad photo is a bad photo. Failing a real adult over camera glare is both wrong and expensive, and the verdict exists so nobody has to conflate the two.
It will not build a customer profile.There is no linkage between checks, no returning-customer recognition, and nothing that could become a database of who buys adult content. That is a product we could sell and will not.

Pricing

The first 25 checks are free, then priced by the check

A check is one document read. Unreadable documents are not charged, so the number you pay for is the number of real verdicts you got. Twenty-five free on every key is enough to wire it into your flow and test it properly before any money moves.

Free

$0/25 checks

Enough to wire it in and test the flow end to end.

  • 25 checks, no card
  • Pass / fail / unreadable
  • Exportable audit log
  • Unreadable not charged
  • Never expires
Start
Most merchants

Site

$149/2,000 checks

A working storefront in the states that require it.

  • 2,000 checks
  • 7.5¢ a check
  • Per-jurisdiction minimums
  • Audit log export as CSV
  • Credit does not expire

Platform

$990/20,000 checks

A platform with real traffic.

  • 20,000 checks
  • 5¢ a check
  • Per-jurisdiction minimums
  • Queue priority on Tower 1
  • Credit does not expire

Per check, with unreadable free. No per-seat fee, no minimum commitment, no annual contract — the three things that make the enterprise alternatives unavailable to a small merchant. Your licence key is emailed to you within two working days of payment.

Checkout is our own bitcoin server, not a card processor. The units you buy are added to your key: buy from the Buy more box inside the program and they arrive on their own once the payment confirms, or buy here and paste the invoice number from your receipt into that box.

Questions

The ones we actually get asked

If you keep nothing, how do I prove I verified somebody?

The audit log. A verdict, a timestamp, the jurisdiction and the minimum applied, exportable whenever you want it.

That is what an inspection asks for. Nobody asks you to produce the customer's driving licence eighteen months later — and if you had kept it, that would be the thing a breach took.

Is this good enough for the statutes?

It performs the check the statutes describe and gives you the record they ask you to keep. Whether your overall posture is compliant depends on things outside this program.

Gatehouse is the program that tracks what each state actually requires and how that is changing. Doorman is the check; Gatehouse is the posture. They are sold separately because they are different jobs.

Does the document leave my building twice — once to you, once to a cloud?

Once, to our machines in Oregon, and no further. There is no hosted vision API in the path.

That is the whole reason this product can exist at the price it does, and the reason it can promise the image is gone afterwards — nobody else's retention policy is involved.

What about returning customers?

Every check is independent. There is no recognition, no token and no linkage.

That means a returning customer verifies again, which is a real cost in friction. It is the price of there being no database of who buys adult content, and it is a trade we made deliberately.

What do I actually get when I pay?

A key. One line of text, issued to you and shown exactly once — only its hash is kept here, so it cannot be looked up later and we could not tell you what yours is. Every key arrives with a free allowance already on it, which is the tier at the top of the pricing above, and the work starts the first time you send a job with that key on it.

Each job is metered in the unit named in the pricing, and a unit that fails — a file that will not read, a row the model held back — is not charged and is named in the job report rather than silently skipped. When an allowance runs out the next job is refused before any work starts, with the number it used printed on the refusal.

More units are bought in bitcoin. The checkout is a bitcoin server we run ourselves. Buy from the Buy more box inside the program and the units are added to your key on their own as soon as the payment confirms; buy from the plan buttons above and paste the invoice number from your receipt into that same box. Each payment adds its units once, to one key.

Wire in the free twenty-five

Run your own document through it, then run a deliberately bad photo. The second one is the one worth watching — it comes back unreadable, uncharged, rather than failing a real adult.