Tickets anonymisieren - Kundendaten löschen


Die europäische Datenschutz-Grundverordnung (DSGVO) sieht vor, dass personenbezogene Daten von Endkunden nicht mehr gespeichert werden dürfen, soweit dies nicht für die Erfüllung des vom Kunden angegebenen Zwecks erforderlich ist.
Um dieser Löschpflicht nachzukommen, muss in Ihrem Ticketsystem eine automatische Löschaktion implementiert sein.
Die Definition der Löschstrategien und Fristen liegt bei Ihnen und unterscheidet sich in der Regel je nach Serviceprozess. Darüber hinaus können steuer- und handelsrechtliche Anmeldepflichten bestehen, die eine kurzfristige Kündigung verbieten.

todo4teams unterstützt Sie dabei, dieser Verpflichtung nachzukommen, ohne die Leistungsdaten Ihres Serviceteams zu verändern. Anonymisierung bedeutet hier, dass alle möglicherweise personenbezogenen Daten Ihrer Kunden aus dem Ticket entfernt werden, die Leistungsdaten (wer hat welches Ticket für welches Team und wann verarbeitet) jedoch bestehen bleiben.
Die Datenbereinigung umfasst den Titel des Tickets, die Beschreibung, Dateianhänge sowie die Daten aller E-Mail-Antworten, Formularinhalte etc.

Für die Anonymisierung gibt es drei Szenarien:

Anonymisierung auf Wunsch des Kunden

Wenn der Kunde sein Anliegen äußert und die Ticket-ID bekannt ist, kann die Anonymisierung direkt über das Web-Frontend angestoßen werden: Wählen Sie dazu im Hauptmenü „Steuerzentrale“ aus, und nutzen Sie das Formular „Ticket anonymisieren“:

anonymize:_ticket_de.png

Anonymisierung nach Abschluss

Grundsätzlich können Sie Tickets auch zum Zeitpunkt der Erledigung anonymisieren. Bitte beachten Sie jedoch, dass etwaige Anfragen des Kunden nicht mehr beantwortet werden können. Dialogverläufe können dann nicht mehr fortgeführt werden.

Um ein einzelnes Ticket in einem Skript zu anonymisieren, rufen Sie einfach Folgendes auf:

task.anonymize();

Anonymisierung nach Frist und Status

Hierbei handelt es sich um eine rückwirkende Anonymisierung nach Ablauf einer Frist und erst dann, wenn die Bearbeitung des Tickets abgeschlossen ist.

Im folgenden Skript wählt eine Archivabfrage Tickets aus, die die folgenden Bedingungen erfüllen:

  1. Es wurde ein bestimmtes Team angesprochen (in diesem Fall das Team mit der ID 110)
  2. Das Ticket wurde abgeschlossen (Status = 3)
  3. Der Ticketbeginn liegt mindestens vier und maximal acht Wochen zurück

Das maximale Alter des Tickets ist so festgelegt, dass die Anzahl der Tickets im Ergebnissatz nicht unbegrenzt ansteigt. Durch die tägliche Ausführung des Skripts wird jedoch gewährleistet, dass alle Tickets tatsächlich anonymisiert werden.
Für das Ergebnis dieser Auswahl wird die Aktion ToDoAdminAnonymizeTasks  aufgerufen:

var qm =  helper.getInstanceForClass("com.proxemo.todo4.bom.ToDoArchiveQueryMap");
//com.proxemo.todo4.bom.ToDoArchiveQueryMap
// We will anonymize tickets addressed to group 110:
var group = helper.getWorkgroupById(110);

qm.setAddressedWorkgroup(group);

// Anonymize tickets in state 3 (=finished) only:
qmstate= new java.lang.Integer(3);

// Anonymize tickets older than 4 weeks and newer than 8 weeks (to limit result set):
var d0 = new java.util.Date(java.lang.System.currentTimeMillis()-8*7*24*3600*1000); // 8 weeks
var d1 = new java.util.Date(java.lang.System.currentTimeMillis()-4*7*24*3600*1000); // 4 weeks
qm.setStartDateRange(d0,d1);

// perform the archive query:
var qaction = helper.getInstanceForClass("com.proxemo.todo4.server.action.ToDoQueryArchiveAction");
var qresult = qaction.execute(-1, qm);
if(qresult!=null && qresult.size()!=null){
println("number of tasks to anonymize: "+qresult.size());
if (qresult.size()>0){
   for(var i =0; i<qresult.size(); i++){
      println("Anonymize task "+qresult.get(i).getId());
      println("ID: "+qresult.get(i).getId());
     var aaction = helper.getInstanceForClass("com.proxemo.todo4.server.action.ToDoAnonymizeTaskAction");
      aaction.execute(-1, qresult.get(i));
    }
}
} else {
    println("Error anonymizing tickets: No result or empty.");
}

Wenn Sie dieses Skript (mit den entsprechenden an Ihre Bedürfnisse angepassten Filterkriterien) in einem geplanten Skript speichern, können Sie ganz einfach einen benutzerdefinierten Datenschutzprozess implementieren.

Duplizieren Sie bei Bedarf den Skriptblock, um Tickets aus verschiedenen Gruppen oder Quellen zu anonymisieren.