## 2026-10-08 — the FAQ's GDPR answer tells the truth about where copies and traffic go (R-900; operator approved the text in chat) - `gyik.html` and `en/faq.html`, the GDPR answer, both the visible text and its structured-data copy: the line „az adataid a saját infrastruktúrádon vannak — nem harmadik félnél" / „not with a third party" is replaced. It now says the data lives on the household's own box; backup copies are encrypted on the box before they leave and stored at Hetzner in the EU (Germany), where the provider cannot read them; remote access goes through Cloudflare, which could technically see that traffic; small businesses are pointed to the privacy notice (not published yet, so no link). The „not lawyers" line stays. Searched the rest of the site (ASCII fragments, positive control „Hetzner" = 2 per page): no other page makes the claim. ## 2026-10-08 (later) — the language switch becomes a globe, like the dashboard's - The text link in every page's nav („English" / „Magyar") is replaced by a **globe** (`i-globe` from the sprite): a `
` whose list names each language in its own language — Magyar, English, in that order on every page. The page's own language is marked (bold, a blue rule, `aria-current="true"`); the other item goes to the twin page. `aria-label`/`title` „Nyelv" / „Language". Works with JavaScript off; no script added (the controller adds none). - Phone: inside the opened menu the globe is the last item and its list opens in place. - `site.css`: the globe's rules (desktop and the ≤900 px menu); `?v=2` → `?v=3` on all sixteen pages. There was no `.lang-switch` rule to retire — the text switch was unstyled. - `404.html` and the hidden prices page carry the globe too (their foreign item points at `/en/`): the shared nav must compare equal across the Hungarian set, so they keep what every page carries. - Gates: the globe replaces `SWITCH_RE` in gates 3 and 13 (`scripts/CHANGELOG.md`). ## 2026-10-08 — the website catches up with the product: true numbers, the missing apps, an English twin of every page The last content refresh was 2026-07-18. Every claim on the eight public Hungarian pages was checked again against `documentation/architecture/00-capability-map.md` (and `07`, `09`, `10`, the catalog, the licence read) — the table is `documentation/audits/website-refresh-2026-10-08/claims.md`. No redesign; the July tone and layout stay. - **One app count, measured: 56.** The catalog has 58 templates; `plant-it` (abandoned) and `wger` (hidden) are not offered to a household (`visibleCatalogStacks`). „53" and „több mint 45" are gone from every page, title, meta tag and JSON-LD (`numberOfItems` read 45). - **„100% nyílt forráskódú" was false.** The licence read (`audits/licences-2026-10-02/TABLE.md`): Plex and Emby are proprietary; n8n, Outline, Tandoor and SparkyFitness carry restricted licences; Recipe Importer is Felhom's own. Now „szinte mind"; each exception carries its own badge (*Zárt forráskód* / *Korlátozott licenc* / *Felhom saját*); the stat reads 49 open source. - **The apps page shows what a household can install.** Plant-it and wger cards cut; ten cards added (Dawarich, Docmost, Grimmory, Homebox, Karakeep, Mealie, MeTube, Radicale, Recipe Importer, SparkyFitness), Hungarian from the catalog's own text. FileBrowser stays, badged *Beépített* (it is on every box, not in the catalog). Calibre-web → Calibre-Web Automated (the image the catalog ships). Twelve logos pointed at a missing `.svg` and fell back to `.png` through an `onerror` — they point at the `.png` now. - **Claims cut or softened** (no capability row): firewall/Fail2ban/geo-blocking/WireGuard-for-households, RAID, „pillanatkép minden változtatás előtt" (the update path takes a backup and undoes itself — that is now said), „egy új gépre visszaállítható", the „önálló modell", „bármilyen nyílt forráskódú alkalmazás telepíthető", household VPN, „soha nem vész el" ×4, the off-site „havi pár száz forint" (the operator's own price is per 100 GB), „TV-re streamelés hamarosan" (now „még nincs"). - **Added, each on a PROVEN-LIVE row:** backups on three levels (on the box, a second drive, encrypted off-site); careful app updates (tested versions only, a backup first, the box undoes a failed update); the dashboard in Hungarian or English; OS security updates (the kernel lane is not claimed). - **`technologiak.html` showed a file-dump footer** („Summary: 13 files included, 218 skipped") under `` — removed; a gate now refuses text after ``. - **`404.html`** — nginx's `error_page 404` pointed at a page that did not exist. Hungarian first, one English line, a link home; `noindex`. - **The English twin of every public page** (operator ruling 2026-10-08; choice B — public at once): `/en/`, `/en/apps`, `/en/technology`, `/en/backups`, `/en/faq`, `/en/contact`, and `/en/download` moved onto the new English nav and footer. `hreflang` hu/en/x-default both ways, `canonical` to itself, `lang="en"`, English JSON-LD (the FAQ's JSON-LD is now rebuilt from its visible answers on both pages — the Hungarian one had drifted from them), an English `og-image-en.png` (the card carries Hungarian text). The English footer says Felhom serves households in Hungary. The contact form posts to the same `/api/contact` with English subject labels marked „(EN)"; `?tema=` takes the same values. - **The language switch** — one nav item on every page, „English" / „Magyar", pointing at the twin; it replaces the header link R-559 put on the two download pages. No redirect, no cookie. - **`sitemap.xml`** lists both languages with `xhtml:link` alternates. - Gates: `scripts/site_gates.py` gates 3 and 13–18, eleven new decoys (see `scripts/CHANGELOG.md`). **Published:** push to `main`, git-sync. No `site.css` or `icons.svg` change, so no cache-bust bump. ## 2026-09-18 — an English download page (R-559) - **`website/en/download.html`** — the English twin of `letoltes.html`. Same installer, same checksum, same structure; ``, its own English nav and footer, `hreflang` alternates both ways (`x-default` points at the Hungarian), and an entry in `sitemap.xml`. - **`letoltes.html` changed by FOUR lines and nothing else**: three `hreflang` alternates and one `English` link in the page header. The link is deliberately **not** in the nav — the nav is a shared block that `site_gates.py` pins across every page, and the gate convicted the first attempt, which is how the link found its right home. - **The rest of the marketing site stays Hungarian** (operator ruling 1b, 2026-09-17). - **New gate 12: the two download pages must name the SAME installer file and the SAME checksum.** Publishing an ISO now means editing a filename, a size and a 64-character hash on two pages; update one and forget the other and an English reader checks a new image against an old hash, fails, and is told by the page itself not to use the file. Red-proofed both ways. - `en/download.html` is registered in `PAGES` and in the new `EN_PAGES` set, which exempts it from the Hungarian nav/footer comparison and from nothing else. **Published:** the site's normal path — push to `main`, git-sync picks it up in ~1–2 min. No `site.css` change, so no cache-bust bump was needed. # website/ changelog (newest on top) ## 2026-09-15 — New page: /letoltes (the installer download) The volunteer guide sends people to `felhom.eu/letoltes`; the page did not exist. It now names installer **1.27.1**, its size and SHA-256, how to check the sum on Linux/Mac and Windows, and — first — the disk warning: the installer erases the disk you choose, never picks one, unplug the backup drive, call the operator if unsure. `noindex` (it is for people holding the guide). Same skeleton as the other pages, no nav entry; added to `sitemap.xml` and to `scripts/site_gates.py` PAGES; site gate OK. Published together with the ISO (round trip verified first), so the link never pointed at a missing file. ## 2026-07-19 — Restored: the index grid background The subtle grid behind the hero was **not** removed on purpose. It lived as a fixed `body::before` in `index.html`'s inline `