Add adult verification and erotic moderation features: Implement new routes and controller methods for managing adult verification requests, status updates, and document retrieval. Introduce erotic moderation actions and reports, enhancing administrative capabilities. Update chat and navigation controllers to support adult content filtering and access control. Enhance user parameter handling for adult verification status and requests, improving overall user experience and compliance.

This commit is contained in:
Torsten Schulz (local)
2026-03-27 09:14:54 +01:00
parent f93687c753
commit 3e6c09ab29
73 changed files with 4459 additions and 197 deletions

View File

@@ -0,0 +1,406 @@
# yourPart: Konzept für den Erotikbereich
## 1. Ausgangspunkt
Im Menü ist die klare Trennung bereits vorgesehen:
- `Social Network -> Galerie`
- `Social Network -> Erotik -> Bilder`
- `Social Network -> Erotik -> Videos`
Zusätzlich existiert im Chat-Umfeld bereits die Idee `Erotikchat`.
Damit sollte der 18+-Bereich **nicht** als bloßer Filter der normalen Galerie gedacht werden, sondern als **eigener Social-Bereich für Erwachsene**.
## 2. Zielbild
Der Erotikbereich ist ein eigener, abgegrenzter Teil des Social Networks für volljährige Nutzer.
Wichtig für den Zugang:
- **Erotik -> Bilder**
- **Erotik -> Videos**
- später zusätzlich **Erotik -> Chat** oder klar markierte 18+-Chaträume
Der Erotikbereich soll:
- ab **18 Jahren** im Menü sichtbar sein
- aber erst nach **Moderatorfreigabe** wirklich nutzbar sein
- technisch und visuell **klar vom normalen Social-Bereich getrennt** sein
- nicht versehentlich in allgemeine Feeds, Galerien oder Raumlisten hineinlaufen
- serverseitig abgesichert sein
Wichtig:
- **nicht** die gesamte Plattform wird auf Erwachsene beschränkt
- **nicht** das gesamte Social Network wird auf Erwachsene beschränkt
- ausschließlich die Module unter `Social Network -> Erotik -> ...` sind volljährigen Nutzern vorbehalten
- normale Bereiche wie Suche, Forum, Galerie, Freunde, Tagebuch und Chat bleiben davon getrennt
## 3. Bestand heute
Vorhanden:
- Menüstruktur für `Erotik -> Bilder` und `Erotik -> Videos` in [navigationController.js](/mnt/share/torsten/Programs/YourPart3/backend/controllers/navigationController.js)
- Navigationstexte in [navigation.json](/mnt/share/torsten/Programs/YourPart3/frontend/src/i18n/locales/de/navigation.json)
- normale Galerie in [GalleryView.vue](/mnt/share/torsten/Programs/YourPart3/frontend/src/views/social/GalleryView.vue)
- Mehrraum-Chat in [MultiChatDialog.vue](/mnt/share/torsten/Programs/YourPart3/frontend/src/dialogues/chat/MultiChatDialog.vue)
- vorhandene Erwachsenensichtbarkeiten in der Galerie (`adults`, `friends-and-adults`)
Noch nicht fertig:
- echte Moderationsfreischaltung für Erwachsene
- eigene Erotik-Bilderansicht
- eigenes Erotik-Video-Modul
- 18+-Chatanbindung
- harte serverseitige Sperren für nicht berechtigte Nutzer
- Moderation speziell für Adult-Inhalte
## 4. Grundentscheidung
Erotik wird als **eigener Bereich** modelliert, nicht als Untermenge der Standard-Galerie.
Das bedeutet:
- normale Galerie bleibt normaler Social-Bereich
- Erotik-Bilder sind ein eigenes Modul
- Erotik-Videos sind ein eigenes Modul
- späterer Erotik-Chat ist ebenfalls ein eigenes Modul oder klar abgegrenzte Raumgruppe
Vorteile:
- klare UX
- weniger Vermischung
- einfachere Berechtigungslogik
- sauberere Moderation
- spätere Erweiterung auf Videos ohne Umbau
## 5. Zugangsmodell
## 5.1 Volljährigkeit
Nur Nutzer mit:
- `Alter >= 18`
dürfen den Erotikbereich überhaupt sehen.
## 5.2 Moderationsfreigabe
Zusätzlich braucht es eine echte Freischaltung:
- `adultVerificationStatus = none | pending | approved | rejected`
Dabei gilt:
- volljährig allein reicht nicht für die Nutzung
- erst `approved` schaltet Bilder, Videos und später Chats frei
- die Freigabe erfolgt durch Moderation auf Basis eines Nachweises
## 5.3 Sicht im Menü
Empfehlung:
- unter 18: `Erotik` erscheint gar nicht
- ab 18 ohne Freigabe: `Erotik` erscheint, die Unterpunkte sind sichtbar, aber gesperrt
- ab 18 mit `pending`: sichtbar, weiterhin gesperrt
- ab 18 mit `approved`: normal nutzbar
- ab 18 mit `rejected`: sichtbar, aber weiter gesperrt mit Hinweis auf erneute Anfrage
Alle anderen Social-Network-Bereiche bleiben unverändert erreichbar, sofern ihre eigenen Altersregeln nichts anderes verlangen.
## 6. Fachmodell
## 6.1 Nutzer
Benötigte logische Zustände:
- `isAdult`
- `adultVerificationStatus`
- optional später zusätzlich `adultModeEnabled` als freiwilliger Opt-in nach Freigabe
`isAdult` sollte aus vorhandenen Altersdaten abgeleitet werden, nicht frei gesetzt.
## 6.2 Erotik-Bilder
Eigenes Inhaltsmodell:
- Bild gehört zum Erotikbereich
- zusätzlich Sichtbarkeit wie bisher möglich
Empfohlene Felder:
- `isAdultContent` oder `contentRating = adult`
- optional `adultVisibility`
Wichtig:
- das ist mehr als bloß `adults` als Sichtbarkeit
- wir müssen auch fachlich erkennen können, dass der Inhalt **zum Erotikbereich** gehört
## 6.3 Erotik-Videos
Eigenes Inhaltsmodell analog zu Bildern:
- Video gehört zum Erotikbereich
- eigenes Metadatenmodell
- später Vorschaubild, Dauer, Format, Moderationsstatus
Empfohlene Felder:
- `isAdultContent`
- `processingStatus`
- `thumbnail`
## 6.4 Erotik-Chat
Für Chat reicht fachlich:
- bestehender Raumtyp `chat`
- plus Flag `isAdultOnly`
Optional zusätzlich:
- Raumtyp `erotic_chat`
## 7. Module
## 7.1 Erotik -> Bilder
Eigene View:
- zeigt nur Inhalte aus dem Erotikbereich
- kein Vermischen mit normaler Galerie
Funktionen:
- hochladen
- organisieren
- ansehen
- Sichtbarkeit steuern
- melden
Regeln:
- keine Ausgabe an nicht berechtigte Nutzer
- keine Thumbnails für nicht berechtigte Nutzer
- Direktaufruf serverseitig blocken
## 7.2 Erotik -> Videos
Eigene View:
- separat von Bildern
- gleiche Erwachsenensperren
Funktionen:
- Video-Upload
- Videoliste
- Vorschau
- Wiedergabe
- melden
Erste Ausbaustufe:
- einfache Liste
- keine komplexe Transcoding- oder Streaminglogik nötig, falls noch nicht vorhanden
## 7.3 Erotik -> Chat
Nicht zwingend sofort als eigener Menüpunkt nötig, aber fachlich vorbereiten.
Variante A:
- eigener Menüpunkt `Erotikchat`
Variante B:
- innerhalb des Mehrraum-Chats klar abgetrennte `18+`-Raumgruppe
Empfehlung:
- später eigener Einstieg oder klarer Erwachsenentab
- nicht bloß unauffällige Räume in der normalen Liste
## 8. Galerie- und Videologik
## 8.1 Keine Vermischung
Normale Galerie:
- zeigt keine Adult-Inhalte
Erotik-Bilder:
- zeigen nur Adult-Bilder
Erotik-Videos:
- zeigen nur Adult-Videos
## 8.2 Uploadregeln
Nur erlaubt für:
- `isAdult = true`
- `adultVerificationStatus = approved`
Beim Upload muss der Bereich eindeutig sein:
- normales Bild
- Erotik-Bild
- normales Video
- Erotik-Video
## 8.3 Vorschaulogik
Nicht berechtigte Nutzer dürfen:
- weder Originaldateien
- noch Vorschaubilder
- noch Metadatenlisten
erhalten.
## 9. Chatlogik
## 9.1 Raumlistenfilter
Nicht berechtigte Nutzer:
- sehen keine Adult-Räume
Berechtigte Nutzer:
- sehen Adult-Räume in klarer Erwachsenengruppe
## 9.2 Beitritt
Server prüft beim Join:
- Nutzer volljährig
- Moderation hat den Bereich freigeschaltet
- Raum `isAdultOnly`
## 9.3 Random Chat
Erste Version:
- kein erotischer Random Chat
Begründung:
- höheres Missbrauchsrisiko
- kompliziertere Consent- und Moderationslage
## 10. Moderation
Adult-Bereich braucht eigene Moderationslogik.
## 10.1 Meldegründe
- Minderjährigkeitsverdacht
- unerlaubte Inhalte
- Belästigung
- Druck / Nötigung
- Gewalt-/Missbrauchskontext
- Spam / Scam
## 10.2 Adminsicht
Admins brauchen:
- Adult-Kennzeichnung an Bildern
- Adult-Kennzeichnung an Videos
- Adult-Kennzeichnung an Räumen
- schnelle Sperrung einzelner Inhalte
- schnelle Sperrung von Uploadrechten
## 10.3 Nulltoleranz
Nicht erlaubt:
- Minderjährige oder minderjährig wirkende Sexualdarstellung
- Gewalt-/Missbrauchsdarstellung
- Umgehung von Altersgrenzen
## 11. Technische Umsetzung
## 11.1 Backend
Benötigt:
- Prüfung `isAdult`
- Prüfung `adultVerificationStatus`
- Filterung von Erotik-Menü/API-Daten
- getrennte Endpunkte oder klare Adult-Filter für Bilder
- eigenes Video-Modul oder klare Adult-Video-Endpunkte
- Chatraumfilter für `isAdultOnly`
## 11.2 Frontend
Benötigt:
- Sicht auf Freischaltungsstatus und Anfrage
- eigene Views:
- `ErotikBilderView`
- `ErotikVideosView`
- klare Zugangshinweise bei gesperrtem Bereich
- später Adult-Chat-Einstieg
## 11.3 Serverseitige Pflicht
Wichtig:
- Frontend-Sperren reichen nie aus
- jede Dateiausgabe und jeder Chatzugang muss serverseitig geprüft werden
## 12. Umsetzungsphasen
## Phase A1: Zugang
- `isAdult` sauber ableiten
- `adultVerificationStatus = none | pending | approved | rejected`
- Einstellungs-UI und Freischaltungsansicht
- Menü ab 18 sichtbar, bis Freigabe gesperrt
- serverseitige Sperren für Adult-Routen
## Phase A2: Erotik-Bilder
- eigener Erotik-Bilderpfad
- Adult-Kennzeichnung für Bilder
- Upload- und Anzeige-Logik
## Phase A3: Erotik-Videos
- eigenes Videomodul
- Adult-Kennzeichnung für Videos
- Upload und Anzeige
## Phase A4: Erotik-Chat
- Adult-Raumflag
- Raumlistenfilter
- Join-Sperren
- klarer UI-Einstieg
## Phase A5: Moderation
- Meldegründe
- Adminsicht
- Sperrpfade
## 13. Empfehlung für den Start
Die erste sinnvolle, kontrollierbare Version ist:
- `A1` Zugang
- `A2` Erotik-Bilder
Danach:
- `A3` Erotik-Videos
- `A4` Erotik-Chat
So nutzt ihr die bereits vorhandene Menüstruktur sauber aus und baut nicht auf halbe Übergangslösungen wie bloße Galeriefilter.