docs(legal)+test: Compliance-Dokumentation & Consent-Unit-Tests (v1.7.4)

Teil 5 des Compliance-Updates:

- docs/legal/: data-processing-inventory.md, subprocessors.md,
  technical-organizational-measures.md, retention-and-deletion.md, incident-response.md,
  licenses-and-attributions.md — Ist-Zustand aus der Analyse, offene Punkte als Platzhalter
- Reine Consent-Regeln nach src/lib/legal-rules.ts ausgelagert (kein Prisma) + Texte nach
  src/lib/legal-content.ts (7 Pflichtbestätigungen) — für Testbarkeit
- Vitest eingerichtet (vitest.config.ts, test-Script); 13 Tests grün:
  Pflicht-Dokumenttypen, Re-Consent bei neuer Version, normale Benutzer ≠ Org-Vertreter,
  7 Org-Bestätigungen, Platzhalter-Erkennung, keine erfundenen Subprozessoren

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Pepe Ziberi
2026-07-23 12:19:01 +02:00
parent 235959101b
commit a943db9c54
15 changed files with 1534 additions and 69 deletions

View File

@@ -0,0 +1,45 @@
# Lizenzen und Attributionen — Lageplan
Stand: 2026-07-23 · sorgfältiger Entwurf. Eine Quellenangabe ersetzt NICHT automatisch eine
erforderliche Nutzungslizenz. Offene Freigabefragen sind markiert.
## Karten & Geodaten
| Quelle | Nutzung | Lizenz/Bedingungen | Attribution | Offene Frage |
|---|---|---|---|---|
| OpenStreetMap | Basiskarte, Nominatim | ODbL (Daten) | "© OpenStreetMap-Mitwirkende" (vorhanden im Impressum/Karte) | Tile-Usage-Policy einhalten (Fair Use) |
| Esri World Imagery | Satellitenlayer | Esri-Nutzungsbedingungen | "Esri World Imagery" | ⚠️ kommerzielle/Nutzungsbedingungen prüfen |
| swisstopo (geo.admin.ch) | Landeskarte | swisstopo-Bedingungen | "© swisstopo" empfohlen | ⚠️ Attribution/Bedingungen bestätigen |
| Open-Meteo | Wind/Höhe | Open-Meteo Terms (frei, Attribution empfohlen) | "Open-Meteo" | Attribution ergänzen? |
| Open-Elevation | Höhe (Fallback) | offen/community | — | ⚠️ Bedingungen prüfen |
## Symbole / Icons
| Quelle | Nutzung | Lizenz | Attribution | Offene Frage |
|---|---|---|---|---|
| FKS/BABS taktische Zeichen | Einsatzsymbole | `[NUTZUNGSRECHT ZU KLÄREN]` | "Bildquelle Feuerwehr Koordination Schweiz FKS" (vorhanden) | ⚠️ **Nutzungsrecht/Freigabe FKS bestätigen** |
| lucide-react | UI-Icons | ISC | — (im Code) | ok |
## Schriftarten
| Quelle | Lizenz | Hinweis |
|---|---|---|
| Barlow (Google Fonts, via next/font) | SIL Open Font License 1.1 | build-time self-hosted, kein Laufzeit-Request zu Google |
## Wesentliche Bibliotheken (Auszug)
| Paket | Lizenz |
|---|---|
| next / react | MIT |
| maplibre-gl | BSD-3-Clause |
| jspdf | MIT (+ Teile Apache-2.0) |
| qrcode | MIT |
| stripe (SDK) | MIT |
| bcryptjs, jose, zod, socket.io | MIT |
| @prisma/client, prisma | Apache-2.0 |
## Bereits umgesetzte sichtbare Attributionen
- Karten-Attribution "© OpenStreetMap contributors | MapLibre" auf der Karte.
- "Taktische Symbole: Bildquelle Feuerwehr Koordination Schweiz FKS" im Footer.
- Kartendaten-Hinweis im Impressum (OpenStreetMap, Nominatim).
## Offene Freigabefragen (Betreiber)
1. **FKS/BABS-Symbole**: Nutzungsrecht/Freigabe für die konkrete Verwendung schriftlich bestätigen.
2. Esri/swisstopo-Nutzungsbedingungen für den vorgesehenen (auch nicht-kommerziellen) Einsatz prüfen.
3. Vollständige Lizenzliste (z.B. `license-checker`) generieren und Drittlizenzen bündeln, falls verteilt.