Most age gates are an overlay and nothing else. Dismiss the overlay — with browser tools, with scripting off, or by opening a cart link directly — and the store is yours.
Loman Age Verification also installs a checkout validation on your store: a small rule that runs on Shopify’s own servers, on every checkout, where a buyer cannot reach it. A cart that has not answered your gate cannot complete an order.
What it checks
Two things, and they happen at different moments.
Did the gate run at all? Checked from the first cart interaction onward. When a visitor passes your gate, the app hands their browser a value and the cart carries it. The rule compares that value against one only this app can write, held where the buyer cannot see or change it. A cart with nothing, or with something invented, is blocked:
Please return to the store and confirm your age before checking out.
Is the age high enough for where it is going? Checked at the last step, once a delivery address exists. If the order ships somewhere your rules require a higher age than the visitor was asked for, it is blocked with the number named:
This order ships somewhere that requires customers to be 21 or older. Please return to the store and confirm your age.
Naming the age is not decoration. Going back to the store would otherwise ask the same lenient question again and send the buyer round the same loop.
A cart with nothing to ship — digital goods, say — has no destination to compare against, so the answer is the age your gate already asked for.
What each order carries
A completed order carries an Age verified note on the order itself, in your Shopify admin, reading the age that was cleared and a short reference — for example:
Age verified: 21+ · ref 8f2c1a94
It is held by you, which is the point: the evidence lives with the merchant who might need it rather than in a log on our side. There is no verification record on our end at all — no list of who was asked, what they answered, or when. That is deliberate, and it is why this app asks for so little access to your store.
The reference is fresh for every cart, which gives that note a second use: the same reference on two different orders means the same pass was used twice. You can see that in your own admin without this app storing anything about any shopper.
Where it stops
Being precise about this matters more than it usually would, so here is the whole of it.
What is enforced: that the age check ran on this cart and was answered passingly, using a value only this app could have issued. Enforced by Shopify, on Shopify’s servers.
What is not:
- It does not establish anybody’s age. The date or the button is self-reported. Someone who lies is handed a valid pass, and no arrangement of software fixes that without checking documents, which this app does not do.
- It does not identify the buyer. The person completing the order need not be the person who answered the gate.
- A pass obtained honestly can be reused. Shopify does not tell the rule which cart it is looking at, so a value earned by passing the gate once can be moved to another cart on your store. This is a structural limit of what a checkout validation can see, not a bug waiting to be fixed. Keep it in proportion: passing the gate takes five seconds and an invented birthday, so reuse is strictly more work than lying and gets the same result. If you ever need to invalidate one, that is what resetting verification passes is for.
When it is not enforcing
By design, in three cases:
- The gate is switched off. Enforcement follows the Show the age gate to visitors checkbox in both directions — see Turning the gate on and off.
- The app is mid-install, before the rule has been created.
- The rule cannot read its configuration. It refuses to guess, and a checkout that cannot take money is a worse failure than a checkout that is not enforcing.
And one case that is not on the list: our app being unreachable. The rule reads two values from Shopify’s own input and compares them. It makes no network call to us and does not depend on our uptime — so an outage on our side cannot break your checkout. See If the gate can’t be reached.
If a customer says checkout is blocking them
Almost always they are a real shopper who never saw the gate — scripting off, a stale cart from before you switched the gate on, or a browser that blocks site storage. The fix is the same in every case: have them return to the store, answer the gate, and check out again. Both messages above say so for exactly this reason.
If it keeps happening to people who plainly did answer, email
[email protected] with your .myshopify.com
domain and roughly when it happened.