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:
406
docs/ADULT_SOCIAL_EROTIC_CONCEPT.md
Normal file
406
docs/ADULT_SOCIAL_EROTIC_CONCEPT.md
Normal 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.
|
||||
Reference in New Issue
Block a user