--- type: adr id: "0016" status: accepted date: 2026-08-14 supersedes: null superseded_by: null related: - "docs/adr/0001-gitlab-kanonisch-push-mirror.md" - "docs/issues/0030-der-restore-ist-nie-geprobt-sicherungen-sind.md" --- # 0016 — Das Notfallhandbuch bleibt lab-intern und wird nicht gespiegelt **Status:** akzeptiert · **Datum:** 2026-08-14 · **Entscheider:** sorb ## Kontext ADR-0001 legt fest: git.lab ist kanonisch, **alle** Repos werden per Push-Mirror nach Gitea (`rohana.axion1337.de`) beliefert. Das dient der Verfügbarkeit — Gitea ist von überall erreichbar, git.lab nur im Lab bzw. über VPN. Am 2026-08-14 entstand mit `axion1337.chat/notfallhandbuch` ein Repo, dessen Inhalt qualitativ anders ist als Code oder Konfiguration: Es beschreibt die Wiederherstellung der Plattform und damit zwangsläufig **den Aufbau der Infrastruktur, den Ablageort der Sicherungen (Storage Box, Borg-Repos) und wo die Schlüssel zu finden sind** (Vault, `sops-age`, die Kette bis zur Borg-Passphrase). Werte enthält es nicht — aber die vollständige Landkarte dorthin. Rein aus Verfügbarkeitssicht wäre ein Mirror besonders naheliegend: git.lab ist genau dann nicht erreichbar, wenn man das Handbuch am dringendsten braucht. Diese Empfehlung wurde in #0030 zunächst auch so gegeben. ## Entscheidung **Das Notfallhandbuch wird bewusst NICHT nach Gitea gespiegelt** und bleibt ausschließlich auf git.lab — eine dauerhafte Ausnahme von ADR-0001. Begründung: Gitea/rohana ist aus dem Internet erreichbar und Teil des Stacks, den das Handbuch wiederherstellen soll. Wird dieser Stack kompromittiert, wäre ein dort gespiegeltes Notfallhandbuch genau die Aufklärung, die ein Angreifer für den nächsten Schritt braucht — Backup-Ziele, Schlüsselverwahrung, Wiederanlaufpfade. Ein Angreifer mit rohana-Zugriff soll **nicht** zusätzlich erfahren, wo die Sicherungen liegen. **Vertraulichkeit geht hier vor Verfügbarkeit.** Die Verfügbarkeitslücke wird stattdessen über einen **lokalen Clone** geschlossen (Laptop, verschlüsselter Datenträger), der nach Änderungen aktualisiert wird. Das ist eine Kopie unter eigener Kontrolle, kein öffentlich erreichbarer Spiegel. ## Konsequenzen - **Kein Mirror einrichten** — auch nicht „der Vollständigkeit halber" oder beim Vereinheitlichen der Mirror-Konfiguration. Die Begründung steht zusätzlich im README des Repos, weil dort zuerst hinschaut, wer die Lücke bemerkt. - Ohne Lab-Zugang (unterwegs, Lab offline) ist das Repo nicht abrufbar. **Der lokale Clone ist damit Teil des Notfallkonzepts**, nicht bloß Bequemlichkeit — veraltet er, verliert man im Ernstfall den aktuellen Stand. - Das Handbuch darf weiterhin **keine Secret-Werte** enthalten, nur Fundorte. Die Vertraulichkeit dieses Repos ist eine zusätzliche Schutzschicht, kein Ersatz für die Secrets-Hygiene. - Andere Repos bleiben von dieser Ausnahme unberührt; ADR-0001 gilt für sie weiter. ## Verworfene Alternativen - **Mirror wie bei allen anderen Repos:** verworfen — verlagert das Handbuch auf genau den Host, dessen Kompromittierung einer der abgedeckten Fälle ist. - **Mirror in ein privates Gitea-Repo:** verworfen — der Schutz stünde und fiele mit der Gitea-Rechteverwaltung, also erneut mit der Integrität des kompromittierten Systems. - **Handbuch ohne Fundorte schreiben** (damit es gefahrlos spiegelbar wäre): verworfen — ein Notfallhandbuch, das verschweigt, wo die Sicherungen und Schlüssel liegen, ist im Ernstfall wertlos.