Datenschutz Bot-Dashboard
1. Verantwortlicher und Geltungsbereich
Diese Datenschutzhinweise betreffen die öffentliche Website sowie Login und Nutzung des Roleplay Systems Discord Bot Dashboards. Beim Aufruf der öffentlichen Seiten verarbeitet der Webserver technisch erforderliche Verbindungsdaten. Für Dashboard-Login, Serverauswahl und Konfiguration ist die Verarbeitung der nachfolgend beschriebenen Account- und Serverdaten erforderlich.
Verantwortlicher im Sinne der DSGVO
Lukas Seifert
Medebacher Weg 13
E-Mail: lukas@nrw-roleplay.de
Für Plattformbetrieb, Website, Discord-Login, Zugriffsschutz, Sessions, Rechtsbestätigungen und die zugehörigen Auditprotokolle ist Lukas Seifert als Betreiber dieser Plattform verantwortlich. Bei Inhalten, die ein Serverbetreiber für seinen Discord-Server über Module verwaltet (etwa Tickets, Mitglieder- oder Moderationsdaten), bestimmt dieser Serverbetreiber die konkreten Zwecke und wesentlichen Mittel und informiert die betroffenen Personen. Soweit Lukas Seifert solche Inhalte ausschließlich nach dokumentierter Weisung eines Serverbetreibers verarbeitet, handeln die Beteiligten als Verantwortlicher und Auftragsverarbeiter; hierfür ist vor Beginn ein Vertrag nach Art. 28 DSGVO abzuschließen. Werden Zwecke gemeinsam festgelegt, sind die jeweiligen Verantwortlichkeiten nach Art. 26 DSGVO zu regeln.
Rechtsgrundlagen
Die Verarbeitung der Kontodaten zur Anmeldung und Bereitstellung der vom Nutzer angeforderten Dashboard-Funktionen erfolgt, soweit erforderlich, zur Durchführung des Nutzungsverhältnisses nach Art. 6 Abs. 1 lit. b DSGVO. Sicherheitsmaßnahmen, Missbrauchsabwehr und Änderungsprotokolle stützen sich auf das berechtigte Interesse an einem sicheren und nachvollziehbaren Betrieb nach Art. 6 Abs. 1 lit. f DSGVO. Dabei werden nur die für diese Zwecke erforderlichen Daten verarbeitet. Für serverbezogene Inhalte bestimmt der jeweilige Serverbetreiber die Rechtsgrundlage seines konkreten Zwecks und informiert die betroffenen Personen. Für das technisch notwendige Session-Cookie wird keine gesonderte Einwilligung eingeholt; es wird ausschließlich für Anmeldung und Sicherheit verwendet.
2. Login, Authentifizierung und externe Dienste
2.1. Discord OAuth (Login)
Für die Nutzung des Dashboards meldest du dich über Discord OAuth bei Discord, Inc. an. Das Dashboard fordert die Scopes identify, email und guilds an. Der OAuth-Access-Token wird im Callback nur zum Abruf des Profils und der Serverliste verwendet und nicht in der Dashboard-Session gespeichert.
- Verarbeitete Daten: Discord User-ID, Benutzername, Avatar, E-Mail-Adresse (sofern Discord sie übermittelt), Server-IDs und Servernamen, Server-Icons, Owner-Status sowie das von Discord gemeldete Berechtigungsbitfeld.
- Zweck: Authentifizierung, Anzeige der Serverauswahl und Prüfung, ob du Administrator, Serverinhaber oder zur Serververwaltung berechtigt bist.
- Rechtsgrundlage: Art. 6 Abs. 1 lit. b DSGVO, soweit die Verarbeitung für den angeforderten Dashboard-Zugang erforderlich ist; für Zugriffsschutz und Missbrauchsabwehr Art. 6 Abs. 1 lit. f DSGVO.
Der OAuth-Access-Token wird im Callback nur für die unmittelbaren Discord-API-Abrufe verwendet. In der PHP-Session werden User-ID, Benutzername, Avatar, optionale E-Mail-Adresse, Serverliste mit Berechtigungsdaten und Login-Zeitpunkt abgelegt; der OAuth-Token selbst wird dort nicht gespeichert. Der Callback protokolliert außerdem den Login mit Benutzername und Zeitpunkt in einer Tagesdatei.
2.2. Cloudflare Turnstile (Bot-Schutz)
Vor dem Start der Discord-Anmeldung prüft Cloudflare Turnstile, ob die Anfrage wahrscheinlich von einer Person und nicht automatisiert gestellt wird. Dafür lädt der Browser ein Skript von Cloudflare; ein kurzlebiges Prüftoken wird anschließend vom Webserver über die Siteverify-API validiert. Cloudflare verarbeitet dabei die für Sicherheits- und Missbrauchserkennung erforderlichen Verbindungs- und Browserinformationen. Cloudflare, Inc. ist Empfänger dieser Prüfanfrage; eine Verarbeitung außerhalb des EWR kann nicht ausgeschlossen werden. Einzelheiten zu Umfang, Speicherdauer und internationalen Übermittlungen beschreibt Cloudflares Datenschutzerklärung.
Die Verarbeitung dient dem Schutz des Login-Endpunkts vor automatisierten Anfragen und stützt sich auf Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einem sicheren Betrieb). Ohne erfolgreich abgeschlossene Prüfung wird kein Discord-OAuth-Redirect gestartet.
2.3. Discord-Bot-API und Serverauswahl
Der Webserver prüft mit dem serverseitig gespeicherten Bot-Zugang, ob der Bot Mitglied eines Servers ist. Für den gewählten Server ruft das Dashboard Serverinformationen, Kanäle und Rollen ab. Beim Öffnen des Mitglieder-Moduls fragt es bis zu 20 Seiten mit jeweils höchstens 1.000 Mitgliedern ab; angezeigt werden Discord-ID, Benutzername, Anzeigename, Avatar, Rollen, Bot-Kennzeichnung und Beitrittszeit. Die Mitgliederantwort wird von diesem Dashboard-Endpunkt nicht in einer JSON-Datei gespeichert. Discord verarbeitet die API-Anfragen als Anbieter des Discord-Dienstes.
Der Bot-Token wird nicht an den Browser ausgegeben. Das Ergebnis der Servermitgliedschaftsprüfung wird in der PHP-Session höchstens fünf Minuten zwischengespeichert. Die serverbezogenen Abrufe dienen der vom Nutzer angeforderten Dashboard-Funktion und der Zugriffskontrolle. Für eigene Serverzwecke bleibt der jeweilige Serverbetreiber für die Information der betroffenen Mitglieder und die Auswahl der passenden Rechtsgrundlage verantwortlich.
2.4. API-Schlüssel-Verwaltung
Das API-Verwaltungsmodul erzeugt serverbezogene API-Schlüssel. Der vollständige Schlüssel wird bei Erstellung einmalig an den Dashboard-Browser zurückgegeben. Gespeichert werden Schlüssel-ID, Bezeichnung, Erstellungszeit, Rate-Limit, Aktivstatus und SHA-256-Hash; der vollständige Schlüssel wird nicht in der JSON-Datei gespeichert. Beim Löschen wird der betreffende Eintrag aus der Datei entfernt.
- Speicherort: Serverbezogene JSON-Datei im Verzeichnis
data/api_management/. - Verantwortlichkeit: Wer einen Schlüssel erhält, kann ihn im Umfang des damit verbundenen API-Endpunkts verwenden. Der Serverbetreiber muss Schlüssel sicher aufbewahren, Zugriffe begrenzen und nicht mehr benötigte Schlüssel widerrufen.
- Umfang: Welche Daten ein angebundener API-Endpunkt bereitstellt, richtet sich nach dessen tatsächlicher Implementierung und Berechtigung. Die Schlüsselverwaltung allein ist keine Aussage, dass jeder API-Endpunkt ausschließlich lesend arbeitet.
2.5. Externe Schriftarten und Discord-CDN
Login, Dashboard und Startseite beziehen Schriftarten von Bunny Fonts unter fonts.bunny.net. Bunny Fonts wird laut Betreiberangabe innerhalb der EU betrieben; für diese Schriftabrufe findet danach kein Drittlandtransfer statt. Das Webhosting stellt laut Betreiberangabe Bero Host / Andreas Beck in Deutschland bereit; Informationen: bero-host.de. Auch diese Hostingverarbeitung findet laut Betreiberangabe in Deutschland statt.
Discord OAuth, Discord-API-Aufrufe und Bildabrufe von cdn.discordapp.com sind hiervon getrennt zu betrachten. Discord, Inc. hat ihren Sitz in den USA; bei Nutzung dieser Funktionen kann eine Übermittlung oder ein Zugriff aus einem Drittland nicht ausgeschlossen werden. Die Übermittlungsgrundlage richtet sich nach den jeweils aktuellen Datenschutz- und Vertragsbedingungen von Discord. Anbieterinformationen: Datenschutzhinweise von Bunny.net und Datenschutzhinweise von Discord.
3. Transparenz zur Verarbeitung von Serverdaten und Bot-Aktionen
Um wiederkehrende Fragen zur Arbeitsweise unseres Bots und der Verarbeitung von Serverdaten transparent zu klären, weisen wir auf folgende Sachverhalte hin:
3.1. Serverauswahl und Berechtigungsprüfung
Das Dashboard verarbeitet die von Discord gelieferten Server-IDs, Namen, Icons, Owner-Kennzeichnung und Berechtigungswerte, um Server anzuzeigen, auf denen der Bot Mitglied ist und dein Konto Administrator-, Owner- oder „Server verwalten“-Rechte besitzt. Diese Angaben dienen der Auswahl und Zugriffskontrolle. Eine statistische Erfassung der gesamten Discord-Serveranzahl ist nicht Zweck dieses Dashboard-Ablaufs.
3.2. Discord-OAuth für Login und Bot-Installation
Der Dashboard-Login verwendet Discord OAuth mit den Scopes identify, email und guilds. Dieser Login installiert den Bot nicht und erteilt ihm keine Bot-Berechtigungen. In der Serverübersicht kann eine Person, die für einen Server Administrator- oder „Server verwalten“-Rechte besitzt, den Bot separat über Discord OAuth2 zu diesem Server hinzufügen. Der Installationslink verwendet die Scopes bot und applications.commands und wählt den betreffenden Server voraus. Discord zeigt den Installationsdialog; die dort bestätigten Bot-Berechtigungen werden vom einladenden Nutzer ausgewählt. Discord verarbeitet dabei die für OAuth2-Installation und Guild-Auswahl erforderlichen Account- und Serverdaten.
3.3. Zugriff auf Serverdaten im Dashboard
Konfigurationsänderungen werden in serverbezogenen JSON-Dateien unter data/ gespeichert. Zusätzlich schreibt das Dashboard eine Update-Datei unter data/updates/, die der Bot beim Abruf übernimmt und entfernt. Änderungen werden mit Benutzername, Server-ID, Modul, Aktion, Quelle und Uhrzeit in täglichen Audit-Logdateien unter data/audit_logs/ protokolliert. Die in der Oberfläche angezeigten Discord-Kanal-, Rollen- und Mitgliederlisten werden nicht als dauerhafte Auswahllisten gespeichert.
3.4. Session-Cookie und Bestätigung der Rechtstexte
Für Anmeldung und CSRF-Schutz setzt das Dashboard ein technisch notwendiges PHP-Session-Cookie. Es wird mit bis zu 14 Tagen Laufzeit, den Attributen HttpOnly und – bei HTTPS – Secure gesetzt. Es werden durch den beschriebenen Dashboard-Code keine Analyse- oder Marketing-Cookies gesetzt. Nach dem Login speichert das Dashboard pro Discord-User-ID die Bestätigung der Datenschutz- und Nutzungsbedingungen mit Zeitpunkt sowie den Hash-Versionen der bestätigten Dokumente in data/legal_consents.json. Bei einer Änderung dieser Dokumente wird die Bestätigung erneut abgefragt. Die Checkboxen dokumentieren Kenntnisnahme bzw. Zustimmung; sie ersetzen keine Rechtsgrundlage für andere Verarbeitungsvorgänge.
4. Ausführliche Übersicht der Datenverarbeitung im Dashboard
Die Übersicht beschreibt die Speicherung dieser Dashboard-PHP-Anwendung. Der konkrete Umfang hängt davon ab, welche Module ein Server nutzt und welche Daten dort eingetragen werden. Wo im aktuellen Code keine automatische Löschfrist festgelegt ist, ist dies ausdrücklich vermerkt.
| Bereich / Modul | Verarbeitete Daten | Zweck | Speicherort | Speicherdauer |
|---|---|---|---|---|
| Login & Session | Discord User-ID, Benutzername, Avatar, optionale E-Mail-Adresse, Discord-Guildliste mit Server-IDs/Namen/Berechtigungen, Login-Zeitpunkt | Authentifizierung und Prüfung des Zugriffs auf ausgewählte Server | PHP Session ($_SESSION) |
Session-Cookie mit bis zu 14 Tagen Laufzeit oder bis zur Abmeldung; die OAuth-Access-Token werden nicht in der Session gespeichert |
| Sicherheits- und Bot-Cache | CSRF-Token; Ergebnis der Bot-Mitgliedschaftsprüfung und Servername/Icon | Schutz vor Cross-Site-Request-Forgery und effiziente Serverauswahl | PHP Session | CSRF-Token bis Session-Ende; Bot-Mitgliedschafts-Cache bis zu fünf Minuten |
| Discord-Serverdaten | Server-, Kanal- und Rollen-IDs/Namen; bei Nutzung des Mitglieder-Moduls zusätzlich Discord-IDs, Namen, Avatar, Rollen und Beitrittszeit | Serverauswahl und Darstellung der verfügbaren Konfigurationswerte bzw. Mitglieder | Abruf von Discord über die Bot-API; Anzeige im Dashboard | Mitglieder werden durch diesen Dashboard-Abruf nicht zusätzlich in JSON-Dateien gespeichert; Serverauswahl-Cache bis zu fünf Minuten |
| Modul-Konfigurationen | Kanal- und Rollen-IDs, Texte, Schalter, Ticket-Typen, Teamlisten- und Roleplay-Einstellungen | Konfiguration und Betrieb der Bot-Module | Serverbezogene JSON-Dateien unter data/, zum Beispiel configs/, teams/, ticket_configs/, welcomers/ und roleplaystates/ |
Bis zur Änderung oder Löschung; nach Austritt des Bots innerhalb von 3–7 Tagen, auf Wunsch des Server-Owners sofort |
| Plattform-Umfrage | Discord-Server-ID und -Name, gewählte Plattform bzw. Roblox-Spiel sowie Abgabezeitpunkt | Interne Erhebung der vom Bot genutzten Spiele und Plattformen; die Abstimmungen werden nicht öffentlich angezeigt | Gemeinsame Datei data/platform_survey.json |
Bis zur manuellen Löschung oder Einstellung der Umfrage; pro Server ist eine Abstimmung möglich |
| Personenverzeichnis | Discord User-ID, Roblox-Benutzername, Roblox-Anzeigename, Aktualisierungszeitpunkt | Zuordnung von Personen im serverbezogenen Personenverzeichnis | data/personensystem_data/{server_id}.json |
Bis zur Änderung oder Löschung; nach Austritt des Bots innerhalb von 3–7 Tagen, auf Wunsch des Server-Owners sofort |
| Tickets und Moderationsdaten | Ticket-/Case-ID, betroffene und bearbeitende Discord-IDs, Typ, Status, Zeitpunkte, letzte Nachricht und gegebenenfalls Abschlussgrund | Bearbeitung und Verlauf von Tickets bzw. Moderationsfällen | Serverbezogene JSON-Dateien, insbesondere data/ticket_data/ und vorhandene Bot-Sync-Verzeichnisse |
Bis zur Löschung; nach Austritt des Bots innerhalb von 3–7 Tagen, auf Wunsch des Server-Owners sofort |
| Aktivitätschecks und Entbannungskonfiguration | Ersteller- und Ziel-IDs, Antworten und Zeitpunkte bei Aktivitätschecks; bei Entbannungskonfiguration Kanal-IDs und selbst formulierte Fragen | Anzeige von Check-Historien und Konfiguration der Entbannungsfunktion | data/activity_data/ und data/unbans/ |
Bis zur Änderung oder Löschung; nach Austritt des Bots innerhalb von 3–7 Tagen, auf Wunsch des Server-Owners sofort |
| Audit- und Sync-Protokolle | Zeitpunkt, Benutzername, Server-ID, Modul, Aktion und Quelle; Sync-Update enthält die geänderte Konfiguration | Nachvollziehbarkeit von Änderungen und Übergabe an den Bot | data/audit_logs/ sowie data/updates/ |
Update-Dateien werden nach Bot-Abholung entfernt; übrige serverbezogene Daten und Logs nach Austritt des Bots innerhalb von 3–7 Tagen, auf Wunsch des Server-Owners sofort |
| API-Schlüssel-Verwaltung | Schlüssel-ID, Bezeichnung, Erstellungszeit, Rate-Limit, Aktivstatus und SHA-256-Hash des API-Schlüssels | Verwaltung serverbezogener API-Zugänge | data/api_management/ |
Bis zur Löschung des Schlüssels oder der Serverdaten; nach Austritt des Bots innerhalb von 3–7 Tagen, auf Wunsch des Server-Owners sofort |
| Cloudflare Turnstile | Prüftoken sowie für Sicherheits- und Missbrauchserkennung erforderliche Verbindungs- und Browserinformationen | Automatisierte Login-Anfragen erkennen und den OAuth-Einstieg schützen | Cloudflare Turnstile / Siteverify | Prüfung durch Cloudflare; Speicherdauer und weitere Verarbeitung richten sich nach den aktuellen Datenschutzhinweisen von Cloudflare |
| Rechtsbestätigungen | Discord User-ID, Bestätigung notwendiger Session-Cookies, Zustimmung zu Nutzungsbedingungen, Kenntnisnahme Datenschutz, Zeitstempel und akzeptierte Dokumentversionen | Nachweis der aktuellen Bestätigungen und erneute Abfrage nach Änderung der Rechtstexte | data/legal_consents.json |
Der aktuelle Eintrag bleibt bis zur nächsten Bestätigung oder manuellen Löschung gespeichert; bei einer erneuten Bestätigung wird der vorherige Eintrag ersetzt |
5. Speicherdauer und Löschkonzept
Das Session-Cookie hat eine konfigurierte Laufzeit von bis zu 14 Tagen; bei Abmeldung wird die Session beendet. Die serverseitige Session wird nach den PHP-Aufbewahrungseinstellungen des Hostings bereinigt. Der OAuth-Access-Token wird nach den API-Abrufen nicht in der Session gespeichert.
Serverbezogene Modulkonfigurationen, Personenverzeichnisse, Ticket- und Aktivitätsdaten sowie API-Verwaltungsdaten werden nach dem Austritt des Bots vom jeweiligen Server innerhalb von 3–7 Tagen gelöscht. Der Server-Owner kann die vollständige Löschung der Daten seines Servers jederzeit früher, auch sofort, anfordern. Update-Dateien werden zusätzlich nach erfolgreicher Abholung durch den Bot entfernt. Audit- und Login-Protokolle werden in täglichen Dateien geführt und zusammen mit den zugehörigen serverbezogenen Daten gelöscht. Rechtsbestätigungen sind plattformbezogen und werden nicht einem einzelnen Discord-Server zugeordnet; der aktuelle Eintrag pro Discord-ID wird bei erneuter Bestätigung ersetzt.
Gesetzliche Aufbewahrungspflichten und die Aufbewahrung von Nachweisen für laufende Rechtsansprüche bleiben unberührt. Bei Verstößen gegen die Nutzungsbedingungen können serverbezogene Daten gelöscht werden; eine Wiederherstellung kann dann nicht möglich sein.
6. Gespeicherte Daten auf Servern, auf denen der Bot nicht mehr ist
Nach dem Austritt des Bots werden die zugehörigen serverbezogenen Konfigurationen, Ticket-, Personen- und Aktivitätsdaten sowie Protokolle innerhalb von 3–7 Tagen gelöscht. Der Server-Owner kann die sofortige Löschung jederzeit unter lukas@nrw-roleplay.de anfordern. Gesetzliche Aufbewahrungspflichten und Daten, die zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen erforderlich sind, bleiben davon unberührt und werden auf das notwendige Maß beschränkt.
7. Empfänger, Hosting und internationale Übermittlungen
- Discord, Inc.: Empfänger der OAuth-Anfragen, Profil- und Serverlistenabrufe sowie der Bot-API-Anfragen. Profilbilder und Server-Icons können vom Discord-CDN geladen werden.
- Bunny.net: Anbieter des Font-CDN, von dem die Schriftdateien über
fonts.bunny.netgeladen werden. - Webhosting: Bero Host / Andreas Beck, Deutschland (bero-host.de). Der Anbieter verarbeitet technische Verbindungs- und Hostingdaten zur Auslieferung und zum Betrieb dieser Website.
Das Webhosting bei Bero Host in Deutschland und Bunny Fonts in der EU führen nach den Betreiberangaben nicht zu einer Drittlandübermittlung. Discord, Inc. hat ihren Sitz in den USA; bei OAuth-, API- und CDN-Nutzung kann eine Verarbeitung oder ein Zugriff aus den USA bzw. weiteren Drittländern nicht ausgeschlossen werden. Discord beschreibt die hierfür geltenden Übermittlungsmechanismen in seinen aktuellen Datenschutz- und Vertragsbedingungen. Eine pauschale Aussage, dass bei der Nutzung des Dashboards keinerlei Drittlandübermittlung stattfindet, gilt daher nicht.
Für Betrieb und Sicherheit können Serverprotokolle technische Verbindungsdaten wie IP-Adresse, Zeitpunkt, angeforderte URL und User-Agent enthalten. Die Logdateien des Dashboards werden zusammen mit den serverbezogenen Daten innerhalb von 3–7 Tagen nach Bot-Austritt gelöscht; Hosting-interne Zugriffs- und Fehlerprotokolle unterliegen den Aufbewahrungseinstellungen von Bero Host.
8. Deine Rechte als betroffene Person
Du kannst die nach der DSGVO vorgesehenen Rechte gegenüber dem jeweils zuständigen Verantwortlichen geltend machen:
- Auskunft und Kopie (Art. 15 DSGVO), Berichtigung (Art. 16 DSGVO) und Löschung (Art. 17 DSGVO).
- Einschränkung der Verarbeitung (Art. 18 DSGVO) und Datenübertragbarkeit (Art. 20 DSGVO), soweit die gesetzlichen Voraussetzungen erfüllt sind.
- Widerspruch (Art. 21 DSGVO), wenn die Verarbeitung auf berechtigten Interessen beruht. Die Verarbeitung wird dann beendet, sofern keine zwingenden schutzwürdigen Gründe oder Rechtsansprüche entgegenstehen.
- Widerruf einer Einwilligung (Art. 7 Abs. 3 DSGVO), wenn eine Verarbeitung tatsächlich auf deiner Einwilligung beruht. Der Widerruf wirkt für die Zukunft.
Anfragen an den Plattformbetreiber: lukas@nrw-roleplay.de. Für Inhalte, die ein Discord-Serverbetreiber für eigene Zwecke verwaltet, kannst du dich außerdem an diesen Serverbetreiber wenden. Zuständige Aufsichtsbehörde für Berlin ist die Landesbeauftragte für Datenschutz und Informationsfreiheit Berlin. Du kannst dich außerdem bei der Aufsichtsbehörde deines gewöhnlichen Aufenthalts, Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes beschweren.