Compliance-Runde 2 (ohne Doppelstrukturen; baut auf v1.7–v1.9 auf): FKS/FEUKOS (dokumentierte schriftliche Genehmigung 17.02.2026): - legal.ts: fksAttribution (exakte Quellenangabe, Genehmigungsdatum, Nutzungshinweis) + operatorType - Neue Seite /quellen-und-lizenzen (+ Footer/Sitemap-Link) - FKS-Abschnitt in Nutzungsbedingungen (§10a); Quellenangabe im Symbol-Panel und in PDF/PNG-Export - Terminologie entschärft: "offizielle FKS/BABS-Signaturen" -> "FEUKOS-Symbole der FKS" (keine Partnerschaft/Zertifizierung/Empfehlung suggeriert) - FKS_ATTRIBUTION als Dokumenttyp (Migration-Seed, LegalDocumentType), Kontexte erweitert - licenses-and-attributions.md aktualisiert; .gitignore: private-legal-evidence/ Datenschutz/Transparenz: - [REGION]-Platzhalter in der Subprozessorenliste durch öffentlich bekannte Firmensitze ersetzt (keine Platzhalter mehr öffentlich sichtbar) - Journal-Freitext-Warnung (keine schutzwürdigen Daten) Docs: current-state-audit, international-data-transfers, backup-and-restore, privacy-risk-assessment, manual-action-checklist Tests: Krypto-Round-Trip (crypto-secret); legal-config-Test aktualisiert; 17 grün. tsc+build ok. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4.8 KiB
Bestandsaufnahme & Audit — Lageplan
Stand: 2026-07-24 · Prüfung des tatsächlichen Repository-Stands vor gezielten Korrekturen. Legende Status: ✅ umgesetzt · 🟡 teilweise · ⚠️ widersprüchlich/prüfen · ❌ fehlend · 🔒 manuell (Fachperson).
Dieser Audit dokumentiert, was aus früheren Runden (v1.7.0–v1.9.0) bereits vorhanden ist, damit keine Doppelstrukturen entstehen. Ergänzungen dieser Runde sind in der letzten Spalte markiert.
| Bereich | Fundstelle | Aktueller Zustand | Risiko | Empfohlene/umgesetzte Änderung | Umgesetzt |
|---|---|---|---|---|---|
| Zentrale Legal-Config | src/config/legal.ts |
Betreiber (Perparim Ziberi, Privatperson, Villmergen), Kontakt, Recht, Subprozessoren, Dok-Versionen | — | operatorType + fksAttribution ergänzt | ✅ (erweitert) |
| Impressum | src/app/impressum |
Privatperson, echte Adresse; verweist auf Datenschutz | niedrig | Haftungsverweis auf NB prüfen | ✅ vorhanden |
| Datenschutz | src/app/datenschutz |
Neuaufbau, Subprozessoren-Tabelle (#dienstleister), IP/UA-Nachweis, Auslandbekanntgabe | niedrig | Quellen-/Lizenz-Link ergänzt | ✅ vorhanden |
| Nutzungsbedingungen | src/app/nutzungsbedingungen |
Abschnitte 1–14 vorhanden | 🟡 | FKS-Abschnitt ergänzt | ✅ (FKS ergänzt) |
| Verantwortungsvolle Nutzung | src/app/verantwortungsvolle-nutzung |
vorhanden | niedrig | — | ✅ |
| Sicherheit (öffentlich) | src/app/sicherheit |
TOM-Kurzfassung, 2FA | niedrig | — | ✅ |
| Unterstützen | src/app/unterstuetzen + /spenden |
„Freiwilliger Unterstützungsbeitrag", Gebührenhinweis, keine Steuerabzug-Behauptung | niedrig | „Feature"-Tiers geprüft | ✅ |
| Org-Datenschutzvereinbarung (AVV) | src/app/organisationen/datenschutzvereinbarung |
Entwurf, als Vereinbarung formuliert | 🟡 | Entwurfscharakter klar | ✅ |
| Konto & Datenschutz | src/app/konto/datenschutz |
Zustimmungen, Export-/Löschanfrage, Kontakt | niedrig | — | ✅ |
| Admin Rechtsdokumente | src/app/admin/legal |
Versionen, Zustimmungszähler, Suche, CSV, IP/UA/Hash | niedrig | — | ✅ |
| Consent-Datenmodell | LegalDocument, LegalAcceptance |
versioniert, contentHash, IP/UA, unique, revisionssicher | niedrig | FKS_ATTRIBUTION-Typ ergänzt | ✅ (erweitert) |
| Registrierung | src/app/register + API |
2 getrennte Zustimmungen (NB akzeptieren / Datenschutz Kenntnis), keine Vorauswahl, Version+Hash+IP/UA | niedrig | — | ✅ |
| Re-Consent | LegalConsentGate |
blockierend, Org-Bestätigung 7 Checks, Abmelden/Docs erreichbar | niedrig | — | ✅ |
| In-App-Hinweise | Dashboard/Messpanel/Datenschutz | Dashboard-Banner, Berechnungs-Hinweis, Geodaten-Hinweis | 🟡 | Journal-Freitext-Warnung ergänzt | ✅ (ergänzt) |
| Export-Disclaimer | src/hooks/use-map-export.ts |
Prüf-Hinweis PDF+PNG | 🟡 | FKS-Quellenangabe ergänzt | ✅ (ergänzt) |
| FKS-/FEUKOS-Quellenangabe | Footer, licenses-and-attributions.md |
nur Footer + interne Doku | ⚠️ unvollständig | Quellen-Seite, Symbol-Panel, NB, Export, Dok-Typ | ✅ (diese Runde) |
| Quellen-und-Lizenzen-Seite | — | ❌ fehlte | mittel | /quellen-und-lizenzen erstellt |
✅ (neu) |
| Planstatus/Freigabe | prisma/schema.prisma |
❌ keine Status-/Freigabefelder | mittel | Entwurf/Geprüft/Freigegeben + Prüfdatum | 🟡 siehe Bericht |
| Sicherheitsheader | next.config.js |
CSP, HSTS, nosniff, Referrer/Permissions-Policy, frame-ancestors | niedrig | CSP unsafe-inline (MapLibre) dokumentiert | ✅ |
| MFA/WebAuthn | src/lib/mfa.ts, webauthn.ts |
TOTP + Passkeys/YubiKey + Backup-Codes + Admin-Reset | niedrig | — | ✅ |
| Rate Limiting | src/lib/rate-limit.ts |
Login/Register/Reset/Kontakt/Share/… | 🟡 (In-Memory) | — | ✅ |
| Mandantentrennung | getProjectWithTenantCheck |
serverseitig erzwungen | mittel | automatisierte Tests ergänzt | 🟡 Tests (diese Runde) |
| Backup | Container + GUI (/admin/backup) |
lokal + verschlüsselt SFTP/WebDAV, 30 Tage | niedrig | backup-and-restore.md ergänzt | ✅ |
| Docs (Compliance) | docs/legal/ |
inventory, subprocessors, TOM, retention, incident, licenses, claims-audit | 🟡 | +international-transfers, +privacy-risk, +manual-checklist, +this audit | ✅ (ergänzt) |
Verbotene/absolute Aussagen — Nachkontrolle
Frühere Runde entfernte 24/7, 100 %, DSG/DSGVO-konform, „keine Weitergabe", „nur Schweizer Server", „100 % der Spende", „Kein Unternehmen". Diese Runde prüft zusätzlich FKS-Terminologie („offiziell/zertifiziert/Partner/empfohlen") → keine solchen Behauptungen zulässig.
Offen / manuell (siehe manual-action-checklist.md)
Juristische Schlussprüfung, spätere Vereinsgründung (nur als Option), Versicherungen, endgültige Server-/Backupstandorte externer Dienste, Aufbewahrungsfristen-Entscheide, ergänzende FKS-Bestätigung für Rohdatei-/API-Weitergabe, periodischer externer Sicherheitstest.