Benutzen sie die linke oder die rechte Maustaste, um zur jeweils vorherigen bzw. nachfolgenden Änderung zu gelangen.
erste | letzte ![]() |
| Änderungen von: | |
| bis: | |
| Typ: | |
erste | letzte ![]() |
Webdesk bietet zwei Werkzeuge für den Datenschutz (DSGVO): die Pseudonymisierung aller Personen im System (z.B. bevor eine Datenbankkopie zur Fehleranalyse weitergegeben wird) und den Export aller personenbezogenen Daten einer einzelnen Person (Auskunftsrecht, Art. 15 DSGVO). Die Seite richtet sich an Administratoren und Consultants. Die Pseudonymisierung wird im Administrationsmenü bzw. unter Erw. Funktionen ausgeführt, der Datenexport als Bericht im HR-Expert (Voraussetzung: HR-Modul, siehe Allgemeines zu HR-Expert).
Achtung: Die Pseudonymisierung wirkt auf alle Personen des Systems und löscht die Audit-Trail-Daten unwiderruflich (siehe Abschnitt "Warnungen und Risiken"). Sie ist für Test- und Kopiesysteme gedacht, nicht für das Livesystem.
|
Werkzeug |
Zweck |
Wo |
|---|---|---|
|
Pseudonymisierung |
Ersetzt bzw. entfernt identifizierende Daten aller Personen. Die Originalwerte werden verschlüsselt im System abgelegt und können wiederhergestellt werden. |
Maske "Pseudonymisierung (DSGVO)"; Aktionen unter "Erw. Funktionen" |
|
Datenexport einer Person |
Liefert alle gespeicherten personenbezogenen Daten einer Person als Bericht (Auskunft nach Art. 15 DSGVO). Verändert keine Daten. |
HR-Expert, Menü "Berichte", Eintrag "DSGVO Persönliche Daten" |
Die Pseudonymisierung ist keine Löschung: Personen bleiben mit ihrer Struktur (Gruppenzuordnungen, Buchungen, Workflows) erhalten, nur die im Schema genannten Felder werden verändert. Die Löschung von Personen nach einer Aufbewahrungsfrist erfolgt über eigene Jobs (siehe Job PoDeletePersonsAfterYears; Austritte werden vom Job ProcessTerminatedEmployees verarbeitet). Im Code gibt es keine Kopplung zwischen diesen Jobs, dem Papierkorb und der Pseudonymisierung.
Laut Beschreibung der Maske dient die Pseudonymisierung dazu, Personendaten DSGVO-konform zu pseudonymisieren, bevor eine Kopie zum Zweck der Fehlerbehebung weitergegeben wird. Typischer Ablauf: Datenbank des Livesystems auf ein Testsystem kopieren, dort pseudonymisieren, erst danach die Kopie weitergeben.
Was die Pseudonymisierung leistet:
Was sie nicht leistet:
Die Schemata sind als Spring-Beans PoPersonDefaultPseudonymizationConfig (PO) und HrPersonDefaultPseudonymizationConfig (HR) ausgeliefert. Ein in der Maske gespeichertes Schema hat Vorrang vor dem Standard-Bean.
Feld
Ergebnis
Strategie
userName
Zufällige Buchstabenfolge (15 Zeichen), die im System noch nicht vorkommt. Hat der Mandant ein Benutzernamen-Präfix, wird es vorangestellt (Bean PoPseudonymizeUsernameWithPrefix). Die Anmeldung ist danach nur mit dem neuen Benutzernamen möglich.
CUSTOM_HANDLER
firstName, lastName
Zufälliger Vor- bzw. Nachname, der bei einer anderen Person des Systems vorkommt. Vor- und Nachname werden unabhängig gewürfelt. Es entstehen also Namen, die tatsächlich im Unternehmen existieren.
RANDOMIZE
cellPhoneNumber
provides two data protection (GDPR) tools: the pseudonymization of all persons in the system (e.g. before a database copy is handed over for troubleshooting) and the export of all personal data of a single person (right of access, Art. 15 GDPR). This page is aimed at administrators and consultants. Pseudonymization is run from the administration menu or under Extended Tasks; the data export is a report in HR-Expert (prerequisite: HR module, see General Information on HR-Expert).
Warning: Pseudonymization affects all persons in the system and irrevocably deletes the audit trail data (see section "Warnings and risks"). It is intended for test and copy systems, not for the live system.
|
Tool |
Purpose |
Where |
|---|---|---|
|
Pseudonymization |
Replaces or removes identifying data of all persons. The original values are stored encrypted in the system and can be restored. |
Mask "Pseudonymization (GDPR)"; actions under "Extended Tasks" |
|
Data export of one person |
Delivers all stored personal data of one person as a report (access request under Art. 15 GDPR). Does not change any data. |
HR-Expert, menu "Reports", entry "GDPR Personal Data" |
Pseudonymization is not deletion: persons are kept with their structure (group assignments, bookings, workflows); only the fields named in the scheme are changed. Deleting persons after a retention period is done by separate jobs (see Job PoDeletePersonsAfterYears; terminations are handled by the job ProcessTerminatedEmployees). In the code there is no coupling between these jobs, the trash bin and pseudonymization.
According to the description of the mask, pseudonymization is used to pseudonymize person data in a GDPR-compliant way before a copy is handed over for the purpose of bug fixing. Typical procedure: copy the live database to a test system, pseudonymize it there, and only then hand over the copy.
What pseudonymization does:
What it does not do:
The schemes are delivered as the Spring beans PoPersonDefaultPseudonymizationConfig (PO) and HrPersonDefaultPseudonymizationConfig (HR). A scheme saved in the mask takes precedence over the default bean.
|
Field |
Result |
Strategy |
|
|---|---|---|---|
|
userName |
Random string of letters (15 characters) that does not yet exist in the system. If the client has a user name prefix, it is prepended (bean |
CUSTOM_HANDLER |
|
|
firstName, lastName |
Random first or last name that occurs for another person in the system. First and last name are drawn independently. The result are names that actually exist in the company. |
RANDOMIZE |
|
|
cellPhoneNumber |
Constant |
CONSTANT |
|
|
dateOfBirth, email |
Wert wird geleert |
Value is cleared |
DELETE |
|
bankAccounts, personImages |
Alle Bankverbindungen bzw. das Personenbild werden gelöscht |
DELETE |
|
All bank accounts and the person image are deleted |
DELETE |
The following fields are all cleared with DELETE, or their entries are deleted: birthName, ethnicCode, privatePhoneNumber, privateCellPhoneNumber, comment, privateEmail, socialSecurityNumber, contactAddresses, contactInstantMessagings, contactWebProfiles, relatives, internalRelatives, secondaryJobs, priorEmployments, personMaritalStatuses.
Die zur HrPerson gehörende PoPerson (gleiche ID) wird dabei mit ihrem eigenen Schema (Tabelle oben) mitbehandelt.
|
Aufgabe (Bean) |
Wirkung |
Wann aktiv |
|---|---|---|
|
"Pseudonymisieren der Notizen von Personen" ( |
Der Text jeder Notiz der Person wird durch Blindtext (Lorem ipsum) derselben Länge ersetzt. |
Im Standardschema der PoPerson enthalten |
|
"Pseudonymisiere Personen im Zeit System" ( |
Hat die Person eine TA-ID, werden Name, Vorname und Nachname des Personensatzes im Zeitsystem (TA-Connector) auf die pseudonymisierten Werte gesetzt. Andere Zeitwirtschaftsdaten werden nicht verändert. Ist der Connector nicht erreichbar, wird dieser Schritt mit einer Warnung im Log übersprungen. Bei der Wiederherstellung wird der Name im Zeitsystem wieder angeglichen. |
Wird bei Aufruf der Pseudonymisierung automatisch ergänzt, wenn das TA-Modul vorhanden ist |
In der Maske kann je Feld eine der folgenden Strategien gewählt werden.
Eigenschaft
Erklärung
mögliche Wert(e)
CONSTANT
The PoPerson belonging to the HrPerson (same ID) is processed along with it using its own scheme (table above).
|
Task (bean) |
Effect |
When active |
|---|---|---|
|
"Pseudonymize person's quick notes" ( |
The text of each note of the person is replaced by placeholder text (Lorem ipsum) of the same length. |
Part of the default PoPerson scheme |
|
"Pseudonymize persons in TA system" ( |
If the person has a TA ID, the name, first name and last name of the person record in the time system (TA connector) are set to the pseudonymized values. Other time and attendance data are not changed. If the connector is not available, this step is skipped with a warning in the log. On restore, the name in the time system is synchronized again. |
Added automatically when pseudonymization is started and the TA module is present |
In the mask, one of the following strategies can be chosen per field.
|
Property |
Description |
Possible value(s) |
||
|---|---|---|---|---|
|
CONSTANT |
The field receives the given constant value (column "Custom Bean/Constant Value"; bei Datumsfeldern ein Datum im Format for date fields a date in the format dd.MM.yyyy). |
beliebiger Wert |
RANDOMIZE | Das Feld erhält einen Wert, der in diesem Feld bei einer anderen Person desselben Typs vorkommt (bis zu 10 Versuche, einen vom aktuellen verschiedenen Wert zu finden; sonst Zufallstext bei Textfeldern bzw. leerer Wert
any value |
|
RANDOMIZE |
The field receives a value that occurs in this field for another person of the same type (up to 10 attempts to find a value different from the current one; otherwise random text for text fields, or an empty value). |
- |
||
|
RANDOMIZE_UNIQUE |
Das Feld erhält eine zufällige, im System noch nicht vorhandene Buchstabenfolge (15 Zeichen). Nur für Textfelder. Wird nach 10 Versuchen kein freier Wert gefunden oder ist das Feld kein Text, wird der Wert leer. |
- |
||
|
DELETE |
Bei Listen (z.B. Bankverbindungen) werden alle Einträge gelöscht, bei einfachen Feldern wird der Wert geleert. |
- |
||
|
CUSTOM_HANDLER |
Der Wert wird von einer Spring-Bean berechnet, deren Name in der Spalte The field receives a random string of letters (15 characters) that does not yet exist in the system. Text fields only. If no free value is found after 10 attempts or the field is not text, the value becomes empty. |
- |
||
|
DELETE |
For lists (e.g. bank accounts) all entries are deleted; for simple fields the value is cleared. |
- |
||
|
CUSTOM_HANDLER |
The value is calculated by a Spring bean whose name is entered in the column "Custom Bean/Constant Value" angegeben wird. |
Beanname bean name (ze.Bg. |
Es gibt zwei Einstiege. Beide verarbeiten alle Personen; mit HR-Modul wird bei den HrPerson begonnen, ohne HR-Modul bei den PoPerson. Die Verarbeitung erfolgt in Blöcken zu je 100 Datensätzen.
Menü Administration > System > Sicherheit > "Pseudonymisierung (DSGVO)" (in der Menüvorlage full-admin direkt unter "System"). Die Maske zeigt oben den Status "System ist pseudonymisiert" bzw. "System ist nicht pseudonymisiert".
Eigenschaft
Erklärung
mögliche Wert(e)
Entität
Wählt das Schema, das angezeigt und bearbeitet wird.
PoPerson; HrPerson (nur mit HR-Modul)
Zusätzliche Pseudonymisierungsaufgaben
Liste der zusätzlichen Aufgaben (Spalte "Zusätzliche Aufgaben") für die gewählte Entität.
Notizen von Personen; Personen im Zeit System
Feld Regeln
There are two entry points. Both process all persons; with the HR module the processing starts at the HrPerson entities, without the HR module at the PoPerson entities. Processing is done in batches of 100 records.
Menu Administration > System > Security > "Pseudonymization (GDPR)" (in the menu template full-admin directly under "System"). At the top the mask shows the status "System is pseudonymized" or "System is not pseudonymized".
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
Entity Type |
Selects the scheme that is displayed and edited. |
PoPerson; HrPerson (only with HR module) |
|
Additional Pseudonymization Tasks |
List of additional tasks (column "Additional Tasks") for the selected entity. |
person's quick notes; persons in TA system |
|
Field Policies |
Table with the columns "Field Name", "Obfuscation Strategy" and "Custom Bean/Constant Value". Zeilen können hinzugefügt und gelöscht werden. |
siehe Verschleierungsstrategien |
Schaltflächen: Speichern, Speichern und Schließen, "Speichern und Anwenden der Pseudonymisierung" (Warn-Symbol) und Zurück.
Hinweis: Das in der Maske gespeicherte Schema ersetzt für diese Entität das ausgelieferte Standard-Bean. Wurde noch nichts gespeichert, wird das Standard-Bean verwendet.
Menü Administration > System > "Erw. Funktionen", Bereich "Modulspezifische Aktionen". Im Auswahlfeld erscheinen die Aktionen in der Gruppe "Personalwesen":
HrApplyDefaultPseudonymizationOnHrPerson)
HrApplyRestoreOnPseudonymizedHrPerson)
Aktion wählen, "Führe Aktion aus" klicken und im Dialog "Modulspezifische Aktion ausführen" bestätigen. Der Dialog zeigt die Beschreibung der Aktion. Eine eigene Warnung für zerstörerische Aktionen wird für diese beiden Aktionen nicht angezeigt. Trotz der Bezeichnung "Standard" verwendet die Aktion das aktuell wirksame Schema (ein in der Maske gespeichertes Schema, sonst das Standard-Bean). Auch hier läuft die Verarbeitung für alle Personen; es gibt keine Fortschrittsanzeige.
Die Wiederherstellung ist nur über die Aktion "Pseudonymisierte HrPerson-Entitäten wiederherstellen" möglich (die Maske hat keine Wiederherstellen-Schaltfläche). Sie liest die verschlüsselten Originalwerte aus dem Protokoll, schreibt sie in die Felder des Schemas zurück und löscht danach das Protokoll der Person. Für Personen ohne Protokoll passiert nichts.
|
Daten |
Verhalten bei der Wiederherstellung |
|---|---|
|
Einfache Felder (Namen, Benutzername, Telefon, E-Mail, Geburtsdatum, ...) |
Originalwert wird zurückgeschrieben. Zwischenzeitliche Änderungen dieser Felder werden überschrieben. |
|
Gelöschte Listen (Bankverbindungen, Kontaktdaten, Angehörige, Nebenbeschäftigungen, ...) |
Die Einträge werden mit den gesicherten Werten als neue Datensätze angelegt (neue interne IDs). |
|
Notizen, Namen im Zeitsystem |
Text bzw. Name wird zurückgesetzt. |
|
Audit-Trail |
Nicht wiederherstellbar (bei der Pseudonymisierung gelöscht). |
|
Rows can be added and deleted. |
see Obfuscation strategies |
Buttons: Save, Save and close, "Save and Apply Pseudonymization" (warning icon) and Back.
Note: The scheme saved in the mask replaces the delivered default bean for this entity. If nothing has been saved, the default bean is used.
Menu Administration > System > "Extended Tasks", section "Module specific actions". In the selection field the actions appear in the group "Human Resources":
HrApplyDefaultPseudonymizationOnHrPerson)
HrApplyRestoreOnPseudonymizedHrPerson)
Select the action, click "Execute Action" and confirm in the dialog "Run module-specific action". The dialog shows the description of the action. For these two actions no separate warning for destructive actions is shown. Despite the name "default", the action uses the currently effective scheme (a scheme saved in the mask, otherwise the default bean). Here too, all persons are processed; there is no progress display.
Restoring is only possible with the action "Restore pseudonymized HrPerson entities" (the mask has no restore button). It reads the encrypted original values from the log, writes them back into the fields of the scheme and then deletes the log of the person. Nothing happens for persons without a log.
|
Data |
Behavior on restore |
|---|---|
|
Simple fields (names, user name, phone, email, date of birth, ...) |
The original value is written back. Changes made to these fields in the meantime are overwritten. |
|
Deleted lists (bank accounts, contact data, relatives, secondary jobs, ...) |
The entries are created from the saved values as new records (new internal IDs). |
|
Notes, names in the time system |
Text or name is reset. |
|
Audit trail |
Cannot be restored (deleted during pseudonymization). |
exportAllPersonalGDPRData) ist standardmäßig der Standardrolle By default the report (configuration exportAllPersonalGDPRData) is assigned to the default role HR_ADMIN zugeordnet, also den , i.e. to HR-Expert -Benutzern users (ze.Bg. Rolle the role $HRX_User). Bei bestehenden Installationen wurde die Standardrolle durch ein Update-Skript nachgetragen.
PersonUID) die betroffene Person auswählen (Auswahl aus den Personen, angezeigt wird der vollständige Name).
Der Bericht beginnt mit dem Namen der Person und, falls vorhanden, dem Personenbild.
Abschnitt
Inhalt
Voraussetzung
"Persönliche Daten"
PersonUID) (selection from the persons; the full name is displayed).
The report starts with the name of the person and, if available, the person image.
|
Section |
Contents |
Prerequisite |
|---|---|---|
|
"Personal Data" |
All filled fields of the HR person, in the order of the person mask. Key values and selection values appear translated, dates as yyyy-MM-dd. |
HR -Modul |
|
Tabellen der HR-Person |
Je Liste der HR-Person (z.B. Kontaktdaten, Angehörige) eine Tabelle mit den Spalten, die in der Personen-Maske für diese Liste konfiguriert sind. Leere Listen entfallen. |
HR-Modul |
|
"Protokollierung von Informationen" | "Protokollierte Aktionen": Aktion
module |
|
|
Tables of the HR person |
For each list of the HR person (e.g. contact data, relatives) one table with the columns configured for this list in the person mask. Empty lists are omitted. |
HR module |
|
"Logging Information" |
"Logged Actions": Action, Mobile Browser, Start/EndeEnd, IP, Browser Benutzer User Agent, URL. "Login VersucheAttempts": DatumDate, IP, ResultatResult, Browser Benutzer User Agent. |
immer; Einträge nur, wenn vorhanden |
|
"Zeiterfassung" |
"Anwesenheitsinformationen": Anwesenheit, Ganzer Tag/Halber Tag, Intervall, ab Beginn der Zeiterfassung bis heute. |
TA-Modul; Person mit TA-ID |
|
"Reiseinformation" | Reisen: Von, Bis, Reise Nr., Reise-Typ, Zielort, Gesamt ohne Steuern
always; entries only if present |
|
|
"Time Acquisition" |
"Attendance Information": Attendance, Full Day/Half Day, Interval, from the start of time recording until today. |
TA module; person with TA ID |
|
"Travels Information" |
Travels: From, To, Travel ID, Travel Type, Destination, Total Without Taxes, Total, Status. |
TM -Modulmodule |
|
"Workflow -AnfragenRequests" |
Vom Benutzer gestartete Workflow-AnfragenWorkflow requests started by the user: Process Name, Process Definition Name der Prozessdefinition, Prozessinstanz-Process Instance ID, StatusState, Erstellt, Datum der letzten AktivitätCreated, Last Activity Date. |
WF -Modulmodule |
|
"Projekte" |
Zeitaufwände ab Gültig-ab der Person bis heute: Datum, Von/Bis, Dauer (Minuten), Beschreibung, Projekt, Aktivität, Kunde, Verrechenbar. |
PTM-Modul |
|
"Umplanungen" |
Planungen: Datum, Von/Bis, Dauer, Ganztägig umplanen, Planungs Titel, Planungen (Struktur). |
RS-Modul |
Hinweis: Der Umfang der Abschnitte "Persönliche Daten" und der Tabellen der HR-Person richtet sich nach der Formulardefinition der HR-Person für den Mandanten der Person. Felder, die in dieser Maske nicht vorgesehen sind, erscheinen nicht im Bericht.
Daten, für die im Bericht kein Abschnitt vorgesehen ist (z.B. Dokumentenverwaltung, Groupware/Kalender, Notizen, Audit-Trail-Einträge), müssen bei Bedarf gesondert ermittelt werden.
HibernateAuditTrailInterceptor, Eigenschaft active wird auf false gesetzt) und seine Tabellen werden gelöscht und neu angelegt, weil sie personenbezogene Daten enthalten können. Die bisherigen Audit-Trail-Einträge gehen unwiderruflich verloren. Auch die Wiederherstellung stellt sie nicht wieder her und aktiviert den Audit-Trail nicht erneut. Bei Bedarf die Eigenschaft nachher wieder auf true setzen.
|
Projects" |
Time efforts from the valid-from date of the person until today: Date, From/To, Duration (Minutes), Description, Project, Activity, Customer, Billable. |
PTM module |
|
"Reschedules" |
Plannings: Date, From/To, Duration (Minutes), All Day Reschedule, Planning Title, Plannings (structure). |
RS module |
Note: The scope of the sections "Personal Data" and the tables of the HR person depends on the form definition of the HR person for the client of the person. Fields not provided in this mask do not appear in the report.
Data for which the report has no section (e.g. document management, groupware/calendar, notes, audit trail entries) must be collected separately if required.
HibernateAuditTrailInterceptor, property active is set to false) and its tables are dropped and recreated because they may contain personal data. The existing audit trail entries are irrevocably lost. The restore does not bring them back and does not re-enable the audit trail. If needed, set the property back to true afterwards.
| Mime Type | text/xml | ![]() | text/xml |
| Datei-name | ![]() | ||
| Größe (in Bytes) | 20481 | ![]() | 19075 |
|
Version 1 von Gabriel Gruber
am 17.10.26 18:49:02 Name: Pseudonymisierung und Datenauskunft (DSGVO) Variante: main - en Status: Entwurf | ![]() |
Version 2 von Gabriel Gruber
am 17.10.26 18:49:40 Name: Pseudonymization and personal data export (GDPR) Variante: main - en Status: Veröffentlichung |