What visitors see on a public story page
The public story page from a visitor's point of view — the address forms, the age gate, the page itself, and what's searchable.
This page describes what someone finds when they open one of your published story pages — whether they scanned the QR code on a bottle or followed a link you sent. It's the visitor's side of Create, publish, and share a story page; there's nothing to set up here.
The address a visitor opens
Every published page lives under /stories/…. There are three forms, depending on your plan:
- A share link — a single opaque token, like
/stories/<token>. This is the free form and what the "Share what I made" flow produces. - A vanity address — your workspace handle and the page's slug, like
/stories/<handle>/<slug>(paid plans). - A custom domain — your own domain serving the page (enterprise plans).
Whichever form a page uses, the link is permanent — it keeps working, which is what makes it safe to print on a label.
The age check
Beverage-alcohol pages open with an age confirmation before any content shows. A visitor sees Are you of legal drinking age? and two choices:
- Confirming reveals the page and remembers the choice on that device, so the check isn't shown again on the next scan.
- Declining sends the visitor away without showing the page and doesn't remember the choice, so they're asked again next time.
The page itself
Once the visitor is through the age check, the page renders in your workspace theme and shows only what you chose to expose when you built it. Depending on those choices, a visitor may see:
- A hero with the bottle's name and your photography.
- The batch's provenance — how it was made, told as a story.
- The recipe — the recipe summary you wrote (never your structured recipe or blend proportions).
- Tasting notes — your most recent tasting note for the batch, if you exposed it. It appears under a Tasting notes heading with your note in full, the date you tasted it, and — if you gave one — your rating, shown as 4 / 5. Two page types can show it, and they behave differently: a batch page reads the note fresh, so it always catches up to your latest one (public pages are cached for a few minutes, so a brand-new note can take that long to appear); a batch override (a per-bottling page under a SKU) freezes the note at that override's first publish, so a later note doesn't change what a bottle already in the field shows. SKU and package pages don't show tasting notes at all — a note belongs to one batch, and those pages don't point at a single one.
- A lot certificate with the facts you exposed — for a SKU or package page, the lot code, the bottling date and the measured ABV / proof. A SKU page shows its latest released lot; a package page shows its own lot, once that lot is released.
- Your photo gallery.
- A quiet Made on Brewstiller footer, and a link a visitor can use to report the page.
A field you didn't expose simply doesn't appear — the page adapts to what you shared.
When a lot is recalled
If you mark a lot as recalled, the story pages that name it say so — a visitor never has to guess why a page has gone quiet. The notice sits at the top of the page, above the page's own content, and it appears regardless of which fields you chose to expose.
- A package page for the recalled lot shows a fixed notice: This lot has been recalled by the producer. Do not consume. Contact your name for details. The lot's own facts (lot code, bottling date, ABV and proof) stay hidden. The name is the one your page already shows as the maker; if you didn't expose it, the notice says the producer.
- A batch page for one bottling (a batch override) freezes its lot facts when you first publish it. If any lot packaged from that batch is recalled afterwards — the one the page froze or another — the page names the recalled lot code or codes the same way a SKU page does (below). If the frozen lot is one of them, the page also stops showing its frozen lot code, bottling date, ABV and proof.
- A batch page (one that isn't a per-bottling override) covers every lot packaged from the batch, so it names any recalled lot code or codes the same way.
- A SKU page shows a notice naming only the recalled lot code or codes — Lot HR-CR-114 of this product has been recalled — check the lot code on your bottle. With two or more it reads Lots A and B … have been recalled (Lots A, B and C … for three). The rest of the page is unchanged, so the product isn't flagged as a whole; a visitor whose bottle carries a different lot code can see at a glance that theirs isn't named.
- A recalled lot with no lot code can't be named, so the SKU or batch page says so instead of staying silent: A lot of this product without a printed lot code has also been recalled — contact your name for details alongside the named lots, or on its own — A lot of this product has been recalled — contact your name for details — when every recalled lot is uncoded. With more than one it gives the count (2 lots of this product …have been recalled). Holders of an uncoded bottle are never told it is fine.
A deleted lot, and a page that isn't published, never show any recall text. A lot that is only held or pending isn't a recall and doesn't trigger a notice.
Retired pages
If you've retired a page and pointed it at a successor, a visitor who opens the old address is sent straight to the newer release. If you retired it with a message instead, they see that message. Either way the printed link never dead-ends.
What's searchable, and what stays private
- A vanity address (your handle and slug) is a public, discoverable page — search engines can index it, and it's the address to promote.
- A share link (the opaque token form) is unlisted by design: anyone with the link can open it, but it's never indexed by search engines and won't turn up in search results. Retired pages and any address that doesn't resolve to a published vanity page stay unlisted too.
So a one-tap batch share stays as private as the link you send it to, while a SKU's vanity page works as a marketing surface people can find.