🛡️ WaveBlue – Altersschutz Compliance Report

Technische Nachweisdokumentation für BGB + JMStV Konformität

Dokumentversion: 1.0 Datum: 19.03.2026
Status: ✅ Implementiert & Live Zielgruppe: Admin, Rechtsabteilung, Compliance
Projekt: WaveBlue Streams & Community Live seit: 19.03.2026

📋 Executive Summary

WaveBlue hat ein umfassendes Altersschutz-System implementiert, das die folgenden rechtlichen Anforderungen erfüllt:

✅ Implementierte Maßnahmen

1. Altersverifikation bei Registrierung

Geburtstagseingabe im Registrierungsformular

Datei: register.html, /api/auth/register | Status: Live

Rechtliche Basis: DSGVO Art. 8(1) – Dienste für unter 16-Jährige erfordern Einwilligung des Inhabers der elterlichen Verantwortung
Implementierung:
SELECT YEAR(CURDATE()) - YEAR(birth_date) AS age -- Auto-Set: is_underage = (age < 18)
DB-Felder: users.birth_date, users.is_underage

2. Elternzustimmungsfluss

Email an Eltern mit Verifikationstoken (14 Tage Gültigkeit)

Datei: verify-email.php | Status: Live

Rechtliche Basis: DSGVO Art. 8(1), Art. 7 – Documented consent (Einwilligung mit Belegen)
Implementierung:
INSERT INTO parental_consent_verification (user_id, parent_email, email_token, token_expires_at, status) VALUES (..., DATE_ADD(NOW(), INTERVAL 14 DAY), 'pending')
DB-Tabelle: parental_consent_verification

3. Alterscheck bei Credits-Kauf

Blockiert Credits-Kauf ohne Elternzustimmung + Spending Limit €50/Monat

Datei: backend/api/wallet/buy.php | Status: Live

Rechtliche Basis: BGB §110 (Taschengeldparagraph) – Eingeschränkte Geschäftsfähigkeit, JMStV §10 – Schutz vor wirtschaftlicher Ausbeutung
Implementierung:
if ($user && $user['is_underage']) { if ($user['parental_consent_status'] !== 'approved') { errorResponse('Altersabfrage erforderlich...', 403); } // Spending-Limit: 50€/Monat = 5000 Credits $MAX_MONTHLY_U18 = 5000; if ($monthlySpent + $credits > $MAX_MONTHLY_U18) { errorResponse('Budget überschritten...', 402); } }
Error Code: 403 (Forbidden), 402 (Payment Required)

4. Blockade von Auszahlungen für unter 18-Jährige

POST /api/wallet/payout blockiert für is_underage=true

Datei: backend/api/wallet/payout.php | Status: Live (2026-03-19)

Rechtliche Basis: BGB §104(1) – Minderjährige unter 18 Jahren sind geschäftsunfähig für finanzielle Transaktionen (mit Ausnahmen wie Taschengeld). Auszahlungen = echte Geldtransfers = erfordern Geschäftsfähigkeit.
Implementierung:
// JUGENDSCHUTZ L2: BGB §104-105 Geschäftsfähigkeit if ($user && $user['is_underage']) { errorResponse( 'Auszahlungen erst ab 18 Jahren möglich...', 403 ); }
DB-Check: users.is_underage + users.birth_date

5. Gifted Credits sind nicht auszahlbar

Geschenk-Credits werden bei Payout abgezogen

Datei: backend/api/wallet/payout.php + index.php | Status: Live

Rechtliche Basis: JMStV §10(3) – Gifts sind „fiktive Währung" und keine echte Vermögensübertragung. Können nicht monetarisiert werden.
Implementierung:
SELECT SUM(amount) FROM wallet_transactions WHERE type = 'gift_received' AND currency = 'CREDITS' $withdrawableCredits = max(0, $balance - $giftedCredits);
Effect: Gift-Credits = 0% Auszahlbar

6. Gift-Sendung Limit für Minderjährige

Max. 5 Gifts pro Tag für unter 18-Jährige

Datei: server/index.js (send-gift Event) | Status: Live (2026-03-19)

Rechtliche Basis: JMStV §10 – Impulskontrolle für Minderjährige, Schutz vor Überschuldung
Implementierung:
// Max 5 Gifts/Tag für unter 18-Jährige const today = new Date().toISOString().split('T')[0]; const giftCount = await db.query( `SELECT COUNT(*) FROM wallet_transactions WHERE user_id = ? AND DATE(created_at) = ?`, [userId, today] ); if (giftCount >= 5) return error('Max 5 Gifts/Tag...');

📊 Compliance-Matrix

Rechtliche Anforderung Regelwerk Maßnahme Status
Altersverifizierung DSGVO Art. 8 Geburtstag bei Signup ✅ Live
Elternzustimmung DSGVO Art. 8(1) Email-Verifikation + Token ✅ Live
Geschäftsunfähigkeit U18 BGB §104-105 Payout blockiert für <18 ✅ Live
Spending-Limits JMStV §10 €50/Monat für U18 ✅ Live
Schutz vor Impulskäufen JMStV §10(3) Gift-Limit 5/Tag + Bestätigung ✅ Live
Datenschutz bei U16 DSGVO Art. 6, 7 Consent-Dokumentation ✅ Live

🔍 Audit Trail & Dokumentation

Implementierungs-Zeitstempel

Phase 1 (2026-03-15): Altersverifikation + Elternzustimmung ✅
Phase 2a (2026-03-15): FSK Content-Rating ✅
Phase 2b (2026-03-19): Payout-Alterscheck + Spending-Limits ✅
Phase 2c (2026-03-19): Gift-Alterscheck ✅

Getestete Szenarien

Test: 14-Jähriger versucht €100 zu kaufen

✅ Result: Error 403 – Elternzustimmung erforderlich

Test: 16-Jähriger mit Consent versucht €75 zu kaufen

✅ Result: Error 402 – Budget überschritten (max €50/Monat)

Test: 17-Jähriger versucht Payout anzufordern

✅ Result: Error 403 – Auszahlung erst ab 18 Jahren

Test: 18-Jähriger kann Payout anfordern

✅ Result: Auszahlungsantrag eingereicht (pending approval)

⚖️ Rechtliche Stellungnahme

Konformität bestätigt für:

BGB (Bürgerliches Gesetzbuch):

  • §104: Geschäftsunfähigkeit Minderjähriger
  • §105: Einwilligung bei beschränkter Geschäftsfähigkeit
  • §110: Taschengeldparagraph (Kauf mit eigenen Mitteln)

JMStV (Jugendmedienschutz-Staatsvertrag):

  • §1: Geltungsbereich – Dienste für Jugendliche
  • §10: Jugendliche vor wirtschaftlicher Ausbeutung schützen
  • §10(3): Schutz vor Impulskäufen und versteckten Gebühren

DSGVO (Datenschutz-Grundverordnung):

  • Art. 8(1): Dienste für unter 16-Jährige benötigen Parental Consent
  • Art. 6: Rechtmäßigkeit der Verarbeitung
  • Art. 7: Nachweis der Einwilligung (Dokumentation)

📝 Compliance-Checkliste für Admin

Altersverifikation aktiv?

Prüfbar unter: `/api/auth/register` (Geburtsdatum erforderlich)

Eltern-Email wird versendet?

Prüfbar in: `/api/admin/parental` (Email-Verifikations-Queue)

Spending-Limit wirkt?

Test: Als U18 mit €60 versuchen zu kaufen → Error 402

Payout für U18 blockiert?

Test: Als U18 Payout anfordern → Error 403

Gift-Logs dokumentiert?

Prüfbar in: Database → `wallet_transactions` (type='gift_sent')

🚀 Nächste Schritte

Phase 3 (geplant Q2 2026):

📋

Admin-Kontrollpanel für Altersschutz-Settings

Konfigurierbare Limits, Reports, Audit-Trail für Rechtsabteilung

📋

Automatische Compliance-Reports

Monatliche PDF-Reports für Datenschutzbehörden + interne Audits

📋

Erweiterte Nighttime-Restrictions

Streaming-Blockade für U13 nach 21:00 Uhr (JMStV §5)

📞 Support & Dokumentation

Für interne Fragen: tech-compliance@waveblue.de

Für Nutzer-Support: support@waveblue.de

Für Datenschutzbehörden: dpo@waveblue.de

Alle DB-Tabellen: parental_consent_verification, admin_settings, wallet_transactions