# Browser, Backend und Secrets: lokale HTTP-Fixture

Python 3.10 oder neuer, nur Standardbibliothek:

```sh
python3 run.py > results.json
```

Der Runner startet ausschließlich auf `127.0.0.1` und räumt den Server anschließend auf.
Es werden keine echten Zugangsdaten oder Zieladressen angenommen. Alle Schlüssel sind zufällige,
kurzlebige Testwerte; der öffentliche Marker ist ausdrücklich keine Anbieterberechtigung.
Das Anbieter-Modell ist eine lokale Funktion und erzeugt weder Netzverkehr noch Gebühren.

15 Prüfungen: öffentliche HTML-/JavaScript-Antworten und positive Suchkontrolle; kein bekanntes
Secret im ausgelieferten JavaScript oder in Antworten; fehlende Sitzung, öffentlicher Marker als
Sitzung, fremder Kontakt und unerlaubtes URL-Feld abgewiesen; keine Anbieterarbeit bei Ablehnung;
erlaubte Aktion; Ersatzschlüssel hinzufügen, Backend umstellen, alten Schlüssel entziehen;
weiterer Erfolg mit Ersatz und bereinigter Fehler eines veralteten Backends.

## Grenzen

Kein Lovable-Export, kein Vite-Build, keine Browserausführung, kein Supabase Auth, kein echter
Anbieter und keine Prüfung realer Schlüsselrotation. Anmeldung, Sitzungen und Mitgliedschaften
sind vorgegeben; Cookie-/CSRF-Verhalten ist nicht enthalten. Der Anbieterstub ist bewusst kein
allgemeiner HTTP-Proxy. Rate Limits und Budgets sind in dieser separaten Fixture nicht implementiert.
Ein erfolgreicher Byte-Scan ist kein allgemeiner Nachweis der Abwesenheit aller Secrets.
Python `http.server` ist nur ein lokales Lehrmittel.

`results-2026-09-28.json` hält den ausgeführten Quelltext per SHA-256 fest. Die MIT-Lizenz steht
in `LICENSE.txt`; Artikel und obhut-Marke behalten ihre eigene Lizenz.
