Changelog
Newest first. Each entry is a change that actually shipped in this repository, with the reason it was made.
2026-11-02 — verifiable pages and a correction path
- Rewrote about around who runs the site, how the data works and what it is not.
- Added methodology, this changelog, corrections, three computed demo draws, compare, how the draw works, the office HR kit and contact.
- Every content page now carries a byline and a "Last verified" line linking to corrections.
- Added the "where a group is stored and for how long" section to privacy, written from the Durable Object code.
- Gift pages list budget bands instead of per-item prices, because no price is affiliate-checked.
- Removed the ad-slot code. This site runs no AdSense.
Why: a reader could not see who wrote a page, what it was checked against, or where to report a mistake.
2026-10-30 — the draw and the group limits, documented
- Added how the draw works (crypto random source, Fisher–Yates, backtracking, every error string) and large groups (3–100 per draw, multi-team and combined CSV).
- Home form: a collapsed explainer under the error line for "No valid draw is possible", plus a new FAQ entry.
- Sitemap
lastmodnow comes from each page's own update date instead of one fixed date; the two new pages carry 2026-10-30. - Added
scripts/ci.shand two tests covering the new pages.
Why: the algorithm was only described in passing, and the organiser of a 60-person office had nowhere to look.
2026-10-28 — a failed draw explains itself
- The client checks the three-name minimum before the request and shows a one-line hint in English, Dutch and German.
- Error codes are logged without personal data.
Why: "Add at least 3 people." arrived as a bare red line with no next step.
2026-10-27 — shorter home title, larger share image
- Home title shortened so it is not truncated in results; Open Graph image set to 1200×630.
Why: the long title was cut mid-phrase in search results and shares.
2026-10-27 — German pages and live contact addresses
- German Wichteln section with its own pages and hreflang group.
- hello@ and privacy@ addresses went live and replaced the placeholders.
Why: German is the second-largest audience, and a privacy policy needs a working mailbox.
2026-10-27 — compliance and the Dutch site
- English copy review; privacy, terms, robots and the 120-day deletion rule tightened.
- Dutch
/nl/section (later moved to root-level slugs), white-elephant turn shuffler, first test suite.
Why: launch required a data-retention rule that the code actually enforced, not just a sentence.
2026-10-27 — first public version
- English generator: names, exclusion pairs, budget, date, private reveal links, organiser page.
Why: the initial release.
See about for who maintains the site, or draw names.
Updated November 2, 2026