Datenschutz in der LoyJoy Platform

Datenspeicherung und Verschlüsselung

Dieses Dokument gibt einen Überblick über alle Möglichkeiten, Daten in LoyJoy zu speichern. Es ist unser Ziel, den Datenschutz-Fußabdruck zu minimieren.

  • LoyJoy kann Datenbanktabellen verwenden, um Daten zu speichern, einschließlich persönlicher identifizierbarer Informationen.
  • Diese Datenspeicherung kann basierend auf dem Nutzungsprofil Ihres LoyJoy-Mandanten ganz einfach ein- oder ausgeschaltet werden.
  • Zudem kann LoyJoy Daten im Local Storage des Endgeräts des Endkunden speichern (ähnlich wie ein Cookie).
  • Die Daten aus dem Local Storage können per Schnittstelle in Bestandssysteme übertragen werden. So kann auf eine Speicherung in LoyJoy meist gänzlich verzichtet werden.
  • Die Speicherung im Local Storage ist ausschließlich clientseitig, nicht serverseitig.
  • Die Daten werden ausschließlich in der Europäischen Union mit AES-Verschlüsselung gespeichert.
  • Alle Daten, die personenbezogene Daten enthalten können, haben ein automatisches Ablaufdatum. Darüber hinaus können Daten jederzeit manuell gelöscht werden.
  • OpenAI-Modelle werden aus der EU via Microsoft Azure bezogen.

Liste der Speicheroptionen für personenbezogene Daten

Nr.NameErforderlichFunktionalitätAutomatischer AblaufAblauf basiert aufPersönliche Daten enthalten
1Chat-Nachrichten für Live-ChatErforderlich, wenn das Live Chat Modul verwendet wirdErmöglicht Ihnen, Nachrichten im LoyJoy Manager in „Live“ zu lesen.7 Tage (optional 30, 60 Tage)Erstellt amChat-Nachrichten (AES-verschlüsselt)
2Chat-Nachrichten für ausschl. automatisierte ChatsErforderlich, wenn das Live Chat Modul verwendet wirdErmöglicht Ihnen, auf die Liste der letzten Gespräche zuzugreifen.1 TagErstellt amChat-Nachrichten (AES-verschlüsselt)
3Chat-Nachrichten für Natural Language Understanding (NLU) oder GPTNein, empfohlen bei Verwendung von NLU oder GPTSpeichert Freitext-Chat-Nachrichten mit ihrer NLU-Klassifizierung bzw. GPT-Antwort wie in Manager > Knowledge, um die KI-Leistung zu überprüfen.30 Tage (optional 7 Tage)Erstellt amChat-Nachrichten aus freien Texteinträgen (AES verschlüsselt)
4Messenger-SessionsErforderlich bei Verwendung von Facebook Messenger, WhatsApp, WeChatSpeichert Chat-Sitzungen im Fall von Facebook, WhatsApp, WeChat, da diese Kanäle keine mit LocalStorage vergleichbare Sitzungsdatenbank anbieten.7 Tage (optional 30, 60 Tage)Erstellt amKunden-ID durch die externe Plattform, personenbezogene Daten in Chatbots gesammelt
5Laufzeit-LogJaSpeichert Log-Einträge wie in Kunden > Log. Zum Beispiel ggf. externe API-Fehler (inkl. HTTP-Body im Debug-Modus), Kundenauthentifizierung (Fail, Pass).7 Tage (optional 30 Tage)Erstellt amE-Mail-Adresse (AES verschlüsselt), IP-Adresse, Nachricht (AES verschlüsselt)
6Manager-LogJaSpeichert Log-Einträge wie in Manager > Einstellungen > Log Datenzugriff durch Manager-Benutzer180 TageErstellt amLoyJoy Manager-Benutzer-E-Mail-Adressen, IP-Adressen, Datum und Uhrzeit der Aktivität (AES-verschlüsselt)
7Security-LogJaSpeichert Log-Einträge zu sicherheitsrelevanten Ereignissen (z. B. Authentifizierung, Daten-Export) und i. A. Zugriffen im LoyJoy Manager, mit dem Ziel der IT-Security-Mustererkennung Datenzugriff durch LoyJoy-Systemadministratoren365 TageErstellt amLoyJoy Manager-Benutzer-E-Mail-Adressen, IP-Adressen, Timestamp (zwecks Mustererkennung unverschlüsselt)
8VariablenNeinSpeichert alle Prozessvariablen für Exportzwecke wie in Manager > Kunden > Variablen herunterladen60 Tage (optional 30, 90, 180, 360 Tage)Verfällt amVariablenwerte, E-Mail-Adresse, Device ID, ggf. auch Dokumente (AES verschlüsselt)
9Marketing-EinwilligungenNur bei Verwendung der Prozessmodule Newsletter-Opt-In, Reminder-Opt-In, Profiling-Opt-In, Web-Push-Opt-In, kann deaktiviert werdenSpeichert Einwilligungen für Exportzwecke.180 Tage (optional 60, 90, 360 Tage)Erstellt amE-Mail-Adresse (AES-verschlüsselt), IP-Adresse (AES-verschlüsselt)
10Gutschein-Codes eingelöstNur bei Verwendung der Prozessmodule Gutschein oder Codes, deaktivierbarSpeichert Gutscheincodes zur Ausgabe an Kunden. Ein ausgegebener Gutscheincode wird einer E-Mail-Adresse zugeordnet, sodass er nicht zweimal ausgegeben werden kann.180 Tage (optional 30, 60, 90, 360 Tage)Erstellt amE-Mail-Adresse (AES verschlüsselt)
11Loyalty-TransaktionenNur wenn Prozessmodule Loyalty, Loyalty Referral, Loyalty Sharing verwendet werden, kann deaktiviert werdenSpeichert Loyalty-Transaktionen, die im Chat als Münzen dargestellt sind. Zum Beispiel kann ein Kunde bei einer Treuetransaktion 10 Münzen erhalten, bei einer anderen Treuetransaktion 2 Münzen für eine Prämie ausgeben, wobei dem Kunden 8 Münzen und eine Prämieneinlösung übrig bleiben.180 Tage (optional 30, 60, 90, 360, 720 Tage)Erstellt amE-Mail-Adresse (AES-verschlüsselt)
12Loyalty Prämien EinlösungNur bei Verwendung des Prozessmoduls Prämien, deaktivierbarSpeichert das Einlösen von Prämien durch Kunden aus Loyalty-Aktionen.60 Tage (optional 30, 90, 180 Tage)Erstellt amE-Mail-Adresse, Vorname, Nachname, Postanschrift, Telefon (alle AES verschlüsselt)
13Gewinnspiel-TeilnahmenNur wenn Prozessmodul Gewinnspiel-Teilnahme oder Sofortgewinn, kann deaktiviert werden,Speichert Teilnahmen, aus denen auch ein Teilnehmer zufällig ausgewählt werden kann. Kann auch eine manuell ausgewählte Zufallsliste von Teilnehmern als Kopie des entsprechenden Teilnahmeeintrags speichern.60 Tage (optional 30, 90, 180 Tage)Erstellt amE-Mail-Adresse, Vorname, Nachname, Postanschrift, Telefon (alles AES-verschlüsselt)
14Push AbonnementsNur wenn Prozessmodul “Web-Push-Opt-In” verwendet wird und Push-Nachrichten unter dem Menüpunkt Push versendet werdenSpeichert ein Web-Push-Abonnement, das bei der Erteilung einer Web-Push-Zustimmung im User-Agent (Web-Browser) erstellt wird720 Tage (optional 30, 60, 90, 180, 360)Erstellt amauth_aes, endpoint, p256dh_aes, private_key_aes, public_key_aes
15Push NotificationsNur wenn Prozessmodul Web-Push-Opt-In verwendet wirdSpeichert eine bestimmte Web-Push-Benachrichtigung für einen bestimmten Benutzeragenten (Webbrowser), die zum Zeitpunkt due_at gesendet werden sollNach Zeitpunkt due_atDue atactions_1_action, actions_1_icon_url, actions_1_title, actions_2_action, actions_2_icon_url, actions_2_title, auth_aes, badge_url, body, dir, due_at, endpoint, entity_id, icon_url, image_url, p256dh_aes,
16Web NotificationsNur wenn Prozessmodul Notification verwendet wirdSpeichert Web-Benachrichtigungen, die in der Startansicht der Chat-Benutzeroberfläche mit dem Benachrichtigungs-Widget angezeigt werdenNach erhalt oder nach 7 Tagen (optional 30, 60, 90, 180)Erstellt ambody, bot_id, jump_bpmn_process_id, device_id, due_at, entity_id, expires_at, icon_url, title, url

Datenübertragung und Verschlüsselung

Data at Rest

Daten werden verschlüsselt gespeichert.

  • AES-verschlüsselt mit AES/CBC/PKCS5Padding und Schlüsselgröße 128.
  • Die Datenbankzeilen werden nach dem jeweiligen Ablaufdatum entsprechend der konfiguration im Mandanten automatisch gelöscht.
  • Datenbank-Backups werden rotierend nach 60 Tagen gelöscht.
  • In der Vektordatenbank werden die Daten (mit Ausnahme der Vektoren) mit AES verschlüsselt gespeichert. Die Vektoren sind nicht verschlüsselt, weil sie als Such-Index dienen, somit Maschinen-lesbar sein müssen. Es sind jedoch nur abstrahierte Repräsentationen der Rohdaten. Der AES-Key ist der Vektordatenbank nicht bekannt, sondern wird lediglich im Application Code verwaltet.

Data in Transit

Daten während der Übertragung werden mit TLS verschlüsselt.

  • Alle Dienste werden auf Google Cloud Run gehostet, daher gilt die Google Load Balancer-Zertifikatsverwaltung.
  • Die LoyJoy GmbH verwaltet keine TLS-Zertifikate, dies erfolgt automatisiert auf Basis von LetsEncrypt von Google Cloud Platform.

Secrets

Secrets werden vom Secret Manager der Google Cloud Platform verwaltet. Dies gilt für alle Geheimnisse mit Ausnahme des privaten AES-Schlüssels, der für die Google Cloud Platform nicht sichtbar gemacht wird. Der AES-Schlüssel wird nicht im Plaintext als Secret gespeichert, sondern als Ciphertext, der durch ein Hardware Security Module dekodiert wird.

Cookies und LocalStorage

Cookies im Manager (LoyJoy Backend Platform)

Der LoyJoy Cloud Platform Manager schreibt und liest ein sicheres Authorization Cookie, wenn sich ein Manager-Nutzer anmeldet. Das Cookie enthält ein signiertes JWT mit den Anmeldedaten des Benutzers und läuft nach 8 Stunden ab.

Cookies in der Chat-UI

Aus unserer Sicht ist davon auszugehen, dass der Nutzer eine funktionierende Chat-Lösung erwartet, d. h. dass der Inhalt des Chats nicht bloß durch das Schließen des Browsers oder durch längere Inaktivität verloren geht.

Die LoyJoy Platform nutzt statt eines Cookies das LocalStorage des Browsers. Im LocalStorage speichern wir den Zustand des Chats, d. h. den bisherigen Chatverlauf mit den Nutzereingaben.

Die LoyJoy Chat-UI speichert diese Chat-Sitzung nur clientseitig, nicht serverseitig.

Die Nutzung des LocalStorage kann in der Platform auch deaktiviert werden (siehe Speicherdauer des Cookies).

Nur bei nativer Integration in die Kanäle Facebook Messenger, WeChat, sowie WhatsApp speichert die LoyJoy Chat-UI die komplette Chat-Sitzung clientseitig, nicht serverseitig. Unser Ansatz minimiert aus Datenschutzgründen serverseitige Sitzungsdaten.

Die Chat-UI schreibt und liest das LocalStorage-Objekt loyjoy-chat.

Dieses Objekt enthält die Eigenschaften Messages und Session.

  • Messages enthält die Chatnachrichtenverläufe des Chats,
  • Session enthält ein signiertes JWT-Objekt, das alle Sitzungsvariablen des Chats enthält, d. h. Prozessvariablen.

Speicherdauer des Cookies

Die Speicherdauer der Chatnachrichtenverläufe im LocalStorage-Objekt kann in der LoyJoy Platform konfiguriert werden. Sie liegt zwischen 30 Minuten und 14 Tagen. Bei Auswahl von “0 Minuten” werden Chatnachrichtenverläufe deaktiviert.

Wenn Sie einen Consent Manager (auch bekannt als Cookie-Banner) auf Ihrer Webseite verwenden, kann der LoyJoy-Chatbot auf die Auswahl des Kunden reagieren.
Der Consent Manager kann in LoyJoy auf zwei Arten integriert werden: Basic oder Smart.

Bei Basic wird das LoyJoy-Code-Snippet mit Parametern so angepasst, dass es zu Ihrem Consent Manager passt. Typischerweise sind diese Parameter die Cookie-Kategorie und dass das Widget nach dem Schließen des Consent Managers geladen werden soll. Der Nachteil des Basic-Modus ist, dass (1) wenn LoyJoy als essentielles Cookie eingestuft wird, der LoyJoy-Chat sofort geladen wird und möglicherweise mit dem Fenster des Consent Managers kollidiert und (2) wenn LoyJoy als Marketing-Cookie eingestuft wird, der Chat nicht geladen wird, wenn der Kunde solche Cookies ablehnt.

Im Smart-Modus werden diese Nachteile abgemildert. LoyJoy wartet (1) darauf, dass das Fenster des Consent Managers geschlossen wird, um danach den Chat anzuzeigen und (2) zeigt den Chat in jedem Fall an, allerdings mit deaktivierten Cookies, wenn der Kunde Cookies abgelehnt hat. Es ist nicht notwendig, LoyJoy als essentiell, funktional oder Marketing zu klassifizieren, da der Chat nur dann Cookies zulässt, wenn alle Kategorien zugestimmt wurden.

Lesen von Login-Cookies

Die Chat-Benutzeroberfläche kann non-secure Cookies lesen, um einen externen Authentifizierungskontext zu verwenden, um den Kunden automatisch in der LoyJoy Chat-UI anzumelden.

FAQ

Welche Daten werden an Cloudflare in die USA übertragen oder auch nicht?

Cloudflare ist ein vom Bundesamt für Sicherheit in der Informationstechnik (BSI) geführter qualifizierter DDoS-Mitigation-Dienstleister. Cloudflare verfügt über eine Zertifizierung nach EU-U.S. Data Privacy Framework.

Cloudflare betreibt ein weltweites Content Delivery Network (CDN) und stellt Schutzfunktionen für die LoyJoy-Webanwendung zur Verfügung. Damit läuft LoyJoy jederzeit performant und sicher.

Cloudflare verarbeitet nur die IP-Adresse der Kunden, da dies technisch erforderlich ist. Weitere personenbezogene Daten, die ggf. im Chatverlauf anfallen, werden NICHT über Cloudflare geroutet.

Wird die IP-Adresse von jedem Kunden automatisch getrackt?

Nein. Tracking-Technologien werden von LoyJoy grundsätzlich nicht genutzt (es kann aber z. B. mit einem Facebook Pixel integriert werden). Die Übertragung der IP-Adresse ist im Internet technisch notwendig, um Daten zwischen Webserver und Endgerät des Kunden austauschen zu können. Eine webbasierte Applikation (z. B. eine Webseite oder LoyJoy) kann technisch nicht ohne Übertragung der IP-Adresse funktionieren. Wird der LoyJoy-Chat nur technisch geladen (d.h. die Chatbubble geladen), speichern wir die IP-Adresse nicht. Sofern der Chat geöffnet und genutzt wird, speichern wir den Chatverlauf inklusive IP-Adresse für 30 Tage.

Hat LoyJoy bereits die aktuellen EU-Standardvertragsklauseln mit den Subdienstleistern vereinbart?

Ja, die vereinbarten Standardvertragsklauseln wurden nach dem Schrems II-Urteil aktualisiert.

Diese können hier eingesehen werden:

https://cloud.google.com/terms/data-processing-terms

https://www.cloudflare.com/cloudflare-customer-dpa/

Werden personenbezogene Daten pseudonymisiert verarbeitet?

Die Daten werden verschlüsselt transportiert und gespeichert.

Welche Maßnahmen bezüglich Übertragung von Daten in Drittstaaten werden, neben den Standardvertragsklauseln, ergriffen?

Leider ist der Abschluss der Standardvertragsklauseln für die Aufsichtsbehörden bei Datenübermittlungen in Drittländer nicht ausreichend. Daher haben wir zusätzliche Sicherheitsmaßnahmen der Daten implementiert, so dass ein Zugriff von US-Behörden (faktisch/theoretisch) nicht möglich ist.

Dazu zählen insbesondere die Transportverschlüsselung und Speicherverschlüsselung.

Weiterhin bieten wir den weitgehenden Verzicht auf die Nutzung einer serverseitigen Datenspeicherung. Die Daten werden dann lokal auf dem Endgerät des Kunden gespeichert und bei Bedarf über eine API verschlüsselt übertragen oder als verschlüsselter Anhang einer E-Mail bereitgestellt.

Was ist der LocalStorage?

Der Localstorage stellt einen Speicher im Browser des Kunden dar. Im Gegensatz zum Einsatz von Cookies werden Informationen im Localstorage nicht an den Server übertragen. Damit ist die Nutzung des LocalStorage im Vergleich zu Cookies datensparsamer.
Der Unterschied zwischen Localstorage und Sessionstorage ist, dass der Localstorage niemals abläuft. Und der Sessionstorage läuft beim Schließen des Browserfensters/tabs ab und wird gelöscht.

Welche Daten werden automatisch beim Starten des Chats verarbeitet?

Wie bei jedem Webseiten-Aufruf wird die IP-Adresse übertragen. Dazu der Zeitpunkt des Aufrufs, der User Agent (verwendeter Browser), URL der Webseite und die Referrer URL.

Welche Dienste der Google Cloud werden wofür verwendet?

Google Cloud Firebase CDNHosting von statischem Code (JavaScript, HTML, CSS) der LoyJoy Platform
Google Cloud RunHosting und serverseitige Ausführung von Java-Code der LoyJoy Platform in Cluster mit horizontaler Skalierbarkeit
Google Cloud FunctionsHosting und serverseitige Ausführung von Nicht-Java-Code der LoyJoy Platform für spezifische Aufgabenstellungen (PDF-Erstellung, Suchindex-Generierung etc.)
Google Cloud StorageHosting von Mandanten-spezifischen Administrationsobjekten (Modelle, Knowledge-Artikel, Bilder, Schriftarten etc.) in mehreren multiregional replizierten Buckets
Google Cloud DataStoreVerschlüsselte Speicherung personenbezogener Daten als Append-Only in multiregional replizierten Tabellen
Google Cloud SQLAnonymisierte Speicherung von Analytics-Daten; Verschlüsselte Speicherung von Konversationen, Chat-Nachrichten, Variablen, Gewinnspiel-Teilnahmen
Google Cloud Memorystore RedisVerschlüsselte Speicherung von Chat-Nachrichten (falls nicht in Google Cloud SQL)
Google Cloud Secret ManagerVerschlüsselte Speicherung von Konfigurations-Parametern
Google Cloud TraceVerteiltes Tracing der gehosteten Dienste zur Erfassung von anonymisierten Leistungsdaten
Google Cloud SchedulerKonfiguration und Auslösung von Cron-Jobs
Google Cloud Error ReportingAutomatisierte Erfassung von client- und serverseitigen anonymisierten Fehlermeldungen sowie automatisierte Benachrichtigungen an DevOps

Werden Fragen an OpenAI in die USA übertragen?

Nein, die Verarbeitung findet in Rechenzentren von Microsoft Ireland in der EU statt. Wir empfehlen, Ihren eigenen Microsoft Azure API Key in der LoyJoy Platform zu hinterlegen. Damit läuft OpenAI direkt in Ihrer eigenen Microsoft Azure Subscription. In diesem Falle ist Microsoft kein Subdienstleister von LoyJoy, sondern Ihr direkter Dienstleister.

Speichert Azure OpenAI Daten für das Training der KI?

Nein, die Fragen an die KI werden nicht für das KI-Training verwendet. Nach Beantwortung einer Frage werden die Daten nach 30 Tagen seitens OpenAI (bei Verarbeitung in den USA) bzw. Microsoft Ireland (bei Verarbeitung in der EU) gelöscht.

Welche personenbezogenen Daten werden an Azure OpenAI übertragen?

Es werden nur die Fragen übertragen.

Wo werden die in die LoyJoy-Wissensdatenbank hochgeladenen Daten gespeichert?

Ihre Daten werden in der EU verschlüsselt gespeichert. Es werden nicht die Originaldateien, sondern ausschließlich abgeleitete Wissens-„Chunks“ als Grundlage für das Retrieval Augmented Generation (RAG)-Verfahren abgelegt. Sie haben jederzeit die Möglichkeit, diese Daten eigenständig innerhalb der Plattform zu löschen.

Fragen zum EU AI Act

Welche Rolle hat LoyJoy mit der angebotenen Chatbot-Plattform und was ist das Geschäftsmodell?

LoyJoy ist eine Software as a Service-Plattform (SaaS) für Chatbots, die externe KI-Modelle in ihr Leistungsangebot integriert. Als Subdienstleister greift LoyJoy unter anderem auf Modelle von OpenAI via Microsoft Azure (Vertragspartner Microsoft Ireland) zurück.

Der Anbieter im Sinne des AI Act ist Microsoft Azure (oder ggf. ein anderer LLM-Anbieter nach Wahl des Kunden). Sowohl LoyJoy als auch Kunden von LoyJoy sind als Nutzer/Betreiber einzustufen. Es wird seitens LoyJoy weder ein eigenes Modell entwickelt noch wird ein Fine-Tuning von Modellen durchgeführt.

Kunden haben die Möglichkeit, LoyJoy mit ihrer eigenen Azure-Subscription zu verknüpfen. In diesem Fall ist Microsoft direkter Subdienstleister des Kunden.

Wie sieht das vertragliche Verhältnis zwischen LoyJoy, Microsoft Azure und OpenAI aus?

Das vertragliche Verhältnis ist in der Antwort auf die vorherige Frage bereits erläutert.

Wie funktioniert das Modell in Bezug auf Drittparteien und Trainingsdaten? Wie werden die von Kunden bereitgestellten Daten technisch verarbeitet und gegebenenfalls genutzt?

Aus den bereitgestellten Quelldaten für die KI werden sogenannte Embeddings berechnet und in einer Vektordatenbank gespeichert. Eingehende Fragen werden ebenfalls mit Embeddings versehen. Zunächst erfolgt ein semantischer Abgleich anhand der Embeddings, um mögliche relevante Inhalte zu identifizieren. Diese Inhalte werden dem Large Language Model (LLM) zusammen mit einem Prompt und einer System Message per API übergeben, damit das LLM eine Antwort generieren kann. Optional können die identifizierten Inhalte vorab durch ein LLM semantisch hinsichtlich ihrer Eignung zur Beantwortung der Frage bewertet werden (sogenanntes Reranking).

Was passiert mit den von Kunden eingegebenen Daten und werden diese für das Training der KI genutzt (auch wenn sie nicht personenbezogen sind)?

Die von Kunden eingegebenen Daten werden nicht für das Training einer KI verwendet.