Skip to content

Series · 7 parts Published September 14, 2026

Age check logger

A small system for a group of licensed shops in England and Wales: every age prompt recorded with the answer that was chosen, the paper refusals book transcribed and joined to the till, refusal rates compared like with like, and evidence that exists before anybody asks for it. Seven posts on the same system, one diagram at a time, with a cost breakdown and an engineering reference at the end.

  1. 01

    An age check logger on AWS for a few dollars a month

    The whole system on one page — the till’s age prompts, the refusals book, the rules by date — and why a low refusal count is where the risk shows first.

  2. 02

    What the till already knows

    Turning each age prompt into a record: the category and the rule on the date of sale, the three answers, and why the override is the most informative field in the export.

  3. 03

    The refusals book, read line by line

    Keeping the paper register the licence asks for, transcribing it from a photograph, and reconciling it with the till so a gap on either side is visible the next morning.

  4. 04

    When a quiet month is the warning

    Reading refusals as a rate rather than a count, comparing each person with the same kind of shift elsewhere, and the volume below which a number means nothing.

  5. 05

    The evidence, and the three months after a failed test purchase

    Assembling evidence for a failed test purchase or a licence review from the till, the register and the rules as they stood, and running the store differently for the three months that follow.

  6. 06

    What the age check logger costs

    About $6 a month. One Bedrock read per register page is the only line that grows; the queue, the table, the mail and the storage are rounding errors. Plus the three ways the bill could surprise you.

  7. 07

    Engineering reference: the age check logger architecture

    Same system, drawn purely for engineers. Service names, region, Lambda inventory, IAM scopes, the schemas and the exact model id.

Is a refusals register a legal requirement?
Not as a general rule of statute. It is very often a condition written into the premises licence itself, and where it is, it binds as firmly as the rest of the licence. Where it is not, it is still the most direct evidence that the age verification policy the licence does require is actually being applied.
Why would a low number of refusals be a bad sign?
Because the number of young people trying to buy age-restricted products does not fall to zero just because nobody is being refused. A store that asks the question thousands of times a month and almost never says no is usually a store where somebody has stopped asking.
What ID does the policy have to ask for?
The mandatory licence condition requires identification bearing a photograph, a date of birth, and either a holographic mark or an ultraviolet feature. Parliament has approved an option to accept digital proof of age from a certified provider as well, which is exactly why the accepted list is held as dated data rather than written into the code.
Does this work in Scotland or Northern Ireland?
The design does; the rules in this series do not. Licensing law differs outside England and Wales, so the rules table would hold a different set of rows and the persistent-selling window in part five would need checking against that law.
What does it cost to run?
A few dollars a month. See part six.
All posts