Files
harheimertc/DATENSCHUTZ.md

145 lines
3.9 KiB
Markdown

# Datenschutz und Verschlüsselung - Harheimer TC
## 🔒 **Verschlüsselung implementiert**
### **Verschlüsselte Daten:**
- **Mitgliedschaftsanträge:** Alle persönlichen Daten (Name, Adresse, E-Mail, Telefon, Bankdaten)
- **Benutzerdaten:** E-Mail, Name, Telefon (in `users.json`)
- **Mitgliederdaten:** Name, E-Mail, Telefon, Adresse (in `members.json`)
### **Nicht verschlüsselte Daten:**
- **News-Artikel:** Autor-Namen (öffentlich sichtbar)
- **Konfiguration:** Vereinsdaten, Trainingszeiten (öffentlich)
- **Termine:** Event-Daten (öffentlich)
## 🛡️ **Sicherheitsmaßnahmen**
### **Verschlüsselung:**
- **Algorithmus:** AES-256-GCM
- **Schlüsselableitung:** PBKDF2 mit 100.000 Iterationen
- **Salt:** 64 Bytes zufällig generiert
- **IV:** 16 Bytes zufällig generiert
- **Auth-Tag:** 16 Bytes für Integrität
### **Passwort-Sicherheit:**
- **Hashing:** bcryptjs mit Salt
- **Rounds:** 10 (konfigurierbar)
### **Datenzugriff:**
- **Authentifizierung:** JWT-Token
- **Autorisierung:** Rollenbasierte Zugriffskontrolle
- **Session-Management:** Sichere Cookies
## 📋 **Datenverarbeitung**
### **Mitgliedschaftsanträge:**
1. **Eingabe:** Formular auf Website
2. **Verschlüsselung:** Sofortige Verschlüsselung aller persönlichen Daten
3. **Speicherung:** Verschlüsselte Dateien in `server/data/membership-applications/`
4. **E-Mail:** Benachrichtigung an Vorstand/Trainer
5. **Genehmigung:** Entschlüsselung und Übertragung in Mitgliederliste
6. **Archivierung:** Original-Anträge bleiben verschlüsselt gespeichert
### **Benutzerdaten:**
- **Registrierung:** E-Mail, Name, Telefon
- **Login:** E-Mail, Passwort (gehashed)
- **Profil:** Bearbeitbare Kontaktdaten
- **Rollen:** admin, vorstand, mitglied
### **Mitgliederdaten:**
- **Manuell hinzugefügt:** Direkt in `members.json`
- **Aus Anträgen:** Nach Genehmigung übertragen
- **Zugriff:** Nur für "vorstand" Rolle sichtbar
## 🔄 **Datenfluss**
```
Mitgliedschaftsformular
Verschlüsselung (AES-256-GCM)
Speicherung (verschlüsselt)
E-Mail-Benachrichtigung
CMS-Verwaltung
Genehmigung/Ablehnung
Bei Genehmigung: Übertragung in Mitgliederliste
```
## ⚖️ **GDPR-Konformität**
### **Rechtmäßigkeit:**
- **Einwilligung:** Explizite Zustimmung im Formular
- **Vertragserfüllung:** Mitgliedschaftsvertrag
- **Berechtigtes Interesse:** Vereinsverwaltung
### **Betroffenenrechte:**
- **Auskunft:** Über gespeicherte Daten
- **Berichtigung:** Korrektur falscher Daten
- **Löschung:** Recht auf Vergessenwerden
- **Einschränkung:** Verarbeitung einschränken
- **Datenübertragbarkeit:** Export der Daten
### **Datenspeicherung:**
- **Zweckbindung:** Nur für Vereinszwecke
- **Minimierung:** Nur notwendige Daten
- **Genauigkeit:** Aktuelle und korrekte Daten
- **Speicherbegrenzung:** Löschung nach Zweckerfüllung
## 🔧 **Technische Implementierung**
### **Verschlüsselungsfunktionen:**
```javascript
// Verschlüsselung
encryptObject(data, password)
// Entschlüsselung
decryptObject(encryptedData, password)
// Passwort-Hashing
hashPassword(password, salt)
// Passwort-Verifikation
verifyPassword(password, hash, salt)
```
### **Environment-Variablen:**
```bash
# Verschlüsselungsschlüssel (MUSS in Produktion geändert werden!)
ENCRYPTION_KEY=your_secure_encryption_key_here
# JWT-Secret
JWT_SECRET=your_jwt_secret_here
```
## 🚨 **Sicherheitshinweise**
### **Produktionsumgebung:**
- **Verschlüsselungsschlüssel:** MUSS geändert werden!
- **JWT-Secret:** MUSS geändert werden!
- **HTTPS:** Zwingend erforderlich
- **Backup:** Verschlüsselte Backups
### **Entwicklungsumgebung:**
- **E-Mails:** Nur an `tsschulz@tsschulz.de`
- **Test-Daten:** Keine echten persönlichen Daten
- **Logs:** Keine sensiblen Daten in Logs
## 📞 **Kontakt**
Bei Fragen zum Datenschutz:
- **E-Mail:** tsschulz@tsschulz.de
- **Verantwortlicher:** Torsten Schulz
---
**Stand:** Januar 2025
**Version:** 1.0
**Letzte Aktualisierung:** Implementierung der Verschlüsselung