# Issue #41 – CSP Header implementieren

## Komplexität: S (Small)
- Header-Zeile in index.php oder .htaccess hinzufügen
- Geschätzter Aufwand: < 30 Min

## Analyse
Statische Landingpage, keine dynamischen Scripte von Drittanbietern. CSP kann sehr restriktiv sein.

### Externe Ressourcen
- Google Maps iframe: `frame-src https://www.google.com/maps/`
- Lokale Fonts: `/fonts/` → `'self'`
- Lokale CSS: `/css/` → `'self'`
- Lokale JS: `/js/haus-schleusingen.js` → `'self'`
- Bilder: `'self' data:` (fuer inline-Bilder)
- `unsafe-inline` fuer Styles vermeiden → pruefen ob noetig

### Architektur-Entscheidung
CSP Header in `public/.htaccess` setzen (nicht in PHP), da:
- Zentraler Ort, einfach wartbar
- Kein PHP-Code noetig
- Apache-spezifisch, aber das ist die Produktionsumgebung

### CSP-Richtlinie
```
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; frame-src https://www.google.com/ https://www.google.de/; connect-src 'self'
```

Hinweis: `unsafe-inline` fuer styles vorerst beibehalten, da inline-styles in Views verwendet werden (z.B. hero-bg `style="background-image:..."`). Spaeter durch Nonce/Hash ersetzen.

### Akzeptanzkriterien
- [ ] CSP-Header wird in jeder Response gesendet
- [ ] Alle Ressourcen (CSS, JS, Fonts, Bilder) laden korrekt
- [ ] Google Maps iframe funktioniert
- [ ] Keine CSP-Verletzungen im Browser-Console

### Abhängigkeiten
Keine. Unabhaengig von anderen Issues.

### Edge Cases
- `data:` URIs fuer Bilder -> `img-src 'self' data:`
- Google Maps iframe kann auch `www.google.de` nutzen
- `unsafe-inline` styles: View-Templates nutzen `style="..."` Attribute

### Sicherheitsrisiken
- `unsafe-inline` fuer styles: Minimales Risiko, aber acceptable fuer Landingpage
- Keine `unsafe-eval` oder `unsafe-inline` fuer scripts
