← Alle Themen · Tickets

In diesem Artikel 6 Kapitel
  1. Retention-Policy konfigurieren
  2. Was wird anonymisiert?
  3. Cronjob
  4. Historie
  5. Datenauskunft-Export (Art. 15 DSGVO)
  6. Weitere DSGVO-relevante Features

CRM → DSGVO & Retention

Zurück zur Übersicht

Ticket-Daten enthalten personenbezogene Informationen (E-Mail-Adresse, Name, Nachrichteninhalt, Anhänge). Die DSGVO verlangt, dass diese nur so lange gespeichert werden wie für den Zweck nötig. Scanalot bietet eine Retention-Policy pro Postfach, die geschlossene Tickets nach einer konfigurierbaren Frist automatisch anonymisiert.


Retention-Policy konfigurieren

Unter CRM → Postfächer → Bearbeiten gibt es das Feld:

DSGVO-Retention (Tage nach Schließung), z.B. 365

  • 0 = keine Anonymisierung (Default)
  • Jede Zahl > 0 = Tickets werden X Tage nach ihrem closedAt-Zeitpunkt anonymisiert

Typische Werte:

  • 90 Tage, aggressive Retention, schnell konform
  • 365 Tage, 1 Jahr, passend für Support-Anfragen nach Auslieferung
  • 1095 Tage, 3 Jahre, handelsrechtliche Aufbewahrungsfrist beachten wenn relevant

Hinweis: Bei Auftragsbezug solltest du die steuerlichen Aufbewahrungsfristen (10 Jahre für Rechnungen etc.) respektieren. Die Retention anonymisiert nur den Personenbezug, nicht das Ticket selbst, das bleibt für Statistik/Reporting erhalten.


Was wird anonymisiert?

Beim nächtlichen Retention-Lauf werden für fällige Tickets folgende Felder überschrieben:

Ticket-Zeile (ticket_tickets):

  • fromEmailanonymized@local
  • fromName → leer
  • anonymizedAt → aktueller Timestamp

Alle Nachrichten (ticket_messages):

  • fromEmail, toEmail, ccEmail, replyToEmailanonymized@local / leer
  • fromName → leer
  • bodyHtml, bodyText, bodyHtmlSanitized[Inhalt DSGVO-konform entfernt]

Anhänge:

  • Physisch von der Festplatte gelöscht
  • DB-Rows in ticket_message_attachments entfernt
  • Ticket-Upload-Verzeichnis documents/tickets/{ticketId} komplett entfernt

Bleibt erhalten:

  • Ticket-Nummer, Betreff, Status, Priorität, Tags
  • Zeitstempel (createdAt, closedAt, firstResponseAt)
  • Zugewiesene User / Rollen
  • Auftrags-Verknüpfung
  • Ticket-Verlauf (mit neuem Eintrag anonymized)

Dadurch bleibt Reporting (Dashboard, SLA-Auswertung) intakt, nur Personenbezug ist weg.


Cronjob

Der Befehl tickets:retention läuft täglich um 3:30 Uhr nachts. Manueller Testlauf:

php artisan tickets:retention --dry-run    # nur anzeigen
php artisan tickets:retention              # tatsächlich ausführen

Pro Lauf werden maximal 500 Tickets pro Postfach anonymisiert, bei großen Altbeständen dauert das ggf. mehrere Nächte.


Historie

Jedes anonymisierte Ticket bekommt einen Verlaufseintrag DSGVO-anonymisiert. Die History-Zeilen selbst sind nicht betroffen (enthalten keine Personendaten außer Agent-IDs).


Datenauskunft-Export (Art. 15 DSGVO)

Wenn ein Kunde schriftlich Auskunft über seine bei dir gespeicherten Daten verlangt, kannst du ihm mit einem Klick alle Ticket-Daten als ZIP exportieren.

Aufruf

  1. CRM → Kontakte öffnen
  2. Kontakt anklicken → Detail-Ansicht
  3. Bei der Ticket-Liste oben rechts auf „DSGVO-Auskunft" klicken
  4. ZIP wird automatisch heruntergeladen

Inhalt des ZIPs

dsgvo-auskunft-contact-123-20260421-143205.zip
├── README.txt
├── index.json          ← Übersicht (Kontakt-ID, E-Mails, Ticket-Anzahl, Ersteller, Datum)
└── tickets/
    ├── T-20260320-00123/
    │   ├── ticket.json ← komplette Ticket-Row + alle Nachrichten + Historie
    │   └── attachments/
    │       ├── 42_rechnung.pdf
    │       └── 43_foto.jpg
    └── T-20260415-00187/
        ├── ticket.json
        └── attachments/ ...

Matching-Logik

Tickets werden gefunden über:

  1. Alle E-Mail-Adressen des Kontakts (entschlüsselt aus scanalot_customers_emails)
  2. Alle Aufträge des Kontakts (scanalot_orders.customerIdticket.orderId)

Das deckt auch Fälle ab, in denen der Kunde unter mehreren Adressen geschrieben hat.

Audit-Log

Jeder Export wird im System-Log protokolliert mit Ersteller, Kontakt-ID und Ticket-Anzahl. So lässt sich später nachweisen dass ein Auskunftsersuchen bearbeitet wurde.

Rechte

crm.tickets.data_export, ohne dieses Recht wird der Button ausgeblendet.


Weitere DSGVO-relevante Features

  • Amazon-Anonymisierung, bereits vorhanden unter Einstellungen, Kundendaten aus Amazon werden automatisch nach Frist anonymisiert