# Startauftrag — TP49: CF-Access `login_method`-Include entfernen ❌ NICHT AUSFÜHREN — gegenstandslos > **Geschlossen am 2026-10-06.** Gitea #76, Prosa in `docs/teilprojekte.md` → `### TP49`. > > 🔴 **Dieser Auftrag ist ungültig. Er basiert auf einer falschen Prämisse, die am 2026-10-06 > widerlegt wurde. Nicht ausführen.** Die Datei bleibt als Beleg stehen, damit die Prämisse > nicht in einer künftigen Session wieder als Auftrag auftaucht. ## Warum gegenstandslos Der Auftrag verlangte, `login_method:github` aus der Policy `christoph` der App `420.teilzeitladen.xyz` zu entfernen, weil **„ein beliebiger GitHub-Account"** hineinkäme. **Das ist falsch.** Christoph hat am 2026-10-06 mit `testus@emsenhuber.com` getestet: die Adresse wurde **abgelehnt**. Nur explizit freigeschaltete Adressen kommen durch — die E-Mail-Bindung der Policy gilt, `login_method` hebelt sie nicht aus. ## Wie der Fehler entstand Die Doku-Aussage zu `login_method` („asks which identity service was used for authentication") wurde so gelesen, als **ersetze** der Include die danebenstehende `email`-Zeile. `include` ist ein **OR** — die Zeilen sind Alternativen, nicht Bedingungen. Aus „GitHub ist eine Alternative zur E-Mail" wurde fälschlich „GitHub allein genügt". **Belegt war das nie**; es stand trotzdem als Tatsache in Auftrag und Prosa-Abschnitt. ## Belegte Gegenlage (live geprüft 2026-10-06) | IdP | Typ | `config` | |---|---|---| | `72c1291b…` | github | `client_id`, `redirect_url` — **kein** Domain-Filter | | `c7571880…` | google | `client_id`, `redirect_url` — **kein** Domain-Filter | | `9024c7a6…` | onetimepin | `redirect_url` | **Kein** IdP trägt eine Domain-/Tenant-Bindung (`GET /accounts/{id}/access/identity_providers`). Die Einschränkung kann also **nur** aus der Policy kommen — und sie greift nachweislich. Google ist auf GitHub übertragbar, weil beide IdPs konfigurationsgleich sind. ⚠️ **Grenze:** der GitHub-Pfad wurde **nicht** separat gemessen. Die Aussage ist „Google→GitHub geschlossen", nicht „GitHub getestet". Das ist der einzige Grund, den Eintrag nicht als bewiesen sauber zu führen — **kein** Grund für eine Änderung. ## Ergebnis **Kein Schreibzugriff auf die Terpenfinder-Policy ist erfolgt.** `420.teilzeitladen.xyz` gehört zum Projekt **blaueblüten**; es wurde nichts angefasst. ## Was aus diesem TP erhalten bleibt Nur die **Gotchas** — sie sind unabhängig vom widerlegten Fund und live bestätigt: 1. **Access-App-IDs sind 32 Hex.** Kurzform `16aaec78` → `12045 invalid_application_id`. 2. 🔴 **Der `cloudflare`-MCP ist strikt read-only.** Write-Probe 2026-10-06: no-op-PUT (byte-identischer Body) → **`1010: undefined`**. Writes nur via `CF_API_TOKEN`/curl. 3. **Reusable Policy** nur per **App-PUT** detachbar (`policies:[{id,precedence}]`), nicht per `/policies`-DELETE. ## Lehre **Eine Sicherheitsaussage über fremde Infrastruktur braucht einen Test, nicht eine Ableitung.** Der Befund stand fünf Tage (2026-07-10 → 2026-10-06) als „🔴 ABSOLUTE PRIORITÄT" in der Akte, gestützt allein auf einen Lese-Schluss. Der Test dauerte zwei Minuten.