Legal & Compliance

Datenschutz Team-Dashboard

Diese Ergänzung beschreibt die Verarbeitung im Team-Dashboard. Für Discord-Daten gelten zusätzlich die Hinweise im Tab „Bot-Dashboard“. Je nach Funktion kann der Betreiber des Team-Dashboards oder der jeweilige Discord-Serverbetreiber Verantwortlicher im Sinne der DSGVO sein.

1. Was ist das Team-Dashboard?

Das Team-Dashboard ist ein optionales Modul innerhalb des NRW 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

Die Daten werden auf dem vom Betreiber eingesetzten Webserver und in der angebundenen Datenbank verarbeitet. Der konkrete Hostinganbieter und gegebenenfalls eingesetzte Auftragsverarbeiter müssen in den allgemeinen Datenschutzhinweisen mit Name, Sitz, Zweck und Rechtsgrundlage benannt werden. Eine Auftragsverarbeitung ist, soweit erforderlich, vertraglich nach Art. 28 DSGVO abzusichern.

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 dafür verwendete Übermittlungsgrundlage, insbesondere ein Angemessenheitsbeschluss oder geeignete Garantien, ist in den allgemeinen Datenschutzhinweisen aktuell zu benennen.

Beim Absenden einer Bewerbung wird außerdem die Quell-IP-Adresse zur technischen Übermittlung und gegebenenfalls zur Missbrauchs- und Sicherheitsprävention gespeichert. Server- und Fehlerprotokolle dürfen nur so lange aufbewahrt werden, wie sie für Sicherheit, Fehleranalyse oder gesetzliche Pflichten erforderlich sind. Der konkrete Log-Aufbewahrungszeitraum muss vom Betreiber festgelegt und hier ergänzt werden.

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 beim Dashboard-Aufruf löscht entschiedene Bewerbungen nach 60 Tagen, Abwesenheiten entsprechend der Modul-Einstellung (14 oder 30 Tage nach dem Abwesenheitsende), Schichten entsprechend ihrer Einstellung (7 oder 14 Tage) und erledigte Todos nach 10 Tagen. Der Lauf wird aus Sicherheits- und Performancegründen höchstens einmal innerhalb von 15 Minuten tatsächlich ausgeführt.

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.