TLS-Gate v3.13.0: Code-Stand im Audit, SSL-<n> = ID <n> bestätigt
Von: Branko → OZMAI, Crew
Stand: 11. Oktober 2026
Typ: EXTERNAL_SOURCE (Inbox-Regel §3, keine automatische Geltung, kein Brain-Status)
Charakter: NACHTRAG + Antwort auf 2026-10-10_ANTWORT-OZMAI_CRUMBFOREST-LOGIN-031200.md §2 und 2026-10-10_ANTWORT-OZMAI_USER-TEST-MFA-CREW402.md §3.
Ersetzt drei Aussagen:
(1) 2026-10-09_TLS-GATE-CRUMBFOREST-LOGIN-031200-STATEMENT_BRANKO.md §0: „Ob dafür ein eigener Tag gesetzt wird, ist offen“ → Tag v3.13.0 = 00bad35.
(2) 2026-10-10_TLS-GATE-USER-TEST-AKTIVIEREN-… §3 zu OZMAI §2: „Commit-Stand beim Image-Bau festhalten und im Audit mitschreiben … Nicht gebaut“ → gebaut, §1.
(3) Die offene Frage „SSL-4 = ID 4 der Produktliste?“ (zuletzt 2026-10-10_TLS-GATE-24-MONDE-… §6) → von Branko bestätigt, §2.
Quelle: Repo TLS-Gate-Mock-Pipeline, Tag v3.13.0 = 00bad35 (Inhalt 2e4a0d5; Vorgänger v3.12.0 = 5e064de, dazwischen 04c6095 … 7822f46).
Belege: lokal 35 von 35 Suiten grün, neu tests/test_build_stamp.sh (25). VM nach docker_vm/build.sh aus genau 00bad35: run 91 (+4), p3 48, p4 54, p5 31, p6 22, p7 50. ozm01, ozm02, ozm03 tragen commit=00bad35… dirty=0.
Legende: ✅ real/gebaut · 🧪 gebaut, getestet, nicht live · 🛠 spezifiziert · ⬜ OPEN · ❓ UNKNOWN
Keine Zugangsdaten, keine Kunden-Domains, keine Reseller-IDs, keine Ausgaben aus echten Läufen.
1. Code-Stand im Audit (Antwort auf OZMAI: VERSION_LABEL ⇏ EXACT_IMPLEMENTATION_STATE)
- 🧪 Beim Image-Bau:
docker_vm/build.shgibt den Commit unddirty=0|1ins Image.dirty=1bedeutet:native_php,native_bash_clioderdocker_vmwichen beim Bau vom Commit ab. Die Instanz trägt den Stand alsapp/BUILD,instance.shmeldet ihn. - 🧪 Im Audit: Aktionen, die den Registrar berühren oder seine Antwort verarbeiten, tragen
ctx.build:ssl.*,cli.inventory_sync,cli.order_tick,cli.cred_test,web.cred_test,cli.catalog_import_products. Das gilt auch für Läufe ohne Änderung,dry_run,rejectedunddenied. Andere Aktionen bleiben unverändert. - 🧪 Kurzform:
<12 Hex>heißt aus dem Commit gebaut.<12 Hex>-dirtyheißt mit Abweichung oder ohne Angabe gebaut.<12 Hex>-gitsteht für eine Arbeitskopie, deren Änderungen nicht geprüft wurden. Sonst steht dortunbekannt. Ein Bau ohnebuild.sherzeugt also keinen erfundenen Stand. - 🧪 Der Seitenkopf zeigt nach der Anmeldung
v3.13.0 @00bad35e323c. Im Klicktest ist damit sichtbar, welcher Stand antwortet (Lehre aus Browser-Cache und ozm01/ozm03). - ✅ Getaggt ist der Commit, der in der VM lief, nicht ein Stand davor. Die VM-Suite prüft das:
app/BUILDgleich Host-Commit,dirty=0, Auditssl.exportProductsmitctx.buildgleich Commit. - ⬜ Grenze: Ansible-Rolle und Betrieb sind nicht verdrahtet. Ohne
BUILDsteht dort…-git(Arbeitskopie) oderunbekannt. Der Image-Digest wird nicht erfasst (OZMAI: Kür). Damit bleibtwelcher Code sollte laufen(Commit) vonwelches Artefakt lief(Digest) getrennt, der zweite Teil ist offen.
2. SSL-<n> = ID <n> (Branko, 11.10.)
- ✅ Brankos Aussage: In der Order wird als Option nur die Ziffer übergeben, die SOAP-Details geben sie mit dem String-Präfix aus.
SSL-4im Bestand ist also die ID 4 der Produktliste. - 🧪 Ein gemeinsamer Vergleichsschlüssel (
CatalogLoader::refKey) macht ausSSL-4,ssl-04und4jeweils4. Andere Formen bleiben, wie sie geliefert wurden (kein Raten). Gespeichert wird weiter der gelieferte Wert. - 🧪 Wirkung: Der Abgleich meldet
SSL-4nicht mehr als unbekannt, wenn der Katalog4aus dem Import führt.bestand.phpzeigt den Katalognamen.stammdaten.phpzeigt den Eintrag der Produktliste ohne Fragezeichen. Die Löschsperre im Katalog zählt genau4undSSL-4(vorherLIKE '%-4'). - ❓ Ob die Live-Instanz
SSL-4/SSL-80danach als bekannt führt, hängt davon ab, ob dort die Produktliste importiert ist (catalog_cli.php import-products). Das ist nicht bekannt.
3. Was NICHT belegt ist
- ⬜ Der SOAP-Test auf
v3.13.0. Er läuft erst in der isolierten Netzwerkumgebung im VPN, und die lag dem Entwickler nicht vor. Vorgesehen ist zuerstsync --dry-run. Im Audit steht dannctx.build. Ergebnis nur als Brankos Aussage (ATTESTED_BY_BRANKO). - ❓ Wie die echte VM gebaut wird. Nur mit
docker_vm/build.shsteht00bad35e323cim Audit, sonst…-gitoderunbekannt. Einunbekanntim Live-Audit wäre ein Befund, kein Fehler des Stempels. - ⬜ Der Klick „aktivieren“ durch die Demo-User auf ozm03 steht aus. Die drei Buchungen für Crumbforest Login sind weiter
offered.
4. Unverändert offen
- ⬜ MFA
codeverpflichtend für Gruppen mit Root-, Managed- oder SSL-Freigaben, oder bleibt es Konvention (OZMAI: „sensitive effect requires independent binding“). - ⬜ Storno beim Registrar,
sslReplaceals „ersetzt“ abfragbar ❓, Order-Pool, Cron-JSON je Gruppe, Monitor füroffered. - 🛠 Crew 402 bleibt Zielbild, nichts gebaut.
5. Einordnung als Prüffall (Branko, nicht OZMAI-Geltung)
Ein Tag benennt einen Commit, und ein Audit-Eintrag nennt jetzt den Commit, der ihn geschrieben hat. Beides zusammen beweist noch nicht, dass draußen derselbe Code lief. Es macht die Behauptung aber prüfbar: Steht im Live-Audit 00bad35e323c, lief v3.13.0. Steht dort etwas anderes, lief etwas anderes. Und unbekannt sagt genau das.