Datenschutzerklärung
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.
1. Was ist das Team-Dashboard?
Das Team-Dashboard ist ein optionales Modul innerhalb des Roleplay Systems Dashboards. Es unterstützt Discord-Serverbetreiber bei der internen Teamverwaltung und bei der Bearbeitung von Bewerbungen. Der jeweilige Serverbetreiber entscheidet, ob und für welche Zwecke das Modul aktiviert wird.
- Mitgliederverwaltung: Übersicht über aktive, inaktive und urlaubende Teammitglieder.
- Stellenausschreibungen: Erstellen und Verwalten offener Positionen im Team.
- Bewerbungsverwaltung: Eingehende Bewerbungen annehmen oder ablehnen.
- Ankündigungen: Interne Mitteilungen an das Team (info, Warnung, Erfolg etc.).
- Interne Beiträge: Teaminternes schwarzes Brett für Posts und Neuigkeiten.
- Aufgaben: Erstellen, Zuweisen und Verfolgen von Team-Aufgaben.
- Events: Planung teaminterner Veranstaltungen, Meetings und Deadlines.
- Urlaubs-/Abwesenheitsanträge: Verwaltung und Genehmigung von Abwesenheiten.
- Webhook-Benachrichtigungen: Optionale Übermittlung ausgewählter Ereignisse an einen vom Serverbetreiber konfigurierten Discord-Kanal.
- Öffentliche Bewerbungsseite: Externe Bewerber können sich über eine öffentliche URL bewerben.
Das Modul ist standardmäßig nicht aktiviert und muss von einem berechtigten Server-Administrator eingerichtet werden. Die konkrete Konfiguration, die Eingabefelder und die Berechtigungsvergabe werden vom jeweiligen Serverbetreiber festgelegt. Eine vollständige öffentliche Zugänglichkeit der Daten ist nicht vorgesehen; der tatsächliche Zugriff hängt jedoch von der Konfiguration und den vergebenen Discord-/Dashboard-Berechtigungen ab.
2. Verantwortlicher und Rechtsgrundlagen
Für den technischen Betrieb der Plattform und die Bereitstellung des Team-Dashboards ist verantwortlich:
Lukas Seifert
Medebacher Weg 13
E-Mail: lukas@nrw-roleplay.de
Für serverbezogene Team- und Bewerbungsdaten bestimmt der jeweilige Discord-Serverbetreiber die Zwecke und wesentlichen Mittel der Verarbeitung. Er ist deshalb regelmäßig eigener Verantwortlicher oder gemeinsam mit dem Plattformbetreiber verantwortlich. Die jeweils passende Rechtsgrundlage muss der Serverbetreiber für seinen konkreten Zweck prüfen und den betroffenen Personen mitteilen. In Betracht kommen insbesondere:
- Art. 6 Abs. 1 lit. b DSGVO – Verarbeitung zur Erfüllung eines Vertrags bzw. vorvertraglicher Maßnahmen (z. B. Bewerbungsverfahren).
- Art. 6 Abs. 1 lit. f DSGVO – Berechtigtes Interesse an der sicheren und effizienten Teamverwaltung innerhalb des Discord-Servers.
- Art. 6 Abs. 1 lit. a DSGVO – Einwilligung, soweit sie wirksam und freiwillig für einen bestimmten Zweck eingeholt wird.
- Art. 6 Abs. 1 lit. c DSGVO – Erfüllung gesetzlicher Pflichten, soweit eine solche Pflicht besteht.
3. Verarbeitete Daten nach Funktionsbereich
3.1. Teammitglieder
Wird ein Nutzer anhand zugewiesener Discord-Rollen erkannt oder durch den Serverbetreiber eingetragen, können folgende Daten verarbeitet werden:
- Discord User-ID und Benutzername
- Profilbild (Avatar-URL zum Zeitpunkt der letzten Synchronisation)
- Mitgliedsstatus (
active,inactive,vacation) - Beitrittsdatum, Abgangsdatum (sofern eingetragen)
- Zugewiesene interne Ränge (Team-Rang-ID)
- Optionale Notizen (freitextlich, durch Administratoren eingetragen)
- Warn-Punkte (sofern das System genutzt wird)
Zweck und Rechtsgrundlage: Teamverwaltung, Rollen- und Berechtigungsprüfung sowie interne Organisation. Die Rechtsgrundlage ist vom jeweiligen Serverbetreiber festzulegen; regelmäßig kommt Art. 6 Abs. 1 lit. f DSGVO in Betracht.
3.2. Stellenausschreibungen
Stellenausschreibungen enthalten überwiegend Sach- und Konfigurationsdaten. Personenbezug kann durch Erstellerdaten und individuell eingegebene Inhalte entstehen. Gespeichert werden:
- Titel, Beschreibung, Anforderungen
- Status (
open,closed), Bewerbungslimit - Ersteller-ID und -name (Discord, des angemeldeten Dashboard-Nutzers)
- Benutzerdefinierte Felder und Einstellungen zur Bewerbungsseite
3.3. Bewerbungen
Über die öffentliche Bewerbungsseite oder intern eingereichte Bewerbungen werden folgende Daten gespeichert:
- Name des Bewerbers (freitextlich oder aus Discord-Login)
- Discord User-ID zur Zuordnung der Bewerbung
- Bewerbungstext und Antworten auf benutzerdefinierte Felder
- Bewerbungsstatus (
new,review,accepted,rejected) - Prüfer-ID, Bearbeitungszeitpunkt und interne Notiz
- Einreichungszeitpunkt, technische Quell-IP-Adresse und Statusereignisse
Speicherdauer: Bewerbungen mit dem Status accepted oder rejected werden 60 Tage nach dem gespeicherten Entscheidungszeitpunkt automatisiert gelöscht. Antworten und Statusereignisse werden dabei mitgelöscht. Bewerbungen mit dem Status new oder review bleiben bis zur Entscheidung oder manuellen Löschung bestehen.
Rechtsgrundlage: Abhängig vom konkreten Bewerbungsverfahren insbesondere Art. 6 Abs. 1 lit. a oder b DSGVO. Eine Bewerbung allein ersetzt keine transparente Information über Zweck, Rechtsgrundlage und Speicherdauer.
3.4. Ankündigungen und interne Beiträge
Teammitglieder und Administratoren können Ankündigungen und interne Posts verfassen. Gespeichert werden:
- Titel und Inhalt des Beitrags
- Autor-ID und Autorenname (Discord, des erstellenden Nutzers)
- Erstellungszeitpunkt, Pin-Status, Typ (Info, Warnung, Erfolg etc.)
Speicherdauer: Für Ankündigungen und Beiträge ist im derzeit dokumentierten Code keine einheitliche automatische Löschfrist belegt. Der Serverbetreiber muss eine angemessene Frist festlegen und nicht mehr erforderliche Inhalte löschen.
3.5. Aufgaben (Tasks)
Für die interne Aufgabenverwaltung werden folgende Daten gespeichert:
- Titel, Beschreibung, Priorität, Status (
open,in_progress,done) - Ersteller-ID und -name sowie Fälligkeitsdatum (optional)
- Zugewiesene Nutzer-IDs (sofern eine Zuweisung vorgenommen wird)
3.6. Team-Events
Geplante Ereignisse (Meetings, Trainings, Deadlines) werden gespeichert mit:
- Titel, Beschreibung, Typ, Datum, Uhrzeit, Ort/Link
- Ersteller-ID und -name
3.7. Urlaubs- und Abwesenheitsanträge
Anträge auf Urlaub oder Abwesenheit enthalten:
- Discord User-ID und Benutzername des Antragstellers
- Start- und Enddatum, Begründung (freitextlich)
- Status (
pending,approved,rejected), Reviewer-ID
3.8. Ränge und Berechtigungen
Das interne Rang-System speichert vor allem Konfigurationsdaten. Über die Verknüpfung mit Discord-Rollen und die Berechtigungsvergabe kann ein Personenbezug entstehen:
- Rang-Name, Farbe, Icon, Berechtigungssatz (
JSON) - Optionale Verknüpfung mit einer Discord-Rollen-ID
3.9. Team-Einstellungen und Konfiguration
Serverseitige Konfigurationsdaten werden unter der Server-ID gespeichert und können einem Serverbetreiber zugeordnet werden:
- Team-Name, aktivierte Rollen-IDs (zur Erkennung von Teammitgliedern)
- Einstellungen zur Bewerbungsseite (Titel, Untertitel, Login-Pflicht, Passwortschutz-Hash)
- Webhook-URL (verschlüsselt, siehe Abschnitt 4)
- Webhook-Ereignistypen und Aktivierungsstatus
4. Webhook-Benachrichtigungen
Das Team-Dashboard kann bei bestimmten Ereignissen eine Nachricht an einen vom Serverbetreiber ausgewählten Discord-Kanal senden. Die Funktion ist optional und wird nur bei hinterlegter Konfiguration ausgeführt.
4.1. Speicherung der Webhook-URL
Über das aktuelle Server-Webhook-System wird die URL mit AES-256-CBC verschlüsselt in der Datenbank gespeichert. Der Schlüssel wird serverseitig verwaltet. Ältere oder modulinterne Konfigurationswege können davon abweichen; für sensible Webhooks darf deshalb ausschließlich der verschlüsselte Server-Webhook-Speicher verwendet werden.
4.2. Übermittelte Daten
Beim Versand einer Webhook-Nachricht werden folgende Daten an den Discord-Kanal des jeweiligen Servers übertragen:
- Team-Name (Konfigurationsdatum des jeweiligen Servers)
- Ereignis-spezifische Informationen (z. B. Name des neuen Mitglieds, Titel einer Ankündigung, Name des Bewerbers)
Die Daten werden an Discord, Inc. als Betreiberin des konfigurierten Zielkanals übermittelt. Discord verarbeitet diese Daten nach eigenen Datenschutzbestimmungen und ist für die Verarbeitung innerhalb seines Dienstes grundsätzlich eigener Verantwortlicher. Der Serverbetreiber muss vor Aktivierung prüfen, welche Inhalte übermittelt werden dürfen.
4.3. Fehlerprotokollierung
Fehler bei der Zustellung können je nach Modul protokolliert werden. Solche Protokolle dürfen nur zur Fehleranalyse verwendet, auf den notwendigen Umfang beschränkt und nach Wegfall des Zwecks gelöscht werden.
5. Öffentliche Bewerbungsseite
Jeder Server, der das Bewerbungsmodul aktiviert hat, kann eine öffentlich erreichbare Bewerbungsseite bereitstellen. Die Seite kann aufgerufen werden, die Einreichung einer Bewerbung erfordert im aktuellen Ablauf jedoch eine Anmeldung über Discord.
5.1. Verarbeitete Daten bei Einreichung
- Name des Bewerbers: Freitextlich oder automatisch aus einem Discord-Login befüllt.
- Discord-ID und Konto-Zuordnung: Die Discord-ID ist für die Einreichung erforderlich; zusätzlich kann eine interne Nutzer-ID gespeichert werden.
- Antworten: Freitext- und gegebenenfalls Zahlenantworten auf die vom Serverbetreiber konfigurierten Fragen, einschließlich freiwillig eingegebener besonderer oder sensibler Informationen.
- Antworten auf benutzerdefinierte Felder: Sofern der Server-Administrator individuelle Felder konfiguriert hat (z. B. Alter, Erfahrung).
5.2. Discord-Login auf der Bewerbungsseite
Für die Einreichung wird eine Authentifizierung über Discord verwendet. Dabei können folgende Daten aus dem OAuth-Prozess und der Session verarbeitet werden:
- Discord User-ID, Benutzername, Anzeigename (Global Name)
Die Session dient der Authentifizierung, der Zuordnung der Bewerbung und der Weiterleitung nach dem Login. Session-Daten werden nach Ablauf der Session gelöscht; serverseitige Bewerbungsdaten bleiben davon unberührt.
5.3. Passwortschutz
Der Administrator kann die öffentliche Bewerbungsseite mit einem Passwort schützen. Das Passwort selbst wird nicht im Klartext gespeichert – lediglich ein bcrypt-Hash ist in der Datenbank hinterlegt.
5.4. Einwilligung des Bewerbers
Vor dem Absenden muss der Serverbetreiber die betroffene Person über Verantwortlichen, Zwecke, Rechtsgrundlage, Empfänger, Speicherdauer und Rechte informieren. Eine Einwilligung ist nur wirksam, wenn sie freiwillig, informiert und nachweisbar erteilt wird. Die Löschung bereits eingereichter Bewerbungsdaten kann bei den oben genannten Verantwortlichen beantragt werden.
6. Technische Speicherung und Speicherdauer
Die folgenden technischen Kategorien dienen der Einordnung der im Team-Dashboard verwendeten Daten. Die konkrete Verarbeitung hängt von den aktivierten Modulen und der Konfiguration des jeweiligen Servers ab. Bewerbungen und bestimmte Modul-Daten werden durch die jeweils dokumentierten Bereinigungsroutinen gelöscht; für nicht aufgeführte Inhalte ist der Serverbetreiber für ein angemessenes Löschkonzept verantwortlich.
| Technische Kategorie | Verarbeitete Daten | Zweck | Speicherdauer |
|---|---|---|---|
server_trainers |
server_id, guild_id, user_id, created_at | Mitgliederverwaltung und Übersicht | Bis zur manuellen Löschung oder Server-Entfernung |
server_roles |
server_id, role_key, discord_role_id, role_name, created_at | Erkennung von Teammitgliedern anhand Discord-Rollen | Bis zur manuellen Entfernung |
guild_application_settings / guild_application_questions |
Seiteneinstellungen, Bewerbungsstatus, konfigurierbare Fragen und Antworttypen | Verwaltung offener Stellen und Bewerbungsseite | Nach Wegfall des Zwecks durch den Serverbetreiber löschen |
guild_application_submissions / guild_application_answers |
guild_id, user_id, discord_user_id, status, Zeitpunkte, Prüfer, Notiz, Quell-IP und Antworten | Verwaltung eingehender Bewerbungen | Entscheidungen: 60 Tage nach reviewed_at; offene Bewerbungen bis Entscheidung |
| Aktivierte Modul-Tabellen | Je nach Modul: Inhalte, Autor-/Nutzer-IDs, Status, Zeitpunkte und freie Texte | Interne Teamkommunikation | Frist durch den Serverbetreiber festlegen; nicht erforderliche Inhalte löschen |
| Aktivierte Modul-Tabellen | Je nach Modul: interne Beiträge, Autor-/Nutzer-IDs, Status, Zeitpunkte und freie Texte | Interne Beiträge (schwarzes Brett) | Frist durch den Serverbetreiber festlegen; nicht erforderliche Inhalte löschen |
| Aktivierte Modul-Tabellen | Je nach Modul: Aufgaben, Zuweisungen, Prioritäten, Status und Fälligkeiten | Aufgabenverwaltung im Team | Bis zur manuellen Löschung |
| Aktivierte Modul-Tabellen | Je nach Modul: Termine, Beschreibungen, Orte/Links, Ersteller und Zeitpunkte | Planung und Ankündigung von Team-Events | Bis zur manuellen Löschung |
absences und weitere Modul-Tabellen |
user_id, guild_id, Grund, Zeitraum, Art, Status und Erstellungszeitpunkt | Verwaltung von Urlaubs-/Abwesenheitsanträgen | Bis zur manuellen Löschung |
server_modules |
server_id, module_key, Aktivierungsstatus und Erstellungszeitpunkt | Internes Rang- und Berechtigungssystem | Bis zur manuellen Löschung |
server_webhooks |
server_id, module_key, verschlüsselte Webhook-URL und Erstellungszeitpunkt | Konfiguration des Team-Moduls je Server | Bis zur manuellen Änderung oder Server-Entfernung |
7. Empfänger, Hosting und Protokolle
Das Webhosting erfolgt laut Betreiberangabe bei Bero Host / Andreas Beck in Deutschland; Bunny Fonts stellt die Schriftdateien bereit (siehe Abschnitt 2.5). Der Hostinganbieter verarbeitet technische Verbindungs- und Hostingdaten zur Bereitstellung der Website. Soweit eine Auftragsverarbeitung vorliegt, ist ein Vertrag nach Art. 28 DSGVO erforderlich.
Bei Discord-Login, Discord-Rollenabfragen und Webhook-Versand ist Discord, Inc. Empfängerin der jeweils erforderlichen Daten. Dabei kann eine Verarbeitung außerhalb der Europäischen Union oder des Europäischen Wirtschaftsraums stattfinden. Die konkrete Übermittlungsgrundlage ist anhand der aktuellen Discord-Vertragsunterlagen zu prüfen und vor Veröffentlichung anzugeben.
Beim Absenden einer Bewerbung wird außerdem die Quell-IP-Adresse zur technischen Übermittlung und gegebenenfalls zur Missbrauchs- und Sicherheitsprävention verarbeitet. Dashboard-Protokolle werden laut den Angaben in Abschnitt 6 zusammen mit serverbezogenen Daten nach dem Bot-Austritt innerhalb von 3–7 Tagen gelöscht. Hosting-interne Zugriffs- und Fehlerprotokolle unterliegen den Aufbewahrungseinstellungen von Bero Host; deren konkrete Frist ist noch zu verifizieren. Protokolle dürfen nur so lange aufbewahrt werden, wie es für Sicherheit, Fehleranalyse oder gesetzliche Pflichten erforderlich ist.
Die Bereitstellung der für eine Funktion als erforderlich gekennzeichneten Daten ist notwendig, um diese Funktion zu nutzen. Freiwillige Angaben können ausgelassen werden; freie Texte dürfen keine Daten Dritter oder besonderen Kategorien personenbezogener Daten enthalten.
8. Zugriff, Berechtigungen und Datensicherheit
8.1. Zugangssteuerung
Der Zugriff auf das Team-Dashboard ist ausschließlich auf Nutzer beschränkt, die im Dashboard angemeldet sind und die für den jeweiligen Discord-Server notwendigen Berechtigungen besitzen. Innerhalb des Moduls gelten granulare Berechtigungen je Rang-Stufe (z. B. manage_applications, manage_jobs, manage_members).
8.2. Technische Schutzmaßnahmen
Zum Schutz der Daten werden unter anderem serverseitige Zugriffskontrollen, Sitzungen, vorbereitete Datenbankabfragen und eine rollenabhängige Berechtigungsprüfung eingesetzt. Schreibende Aktionen müssen zusätzlich gegen CSRF-Angriffe abgesichert sein; die konkrete Umsetzung ist für jedes Modul regelmäßig zu prüfen.
8.3. Verschlüsselung sensibler Konfigurationsdaten
Discord-Webhook-URLs werden mit AES-256-CBC verschlüsselt gespeichert. Der Schlüssel wird serverseitig vorgehalten und verlässt den Server nicht. Passwörter für die Bewerbungsseite werden ausschließlich als bcrypt-Hash gespeichert.
8.4. Bereinigungsroutine
Der zentrale Bereinigungslauf löscht entschiedene Bewerbungen nach 60 Tagen. Abwesenheiten werden entsprechend der Modul-Einstellung (14 oder 30 Tage nach dem Abwesenheitsende) bereinigt, Schichten entsprechend ihrer Einstellung (7 oder 14 Tage), und erledigte persönliche Aufgaben nach 10 Tagen. Für weitere Module ohne eigene Bereinigungsroutine bleibt der jeweilige Serverbetreiber für ein dokumentiertes Löschkonzept verantwortlich.
9. Löschung bei Server-Entfernung
Wird der Bot von einem Discord-Server entfernt, markiert der zentrale Bereinigungslauf den Server zunächst als vermisst. Bleibt er 7 Tage lang in keiner erfolgreichen Discord-Guild-Abfrage enthalten, werden serverbezogene Daten aus Tabellen mit guild_id sowie die zugehörige Serverkonfiguration gelöscht. Eine fehlgeschlagene Discord-Abfrage löst keine Löschung aus. Bestehen gesetzliche Aufbewahrungspflichten oder laufende Rechtsstreitigkeiten, muss der Bereinigungslauf vor dem produktiven Einsatz um eine entsprechende Sperr- oder Ausnahmeregelung ergänzt werden.
10. Deine Rechte als betroffene Person
Als Person, deren Daten im Team-Dashboard verarbeitet werden (z. B. als Teammitglied oder als Bewerber), stehen dir folgende Rechte gemäß DSGVO zu:
- Auskunftsrecht (Art. 15 DSGVO): Du kannst Auskunft darüber verlangen, welche Daten von dir gespeichert sind.
- Recht auf Berichtigung (Art. 16 DSGVO): Fehlerhafte Daten können auf Antrag korrigiert werden.
- Recht auf Löschung (Art. 17 DSGVO): Du kannst unter den gesetzlichen Voraussetzungen die Löschung verlangen. Eine Löschung kann insbesondere bei gesetzlichen Aufbewahrungspflichten, zur Geltendmachung von Rechtsansprüchen oder wegen anderer gesetzlicher Ausnahmen eingeschränkt sein.
- Recht auf Einschränkung (Art. 18 DSGVO) sowie Datenübertragbarkeit (Art. 20 DSGVO).
- Widerspruchsrecht (Art. 21 DSGVO): Gegen die Verarbeitung auf Basis berechtigter Interessen.
- Widerrufsrecht (Art. 7 Abs. 3 DSGVO): Eine erteilte Einwilligung (z. B. durch Einreichung einer Bewerbung) kann jederzeit ohne Angabe von Gründen mit Wirkung für die Zukunft widerrufen werden.
Zur Ausübung deiner Rechte kontaktiere uns bitte per E-Mail an lukas@nrw-roleplay.de. Bitte gib, soweit möglich, die betreffende Server-ID, deinen Discord-Namen oder deine Discord-ID und die Art deiner Anfrage an. Du hast außerdem das Recht, dich bei einer Datenschutzaufsichtsbehörde zu beschweren, insbesondere in dem Mitgliedstaat deines gewöhnlichen Aufenthalts, Arbeitsplatzes oder des mutmaßlichen Verstoßes.