R-543 closed: the household is asked for the recovery code (controller v0.245.0)
gates / gates (push) Successful in 21s

The tier-3 pause is the zero-knowledge escrow design and is untouched. What was
missing was the ASK, while the backup page promised the copy that had never run.

- VOLUNTEER-first-hour.md: a new step 6, right after the dashboard password and
  before the first app - what the code is, where, write it on PAPER, and that
  Felhom cannot get it back for them. Sections 6..12 renumbered to 7..13.
- day0-install.md A.2b: the operator step for a REBUILT box, which was missing.
  Acknowledged delete -> the hub re-issues by itself; otherwise ONE press of
  "Re-issue PBS credentials" (F-14 ruling 2026-07-13, hub/internal/web/pbsdr.go).
  This is the correction to last night's "zero presses" note.
- 07-backup-architecture.md: 6.1 records tier-3's paused state as a DESIGN, and
  2 records that the household is asked from first login.
- capability map: the first-hour row's last gap closed, with what it still does
  not claim (no volunteer has walked the ask from the written guide).
- register: R-543 CLOSED with the live measurements; R-545 filed (nothing
  un-configures an off-site target). R-511 was already closed yesterday.
- STATUS: the answered publish question removed (1.28.0 is live), readiness yes.
- evidence: red-proofs, the two-box live validation, teardown on three layers,
  and both of my own mistakes in this session.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-16 21:20:51 +02:00
parent 1acd693854
commit d124c77e17
9 changed files with 309 additions and 33 deletions
+26 -7
View File
@@ -102,7 +102,26 @@ nem kell újra összekötni.)*
**legalább 12 karakteres** jelszót. Ez lesz a vezérlőpult jelszava.
4. Ha nem jött meg a kód: **„Új kód kérése"** — mindig ugyanarra az e-mail címre érkezik.
## 6. Az első két alkalmazás telepítése (~2 perc)
## 6. A helyreállítási kód (~2 perc) — ezt ne hagyd ki
A doboz a fájljaidról **titkosított** másolatot küld a Felhom távoli tárhelyére. A titkosítás
kulcsát **csak te** kapod meg: ez a **helyreállítási kód**. Amíg nem hozod létre, **a távoli
mentés nem indul el** — a vezérlőpult minden oldalán látszó sáv ezt írja:
„A távoli mentés szünetel, amíg nem hozod létre a helyreállítási kódot."
1. **Biztonsági mentés → Távoli mentés**, vagy egyszerűen kattints a sávon a
**„Helyreállítási kód létrehozása"** hivatkozásra.
2. Add meg a vezérlőpult jelszavát, és indítsd el. Kb. fél perc.
3. A kód **egyetlen egyszer** jelenik meg a képernyőn. **Írd fel papírra**, és tedd el oda, ahová a
fontos iratokat teszed. Fénykép a telefonról nem elég, ha a telefon is elveszik.
> ⚠ **A Felhom nem tudja visszaszerezni ezt a kódot.** Nem azért, mert nem akarja: a másolataidat
> úgy titkosítják, hogy mi magunk se tudjuk megnyitni őket. Ha a kód elvész, a távoli másolatok
> megmaradnak, de **senki — mi sem — nem tudja többé megnyitni őket**.
Ha ezzel megvagy, a sáv eltűnik, és a távoli mentés magától elindul.
## 7. Az első két alkalmazás telepítése (~2 perc)
1. A vezérlőpulton: **Alkalmazások**. Keresd meg például a **BookStack**-et (családi wiki) és a
**PrivateBin**-t (titkosított jegyzet), és nyomd meg a **Telepítés** gombot.
@@ -110,7 +129,7 @@ nem kell újra összekötni.)*
Az „Automatikusan generált értékek" részt nem kell felírnod.
3. **Telepítés indítása.** A BookStack kb. 1 perc, a PrivateBin kb. 20 másodperc.
## 7. Első belépés az alkalmazásokba
## 8. Első belépés az alkalmazásokba
- **BookStack:** az alkalmazás oldalán az „Első lépések" rész a címet `wiki.DOMAIN` alakban írja —
a DOMAIN helyére a saját domained kerül (ismert hiba). Belépés: `admin@admin.com` / `password`.
@@ -118,7 +137,7 @@ nem kell újra összekötni.)*
- **PrivateBin:** nincs belépés. Írj be szöveget, **Küldés**, és a kapott linket oszd meg — a kulcs a
linkben van, a szerver nem látja a tartalmat.
## 8. Mentések
## 9. Mentések
- **Biztonsági mentés → Áttekintés:** két sárga figyelmeztetést látsz („Csak egy másolat készül",
„ugyanazon a lemezen van") — **ezek igazak**: amíg nincs második meghajtó vagy távoli mentés, egy
@@ -128,23 +147,23 @@ nem kell újra összekötni.)*
teljes rendszermentésben (PBS)" — ez nem minden dobozra igaz (ismert hiba). Az Áttekintés oldal a
pontos.*
## 9. Visszaállítás
## 10. Visszaállítás
**Biztonsági mentés → Visszaállítás:** válaszd az alkalmazást és a mentést, pipáld be a „Megértettem"
négyzetet, **Visszaállítás indítása**. Az alkalmazás kb. fél percre leáll, majd az utolsó mentés
állapotával indul újra.
## 10. Alkalmazás eltávolítása
## 11. Alkalmazás eltávolítása
**Alkalmazások:** előbb **Leállítás**, utána megjelenik az **Eltávolítás**. A párbeszédablak felsorolja,
mi törlődik mindenképp, és bepipálhatod a mentések törlését is.
## 11. Áramszünet
## 12. Áramszünet
Ha elmegy az áram, a doboz magától visszaindul, kb. 2 perc múlva minden alkalmazás ugyanazon a
verzión fut, amelyen előtte. A vezérlőpultba újra be kell jelentkezned.
## 12. Ha elgépelted a kódot
## 13. Ha elgépelted a kódot
A beállító oldal „Hibás vagy lejárt kód" üzenettel visszadobja — írd be újra. **Öt** hibás próbálkozás
után 15 percre zárol („Túl sok próbálkozás — próbáld újra 15 perc múlva."). Új kódot a
+20
View File
@@ -95,6 +95,26 @@ On save the hub generates two credentials:
self-bind mail tells the customer they received it from the Felhom operator.) Treat it like a password.
- **Customer API key** — internal (baked into the generated controller.yaml); never handled manually.
### A.2b REBUILDING a box that already exists — the one press (F-14 ruling, 2026-07-13)
**A rebuilt box does NOT always get its off-site credentials by itself, and this step was missing
from this runbook.** Which of the two happens is decided by how the PREVIOUS box left:
| How the previous box was removed | What the hub does | Operator action |
|---|---|---|
| Deleted through the **acknowledged** delete flow (the escrow acknowledgement was given) | the hub re-issues the off-site credentials **by itself** when the new box enrolls — the box consumes the single-use secret and the tier comes up | **none** |
| The host record was left in place, or the delete was not acknowledged | the hub **reuses** the existing record and mints nothing — the box asks, is refused, and the off-site tier never starts | **one press:** Hub UI → the customer → **„Re-issue PBS credentials"** |
The refusal is correct and deliberate: re-issuing over a live record would orphan the history the
customer's recovery code protects. The mint-once-and-reuse decision lives in `hub/internal/web/pbsdr.go`;
there are **two** Re-issue buttons on that page — the off-site one and the PBS-DR one — and they are
not interchangeable.
> This is the correction to the note that said a rebuilt box needs zero presses. It needs zero
> presses only on the acknowledged path. Measured on a fresh box 2026-09-16: the box reproduced the
> refusal by itself, the re-issue then ADOPTED the record (generation 2) and the box consumed the
> single-use secret.
### A.3 Verify the Day-0 artifact manifest
Hub UI → **Configuration → Day-0 artifacts**. The manifest must vouch an **agent version** and a