Technische Offenlegung
Datenschutz-Datenblatt
Dieses Blatt führt jede Tabelle an, die Learny Amt anlegt, mit Inhalt, Personenbezug, Lesekreis und Löschfrist. Dazu kommt eine Liste der Fragen, die dieses System nicht beantworten kann, jeweils mit Begründung.
1.Wie dieses Blatt zu lesen ist
Dieses Blatt unterscheidet durchgehend zwischen zwei Aussagen, die leicht verwechselt werden:
- Nicht vorgesehen bedeutet, dass die Daten vorhanden wären, die Auswertung aber nicht gebaut ist. Das ist eine Entscheidung, die sich mit einer neuen Fassung der Anwendung zurücknehmen ließe.
- Nicht formulierbar bedeutet, dass es keine Spalte gibt, in der die Antwort stehen könnte. Das liegt am Datenmodell. Wer das ändern will, muss den Quelltext ändern, eine Migration schreiben und den Dienststellenausschuss erneut um Zustimmung bitten.
Wo „nicht vorgesehen“ die zutreffende Antwort ist, steht das hier auch so. Das gilt auch dann, wenn „nicht formulierbar“ günstiger wirken würde.
- Datenhaltung
- Eine einzige SQLite-Datei auf dem Anwendungsserver
- Angewandte Migrationen
- Stand 5
- Anzahl der Tabellen
- 30
- Ohne Personenkennung
- 3 der Tabellen, aus denen Auswertungen entstehen
2.Alle Datenbanktabellen im Überblick
| Tabelle | Inhalt | Personenbezug | Wer sie lesen kann | Löschfrist |
|---|---|---|---|---|
| organisationseinheit | Aufbau der Dienststelle: Bezeichnung, Kurzform, Typ, übergeordnete Einheit | nein | Alle Angemeldeten | Solange die Einheit besteht |
| person | Konto: Name, dienstliche E-Mail-Adresse, Rolle, Einheit, Passwort-Ableitungswert, Einwilligung zur Messung | ja | Die Person selbst; die betreibende Stelle bei der Kontenpflege in der Datenbank | Mit dem Konto |
| benutzersitzung | Angemeldete Sitzungen: Abdruck des Sitzungsschlüssels, Ablauf, IP-Adresse, Browserkennung | ja | Die Person selbst (eigene Geräteliste) | 12 Stunden; abgelaufene laufend |
| anmeldeversuch | E-Mail-Adresse, Erfolg, Zeitpunkt, IP-Adresse (Schutz vor Durchprobieren) | ja | Niemand in der Oberfläche | 24 Stunden |
| einladung | Einladungscode, Zieleinheit, Rolle, ausstellende Person | mittelbar (ausstellende Person) | Multiplikator:innen der Einheit und die Systemverwaltung | Bis zum Ablauf des Codes |
| frage | Frageregister: Wortlaut, Fachgebiet, Status, Antwort, Wiedervorlage, Patenschaft, Zeitpunkt (bei Fragen, die jemand anonym ins Register einträgt, nur minutengenau) | ja, außer bei anonym eingebrachten Fragen | Die Einheit | Wissensbestand; Verfasserbezug entfällt mit dem Konto |
| frage_bezug | Verknüpfung einer Frage mit dem, was aus ihr geworden ist | nein | Wie die verknüpfte Frage | Mit der Frage |
| besprechung | Sitzungsraum: Titel, Zugangscode, Einheit, moderierende Person | mittelbar (Moderation) | Die Einheit | Wissensbestand |
| besprechungsfrage | Beiträge aus dem Sitzungsraum: Wortlaut und minutengenauer Zeitpunkt | nein | Alle Teilnehmenden der Besprechung | Mit der Besprechung |
| lernvermerk | Annahme, Vorgehen, Ergebnis, Erkenntnis, Unterschied, Geschäftszahl des Bezugsakts | ja, sofern nicht anonymisiert | Nach gewählter Sichtbarkeit: nur die Person selbst, Team, Dienststelle oder bundesweit | Wissensbestand; Verfasserbezug entfällt mit dem Konto |
| lernvermerk_fts | Volltextindex über die Versuchsvermerke; speichert den Inhalt nicht doppelt | wie lernvermerk | Nur mittelbar über die Suche | Mit dem Versuchsvermerk |
| denkfalle_zug | Ein Zug im Bauchgefühl-Test: Szenario, Fassung (Variante), Entscheidung, Sicherheitsangabe (Konfidenz), Organisationseinheit und minutengenauer Zeitpunkt | nein | Als Verteilung über alle Spielenden | Bleibt als Zeitreihe |
| thema | Lernthema: Titel, Kompetenz, Quelle, wer es geschrieben und wer es fachlich freigegeben hat | mittelbar (Erstellung, Freigabe) | Die Einheit, nach Freigabe | Bis zur Zurückziehung |
| aspekt | Einzelner Lernaspekt eines Themas mit Belegstelle | nein | Wie das Thema | Mit dem Thema |
| aspekt_stand | Eigener Lernstand je Aspekt: Stand, letzte Sicherheitsangabe, getroffen oder nicht, Zahl der Wiederholungen, Wiedervorlagedatum | ja | Ausschließlich die betroffene Person | Mit dem Konto |
| rechtssatz | Rechtssatz samt Originalfrage für die Fragesuche | nein | Alle Angemeldeten | Bis zur Zurückziehung |
| umgekehrt_versuch | Eigener Versuch in der Fragesuche: Rechtssatz, selbst formulierte Frage und Zeitpunkt; die Spalten für eine Einordnung bleiben leer, weil es keine Einordnung mehr gibt | ja | Ausschließlich die betroffene Person | Mit dem Konto |
| norm | Zwischenspeicher für Normtexte aus dem Rechtsinformationssystem | nein | Alle Angemeldeten | Bis zur nächsten Fassung |
| barometer_lauf | Erhebungswelle des Klimabarometers: Einheit, Welle, Frist | nein | Leitung und Multiplikator:innen der Einheit | Bleibt als Zeitreihe |
| barometer_antwort | Einzelantwort: eine eigene Zufallskennung je Antwort (Spalte bogen), Nummer der Aussage, Wert und der Monat der Abgabe; die Anwendung schreibt weder Tag noch Uhrzeit | nein | Nur aggregiert ab 5 beitragenden Personen | Bleibt als Zeitreihe |
| barometer_teilnahme | Verhindert doppelte Teilnahme über einen HMAC-Abdruck aus Lauf- und Personenkennung; dazu der Monat der Abgabe | nein; der Abdruck ist ohne Serverschlüssel nicht rückrechenbar | Niemand in der Oberfläche | Mit der Erhebungswelle |
| rolle_aktivitaet | Tätigkeitsnachweis der Multiplikator:innen: Art, bezogenes Objekt, Tag | ja | Nur die Person selbst; ob sie den Nachweis weitergibt, entscheidet sie selbst | Mit dem Konto |
| ki_protokoll | Leer. Betriebsprotokoll der im September 2026 entfernten KI-Funktionen; die Tabelle bleibt, weil ausgelieferte Migrationen nicht verändert werden | nein | Niemand in der Oberfläche | Leer; es entsteht kein Eintrag mehr |
| einfuehrung | Leer. Vorgesehen für den Fortschritt eines begleiteten Starts einer Einheit; derzeit schreibt und liest keine Ansicht diese Tabelle | nein | Niemand in der Oberfläche | Mit der Einheit |
| kategorie | Kategorienbaum des Wissensverzeichnisses: Titel, übergeordnete Kategorie, Farbe, Einheit | nein | Alle Angemeldeten | Bis zur Löschung der Kategorie |
| richtlinie | Richtlinie des Wissensverzeichnisses: Titel, Kurzfassung, Inhalt, Kategorie, Status, Fundstelle, verfassende Person | mittelbar (verfassende Person) | Die Dienststelle; Entwürfe nur die verfassende Person und alle, die Richtlinien schreiben dürfen | Wissensbestand; Verfasserbezug entfällt mit dem Konto |
| schlagwort | Schlagworte des Wissensverzeichnisses, einmal je Wort | nein | Alle Angemeldeten | Solange eine Richtlinie es trägt |
| richtlinie_schlagwort | Zuordnung Schlagwort zu Richtlinie; ob das Schlagwort ein Vorschlag der Anwendung war | nein | Wie die Richtlinie | Mit der Richtlinie |
| richtlinie_fts | Volltextindex über die Richtlinien | wie richtlinie | Nur mittelbar über die Suche | Mit der Richtlinie |
| schema_version | Angewandte Migrationen der Datenbank | nein | Niemand in der Oberfläche | Dauerhaft |
3.Die drei Tabellen ohne Personenkennung
Drei Tabellen sind für den Aufbau des Systems entscheidend. Sie nehmen die Angaben auf, die niemandem zugeordnet werden sollen, und enthalten deshalb keine Personenkennung:
besprechungsfrageenthält die Beiträge aus dem Sitzungsraum.denkfalle_zugenthält die Züge im Bauchgefühl-Test.barometer_antwortenthält die Einzelantworten des Klimabarometers.
Die Kennzahlen des Wirkungsbilds lesen außerdem die Tabellen frage, lernvermerk, besprechung, rolle_aktivitaet, barometer_lauf, barometer_teilnahme, person und organisationseinheit. Einige dieser Tabellen enthalten eine Personenkennung. Die Kennzahlen verwenden sie nur, um zu zählen, wie viele verschiedene Personen beigetragen haben oder noch tätig sind. So kann die Schwelle greifen. Aus person lesen sie nur, ob die Einwilligung zur Wirkungsmessung gesetzt ist. Einen Wert je Person geben sie nicht aus.
Diese Daten werden gar nicht erst erhoben
4.Fragen, die dieses System nicht beantworten kann
Die folgenden Fragen werden an Lernplattformen regelmäßig gestellt. Bei jeder Frage steht, ob sie am Datenmodell oder an einer Entscheidung scheitert, und warum.
- Wer hat in der Besprechung welche Frage eingebracht?nicht formulierbar
- Die Tabelle besprechungsfrage hat keine Spalte, in der eine Person stehen könnte. Sie enthält weder eine Kennung noch ein Pseudonym noch eine Gerätekennung. Darauf müssen sich alle verlassen können, die im Sitzungszimmer eine Frage eintippen, auch wenn die Sektionsleitung daneben sitzt. Der Webserver führt getrennt davon ein Zugriffsprotokoll mit Netzadresse und Uhrzeit jedes Aufrufs, aber ohne den Wortlaut. Damit sich beides nicht über die Sekunde verbinden lässt, speichert die Anwendung den Zeitpunkt eines Beitrags nur minutengenau.
- Wer ist in welche Denkfalle getappt?nicht formulierbar
- Die Tabelle denkfalle_zug hat keine Spalte person_id. Sie enthält Szenario, Fassung, Entscheidung, Sicherheitsangabe, Organisationseinheit und den minutengenauen Zeitpunkt. Ausgewertet wird ausschließlich die Verteilung über alle Durchgänge. Für die Übung kommt es didaktisch auf diese Verteilung an und nicht auf den Fehlgriff einer einzelnen Person.
- Wie hat eine bestimmte Person im Klimabarometer geantwortet?nicht formulierbar
- Die Tabelle barometer_antwort hat keine Personenspalte. Beim Abgeben schreibt die Anwendung zu jeder Antwort nur den Monat und weder Tag noch Uhrzeit. Jede Antwort bekommt eine eigene Zufallskennung, und die sieben Antworten werden in gemischter Reihenfolge an zufälligen Stellen der Tabelle abgelegt. Dadurch verbindet weder eine gemeinsame Kennung noch die Nachbarschaft in der Tabelle die Antworten eines Bogens. Die Teilnahme selbst steht als HMAC-Abdruck mit dem Monat in barometer_teilnahme. Dieser Abdruck lässt sich ohne den Serverschlüssel nicht zurückrechnen.
- Wer hat wie viele Fragen gestellt?nicht vorgesehen
- Die Antwort hat hier zwei Teile. Fragen aus dem Sitzungsraum haben keinen Verfasser, und anonym eingebrachte Fragen haben ebenfalls keinen. Im Frageregister wird der Verfasser gespeichert, damit es zu einer Frage eine Ansprechperson gibt. Es gibt jedoch keine Auswertungsfunktion, die nach Verfassern gruppiert. Die Funktionen in src/lib/kennzahl.ts nehmen keine Personenkennung entgegen. Eine Zählung je Person wäre außerdem eine personenbezogene Verarbeitung, über die nach § 9 Abs. 2 lit. f Bundes-Personalvertretungsgesetz das Einvernehmen mit dem Dienststellenausschuss herzustellen wäre.
- Wer lernt am wenigsten?nicht vorgesehen
- Die Tabelle aspekt_stand enthält die Wiedervorlage der Person und ist ausschließlich für sie selbst sichtbar. Es gibt keine Kennzahl über Lernstände, keine Rangfolge und keine Route, die einen fremden Lernstand ausliefert. Ein Vergleich von Lernständen wäre eine Bewertung von Personen. Solche Bewertungen können die eigene Lust am Lernen verdrängen; das beschreibt der Überrechtfertigungseffekt.
- Wer war letzte Woche am wenigsten aktiv?nicht vorgesehen
- Die Spalte person.zuletzt_aktiv_am gibt es, damit verwaiste Konten erkennbar sind. Sie wird in keiner Auswertung verwendet und in keiner Ansicht angezeigt, die eine andere Person sehen kann.
5.Die Schwelle für Auswertungen
Die Schwelle und ihre Prüffunktion stehen in src/lib/kennzahl.ts. Dort werden auch die vier Kennzahlen des Wirkungsbilds berechnet. Die Verteilung im Bauchgefühl-Test berechnet src/components/denkfallen/auswertung.ts. Diese Datei fragt ihre Tabelle selbst ab, verwendet aber dieselbe Schwelle und dieselbe Prüffunktion. Unter der Schwelle von 5 wird kein Wert herausgegeben, auch kein gerundeter Wert und keine ungefähre Angabe. Auch ein gerundeter Wert aus zwei Personen sagt nämlich etwas über diese zwei Personen aus.
Gezählt werden Personen, wo die Tabelle eine Verfasserkennung oder einen Teilnahmevermerk hat. Das gilt für Versuchsvermerke, namentliche Fragen, Barometerbogen und die Tätigkeit der Multiplikator:innen. Bei den Fragen je Besprechung zählen die Besprechungen und im Bauchgefühl-Test die Durchgänge je Fassung, weil diese Tabellen keine Person kennen. Anonym eingebrachte Fragen zählen zur Menge, aber nicht zur Personenschwelle. Sind alle Fragen anonym, genügen fünf Fragen.
Bei Versuchsvermerken und namentlichen Fragen zählen nur Personen, die in die Wirkungsmessung eingewilligt haben. Dort zeigt die Kachel unter der Schwelle auch die Zahl der Beitragenden nicht an, weil diese Zahl verraten könnte, wer eingewilligt hat. Das Ergebnis einer Erhebungswelle des Klimabarometers erscheint erst nach ihrem letzten Tag.
Drei weitere Regeln verhindern, dass sich einzelne Beiträge aus dem Vergleich zweier Auswertungen errechnen lassen. Ein laufender Zeitraum wird nur bis zum Ende der Vorwoche ausgewertet. Die Werte ändern sich deshalb einmal in der Woche und nicht mit jedem Eintrag. Am Kurzbogen nimmt nur teil, wessen Zugang schon bestand, als die Erhebungswelle angelegt wurde. So lässt sich die Mindestzahl nicht mit neu eingerichteten Zugängen erreichen. Die Systemverwaltung kann im Wirkungsbild nur oberste Organisationseinheiten wählen, weil sich die Werte einer Abteilung und eines ihrer Referate sonst voneinander abziehen ließen.
Warum die Schwelle bei fünf liegt
Fünf ist in der Praxis eine gebräuchliche Mindestgröße für solche Auswertungen und hier fest eingebaut. Die Überlegung dahinter: Bei zwei Beitragenden lässt sich jeder Anteil sofort zuordnen, denn 50 % bedeutet eine Person. Bei drei oder vier Beitragenden genügt es, über eine einzige Person Bescheid zu wissen, um auf die übrigen zu schließen. In einem Referat, dessen Besetzung alle kennen, ist dieses Wissen der Normalfall. Ab fünf Beitragenden ist eine solche Rückrechnung nicht mehr eindeutig.
Die Zahl ist eine Konstante im Quelltext und keine Einstellung in einer Oberfläche. Eine Führungskraft kann sie daher im laufenden Betrieb nicht absenken. Jede Änderung setzt eine neue Fassung des Programms voraus. Eine höhere Schwelle wäre unbedenklich, eine niedrigere müsste jemand ausdrücklich verantworten.
Drei Regeln, die zusammengehören
- Mindestgruppe: Unterhalb der Schwelle wird kein Wert geliefert. Stattdessen kommt die Begründung, warum kein Wert angezeigt wird.
- Keine fremde Kennung: Keine Auswertungsfunktion nimmt eine person_id entgegen. Ausgewertet wird ausschließlich nach Organisationseinheit.
- Eine Einheit je Zugang: Führungskräfte und Multiplikator:innen sehen nur die Einheit ihres Zugangs. Sie können deshalb nicht zwei Auswertungen gegeneinander verrechnen. Als Zeiträume gibt es nur Quartal, Halbjahr und Jahr. Die Systemverwaltung kann im Wirkungsbild eine Einheit wählen, aber nur unter den obersten Einheiten. Oberste Einheiten überschneiden sich nicht. Deshalb lässt sich keine Abteilung gegen eines ihrer Referate verrechnen.
Rechtsbezug
Nach § 9 Abs. 2 lit. f Bundes-Personalvertretungsgesetz ist über die Einführung von Systemen zur Verarbeitung personenbezogener Daten Bediensteter das Einvernehmen mit dem Dienststellenausschuss herzustellen (Verfahren nach § 10 PVG). Dazu kommt der Grundsatz der Datenminimierung nach Art. 5 Abs. 1 lit. c DSGVO. Für einen Dienststellenausschuss ist es ein Unterschied, ob ein System nur verspricht, keine Einzelauswertung zu machen, oder ob sie sich darin gar nicht formulieren lässt.
6.Rollen und ihre Sichtbarkeit
| Rolle | Sieht | Sieht nicht |
|---|---|---|
| Bedienstete:r | Frageregister der Dienststelle, Versuchsvermerke nach ihrer Sichtbarkeit, freigegebene Lernthemen, Wissensverzeichnis, eigener Lernstand, Sitzungsraum, Bauchgefühl-Test | Keinerlei Auswertung über andere Personen |
| Multiplikator:in | Zusätzlich: Moderation von Besprechungen, Schreiben von Richtlinien, Rechtsquellen-Werkstatt und Themenfreigabe, Erhebungswellen des Klimabarometers, Einladungscodes, Wirkungsbild der eigenen Einheit, eigener Tätigkeitsnachweis | Keine Namen zu den Werten. Das Wirkungsbild zeigt ausschließlich zusammengefasste Werte ab 5 beitragenden Personen |
| Führungskraft | Zusätzlich: Wirkungsbild der eigenen Einheit und ihrer Untereinheiten, Moderation von Besprechungen, Schreiben von Richtlinien | Ausschließlich zusammengefasste Werte ab 5 beitragenden Personen. Keine Namen, keine Einzelwerte, keine Liste der Teilnehmenden und kein Zugriff auf private Versuchsvermerke |
| Systemverwaltung | Alle Ansichten der anderen Rollen, das Wirkungsbild für eine wählbare oberste Einheit, Einladungscodes. Konten, Einheiten und Passwörter pflegt die betreibende Stelle derzeit direkt in der Datenbank. Eine Verwaltungsoberfläche ist nicht gebaut | Keine zusätzliche Auswertungssicht. Auch die Systemverwaltung sieht im Wirkungsbild nur zusammengefasste Werte |
Führungskräfte und Multiplikator:innen haben zwei getrennte Rollen, und keine steht über der anderen. Beide können Besprechungen moderieren, Richtlinien schreiben und das Wirkungsbild mit zusammengefassten Werten sehen. Die Rechtsquellen-Werkstatt, die Themenfreigabe, die Erhebungswellen und die Einladungscodes gibt es nur für Multiplikator:innen und die Systemverwaltung.
Was dieses Blatt nicht abdeckt
7.Warum diese Eigenschaften keine Einstellung sind
Die Eigenschaften, die dieses Blatt beschreibt, sind im Datenmodell festgelegt und nicht in einer Einstellung. Die Schwelle ist an genau einer Stelle definiert, nämlich in src/lib/kennzahl.ts. Die Kennzahlen des Wirkungsbilds werden dort berechnet, und die Verteilung im Bauchgefühl-Test durchläuft dieselbe Prüffunktion. Daneben zählen einige Ansichten ihre Einträge, zum Beispiel die offenen Fragen im Frageregister, die abgegebenen Bogen einer Erhebungswelle oder die Durchgänge eines Szenarios. Das sind Mengen von Einträgen und keine Auswertungen über Personen. Wer eine neue Auswertung braucht, erweitert src/lib/kennzahl.ts und trifft dort auf die Schwelle.
Die Migrationen in src/lib/schema.ts sind eine nummerierte, unveränderliche Liste. Eine ausgelieferte Migration wird nie mehr bearbeitet. Dadurch lässt sich nachvollziehen, wann eine Spalte entstanden ist. Eine nachträglich eingefügte Personenspalte wäre in dieser Liste sichtbar und ließe sich nicht stillschweigend einführen.
Stand: 23. September 2026