diff --git a/dev/rechtliches/nachweise/README.md b/dev/rechtliches/nachweise/README.md index f1e85889..41feb2c7 100644 --- a/dev/rechtliches/nachweise/README.md +++ b/dev/rechtliches/nachweise/README.md @@ -15,8 +15,8 @@ Screenshots und Verträge (`*.png`, `*.pdf`) sind von Git ausgeschlossen und lie | [`bn-02-berechtigungen-2026-10-13.md`](bn-02-berechtigungen-2026-10-13.md) | ✅ | 1 Admin-Konto mit Passkey und TOTP, keine Editoren; Ablauf in [`bn-02-ablauf.md`](bn-02-ablauf.md) | | `boost-01-startseite-desktop.png` | ✅ | Aufmacher mit Label. Nur ein Boost aktiv, daher kein Rahmen-Label in der Liste | | `boost-02-branchenseite-desktop.png` | ✅ | Aufmacher mit Label | -| `boost-03-startseite-mobil.png` | ↻ | neu aufnehmen nach v1.9.1: Label verdeckte den Bildnachweis | -| `boost-04-tooltip.png` | ↻ | neu aufnehmen nach v1.9.1: Erklärung stieß rechts an den Rand; gern zusätzlich Desktop mit Maus | +| `boost-03-startseite-mobil.png` | ✅ | v1.9.1: Bildnachweis unten rechts frei lesbar | +| `boost-04-tooltip.png` | ✅ | v1.9.1: Erklärung per Tipp, vollständig im Bild | | `ui-01-upload-rechtebestaetigung.png` | ✅ | Schalter, Kurztext, vollständiger Wortlaut mit AGB-Fassung | | `ui-02-upload-ki-angabe.png` | ✅ | KI-Kennzeichnung, „Keine Herkunftsdaten in der Datei gefunden“ | | `ui-03-bild-nachweiszeile.png` | ✅ | Hub-Ansicht mit Bestätigungsprotokoll („Rechte bestätigt am …, img-confirm-v2, AGB 0.6, form“) | @@ -43,7 +43,7 @@ Screenshots und Verträge (`*.png`, `*.pdf`) sind von Git ausgeschlossen und lie | Datei | Status | Hinweis | |---|---|---| -| `bn-01-release-und-schalter.md` | ◐ | Vorlage mit Befehlen und Code-Standards | +| `bn-01-release-und-schalter.md` | ◐ | `.env`-Zeilen weichen vom Verhalten ab (Rechtebestätigung und Umami laufen); geladene Werte per `config()` nachtragen | | `bn-03-backups.md` | ☐ | inkl. Roadmap 1.5 und `redis-cli CONFIG GET save` / `appendonly` | | `bn-05-instanzfristen.md` | ☐ | GlitchTip 90 Tage, Nginx-Logrotate 14 Tage, Umami 13 Monate, Löschregel Bounce-Postfach | | BN-04, BN-09 | – | entstehen mit RP-04 | diff --git a/dev/rechtliches/nachweise/bn-01-release-und-schalter.md b/dev/rechtliches/nachweise/bn-01-release-und-schalter.md index 1e75bf94..c8c98973 100644 --- a/dev/rechtliches/nachweise/bn-01-release-und-schalter.md +++ b/dev/rechtliches/nachweise/bn-01-release-und-schalter.md @@ -1,6 +1,6 @@ # BN-01: Release und Schalter auf Live -**Erhoben am:** [Datum] · **von:** [Name] · **Server:** [Host] +**Erhoben am:** 13.10.2026 · **von:** Betreiber · **Server:** Live (Ploi) ## Befehle (auf dem Live-Server im App-Verzeichnis) @@ -35,9 +35,11 @@ Die `grep`-Zeile gibt nur Schalter und Fristen aus, keine Schlüssel. Fehlt ein **Muss stimmen, damit das Paket zutrifft:** `IMAGE_PRECHECK` aus (das Paket nennt D8 „ausgeschaltet“; in der lokalen Entwicklungsumgebung ist es an), `NEWSLETTER_SENDING_ENABLED` aus, `UMAMI_IDENTIFY_USERS` aus, `LEGAL_ACCEPTANCE_GATE` aus (laut Paket ausgeschaltet bis Deploy 3), `IMAGE_RIGHTS_V2` an (D1 „aktiv seit 28.09.2026“). +## Ergebnis 13.10.2026 +**Rohausgabe der `.env`-Zeilen** (vor dem Deploy von v1.9.1): - +``` Laravel Framework 12.69.3 v1.9.0 APP_ENV=production @@ -56,4 +58,23 @@ UMAMI_PORTAL_ENABLED=false # erst nach DSE-Anpassung UMAMI_IDENTIFY_USERS=false # erst nach DSE-Anpassung agb: 0.6 ab 2026-07-03 00:00:00 datenschutz: 0.3 ab 2026-07-03 00:00:00 -richtlinien: 0.2 ab 2026-09-22 00:00:00 \ No newline at end of file +richtlinien: 0.2 ab 2026-09-22 00:00:00 +``` + +Nicht gesetzt und damit Code-Standard: `AUTH_REQUIRE_STRONG_ADMIN` (an), `TURNSTILE_FAIL_OPEN` (an), alle Fristen (395 / 90 / 90 Tage, Logs 14 Tage). + +**Widerspruch zum Verhalten von außen (geprüft 13.10.2026):** + +- `IMAGE_RIGHTS_V2=false`, aber die öffentliche API-Doku (`presseecho.de/de/api`, `pressekonto.com/de/api`) verlangt `rights_confirmed` und `confirm_text_version` (`img-confirm-v2`). Das erscheint nur bei aktivem Schalter. +- `UMAMI_ENABLED=false`, aber presseecho.de und businessportal24.com laden das Umami-Skript von `sys.adametz.media`. + +Die `grep`-Zeilen bilden die tatsächlich geladene Konfiguration also nicht ab, zum Beispiel wegen doppelter Schlüssel, Leerzeichen vor dem Gleichheitszeichen oder eines alten Config-Caches. Maßgeblich ist der geladene Wert: + +```bash +php artisan tinker --execute 'foreach (["app.env","session.driver","cache.default","images.rights_v2","images.precheck.enabled","legal.acceptance_gate","newsletter.sending_enabled","services.umami.enabled","services.umami.portal_enabled","services.umami.identify_users","auth.require_strong_admin_authentication","services.turnstile.fail_open","services.openai.url","services.openai.model"] as $k) { echo $k." = ".var_export(config($k), true).PHP_EOL; }' +grep -n -E "IMAGE_RIGHTS_V2|UMAMI_ENABLED" .env +``` + +**Geladene Werte:** [Ausgabe eintragen] + +Erwartet laut Paket: `images.rights_v2 = true`, `services.umami.enabled = true`, alle anderen Schalter `false`; `auth.require_strong_admin_authentication` und `services.turnstile.fail_open` `true`.