Datenschutzerklärung für Kartuu
Kartuu ist eine Shopify-App der KYTH. Systems UG (haftungsbeschränkt). Sie erzeugt aus bezahlten Shopify-Bestellungen personalisierte Geschenkgutscheine als PDF. Diese Erklärung beschreibt, welche personenbezogenen Daten Kartuu dabei verarbeitet.
| Fassung | 1.15 |
| Stand | 24.09.2026 |
| Kennung des Zustimmungsnachweises | 1.21-2026-09-24 |
| Stand der beschriebenen Software | 24.09.2026 |
1. Auf einen Blick
- Daten der Händlerinnen und Händler. Je Shop speichert Kartuu die myshopify-Domain, einen Suchhash darüber, die verschlüsselten Shopify-Zugangstoken, den Abonnementstand, einen eingelösten Aktionscode, Ihre Kontaktadresse, den Nachweis Ihrer Zustimmung, Ihre Einstellungen (Auftritt, Hausfarben, E-Mail-Versand, Gutscheinprodukt), den Stand der Einrichtung und der Bewertungsfrage und die Bilder, die Sie hochladen. Einzelheiten in Abschnitt 5.
- Daten Ihrer Kundschaft und der Beschenkten. Kauft jemand in Ihrem Shop einen
Gutschein, meldet Shopify uns die bezahlte Bestellung (
orders/paid). Daraus entsteht je gekauftem Stück ein Datensatz mit Name und E-Mail-Adresse der kaufenden Person, Empfängername, E-Mail-Adresse des Beschenkten, Absendername und Grußtext — alles verschlüsselt —, dazu Kundennummer, Bestellkennung, Betrag, Wunschtermin und dem verschlüsselten Gutscheincode. Für diese Daten sind wir Auftragsverarbeiter des Shops. Einzelheiten in Abschnitt 6. - Hochgeladene Bilder bewahren wir auf, solange Ihr Shop besteht. Misst die längere Kante mehr als 2000 Pixel, rechnen wir das Bild herunter. Eingebettete Aufnahmedaten wie Aufnahmezeitpunkt, Gerät und Standort entfernen wir aus jedem Bild; erhalten bleibt nur die Ausrichtung. Gehört ein Bild zur Gestaltung Ihres Gutscheinprodukts, kann jede Person, die dessen Produktseite mit der Kartenvorschau aufruft, die Bilddatei abrufen. Einzelheiten in 5.1.
- Verbindungen nach außen. Kartuu ruft bei Shopify den Token-Endpunkt und die Admin-API Ihres eigenen Shops auf sowie den Speicherort, den Shopify für das Hochladen eines Produktbilds benennt; Kundendatenfelder fragt Kartuu dort nicht ab. Haben Sie einen E-Mail-Versand eingerichtet, verbindet sich Kartuu außerdem mit dem Mailserver, den Sie hinterlegt haben, und liefert dort die Gutscheinmails ein. Einzelheiten in Abschnitt 7.
- Ihr Browser lädt beim Öffnen der App eine Programmbibliothek von Shopify
(
cdn.shopify.com). Einzelheiten in 5.4. - E-Mail-Versand. Gutscheinmails verschickt Kartuu ausschließlich über den Mailzugang, den Sie selbst hinterlegen. Hinterlegen Sie keinen, verschickt Kartuu keine E-Mails.
- Kein Tracking, keine Analyse-Dienste, keine Cookies, keine Schriftarten oder Symbole von fremden Servern.
- Server, Datenbank und Sicherungen stehen in Berlin.
2. Verantwortlicher
KYTH. Systems UG (haftungsbeschränkt)
Prof.-Mederer-Straße 4
92348 Berg
Deutschland
Vertreten durch die Geschäftsführer Stefan Grasse und Stephan Wittmann
Registergericht: Amtsgericht Nürnberg, HRB 46313
Kontakt in Datenschutzfragen: datenschutz@kyth.systems
Allgemeiner Kontakt: hello@kyth.systems
Telefon: 0157 51603446
Datenschutzbeauftragter: Ein Datenschutzbeauftragter ist nicht bestellt; nach § 38 BDSG besteht dazu bei der derzeitigen Unternehmensgröße keine Pflicht. Für alle Anliegen ist die oben genannte Adresse zuständig.
3. Drei Rollen
Diese Erklärung richtet sich an drei Gruppen, und für jede gilt etwas anderes.
| Sie sind Händlerin oder Händler und installieren Kartuu in Ihrem Shop | Sie handeln für einen Händler im Shopify-Adminbereich | Sie haben in einem Shop eingekauft, der Kartuu einsetzt — oder Sie sind beschenkt worden | |
|---|---|---|---|
| Unsere Rolle | Verantwortlicher nach Art. 4 Nr. 7 DSGVO | Verantwortlicher nach Art. 4 Nr. 7 DSGVO | Auftragsverarbeiter nach Art. 4 Nr. 8, Art. 28 DSGVO |
| Verantwortlich ist | KYTH. Systems UG (haftungsbeschränkt) | KYTH. Systems UG (haftungsbeschränkt) | der Shop, bei dem Sie bestellt haben |
| Wir handeln | auf eigener Rechtsgrundlage, siehe Abschnitt 5 | auf eigener Rechtsgrundlage, siehe Abschnitt 5.6 | ausschließlich auf Weisung des Shops |
| Ihre Rechte richten Sie an | uns, siehe Abschnitt 10.1 | uns, siehe Abschnitt 10.1 | zuerst an den Shop, siehe Abschnitt 10.2 |
| Zuständiger Abschnitt | 5 | 5.6 | 6 |
| Was Sie selbst tun müssen | siehe § 12 des Auftragsverarbeitungsvertrages | — | — |
Die dritte Spalte umfasst zwei Personen: die Person, die den Gutschein gekauft hat, und die Person, für die er bestimmt ist. Von der beschenkten Person speichert Kartuu Name, E-Mail-Adresse und den an sie gerichteten Grußtext, obwohl sie selbst nichts bestellt hat. Auch für sie sind wir Auftragsverarbeiter, verantwortlich ist der Shop (6.1, 10.2).
Über Zwecke und Mittel der Verarbeitung von Kundendaten eines Shops entscheiden nicht wir, sondern der Shop. Grundlage ist ein Auftragsverarbeitungsvertrag nach Art. 28 Abs. 3 DSGVO, den der Händler mit uns schließt.
Wie der Vertrag zustande kommt. Beim Verbinden der App im Shopify-Adminbereich zeigen wir Ihnen drei Dokumente — diese Erklärung, den Auftragsverarbeitungsvertrag und den Nutzungsvertrag — und fragen Ihre Zustimmung ab. Ohne Zustimmung wird die App nicht verbunden: Es entsteht kein Datensatz zu Ihrem Shop, und es werden keine Zugangstoken bei Shopify abgeholt. Was wir als Nachweis speichern, steht in 5.3.
Ändert sich einer der drei Texte inhaltlich, erhält er eine neue Kennung, und Sie werden
beim nächsten Öffnen der App erneut um Zustimmung gebeten. Alle drei Dokumente sind unter
https://kartuu.kyth.systems/rechtliches/ ohne Anmeldung abrufbar; auf Anfrage an
datenschutz@kyth.systems erhalten Sie sie auch zugeschickt.
4. Was Kartuu tut
4.1 Überblick
- Verbinden. Kartuu nimmt Ihre Shop-Domain und Ihre Zustimmung entgegen, holt bei Shopify Zugangstoken ab und erneuert sie, prüft eingehende Webhooks auf ihre Echtheit, bedient die drei von Shopify vorgeschriebenen Datenschutz-Webhooks und liest bei Shopify den Abonnementstand Ihres Shops.
- Gestalten. Kartuu nimmt hochgeladene Bildmotive entgegen, prüft und bewahrt sie auf und erzeugt aus den Angaben, die Sie im Adminbereich eintippen, eine Vorschau und ein PDF der Gutscheinkarte.
- Gutscheinprodukt einrichten. Auf Ihren Klick legt Kartuu in Ihrem Shop ein Gutscheinprodukt mit Varianten und Metafeldern an — so viele, wie Sie anlegen, jedes als Wert- oder als Leistungsgutschein — und erzeugt dazu ein Produktbild. Ohne Ihren Klick geschieht das nicht.
- Bezahlte Bestellungen entgegennehmen. Trifft über den Webhook
orders/paideine bezahlte Bestellung mit einer Gutscheinposition ein, entsteht je gekauftem Stück ein Datensatz. Die Angaben aus dem Bestellformular werden verschlüsselt gespeichert. Als Gutscheinposition gilt nur ein Produkt, das Sie in Kartuu als Gutscheinprodukt eingerichtet haben; tragen andere Produkte Kartuu-Angaben, entscheiden Sie in der Bestellübersicht („Produkt prüfen“), bevor daraus ein Gutschein wird. - Geschenkkarte anlegen. Bei einem Wertgutschein erzeugt Kartuu einen Gutscheincode und legt damit über die Admin-API eine Shopify-Geschenkkarte an. Der Code wird sofort verschlüsselt gespeichert.
- Karte erzeugen und zustellen. Aus einem Abbild der Vorlage und den gespeicherten Angaben entsteht das PDF. Zugestellt wird es per E-Mail über den Mailzugang des Händlers an den Beschenkten und über eine Abrufseite, deren Adresse mit dem Gutschein bekannt gegeben wird. Kaufende Personen können den Gutschein außerdem über den Kartuu-Block auf der Danke-Seite und der Bestellstatusseite abrufen (6.5).
- Stornieren. Storniert der Händler eine Bestellung oder erstattet er eine Gutscheinposition ganz, entwertet Kartuu die zugehörige Geschenkkarte. Nach einer Teilerstattung oder bei einer schon angebrochenen Karte entscheidet der Händler in der Bestellübersicht; vorher fragt Kartuu den Guthabenstand bei Shopify ab. Unmittelbar bevor ein Gutschein ausgestellt wird, fragt Kartuu den Storno- und Zahlungsstand der Bestellung ab; ist sie storniert oder ganz erstattet, entsteht kein Gutschein.
4.2 Was Kartuu nicht tut
- Kartuu ruft keine Kundendatenfelder bei Shopify ab — keine Anschrift, keine Telefonnummer, keine Zahlungsdaten. Die personenbezogenen Bestelldaten kommen ausschließlich aus dem Webhook. Beim Freigeben eines Gutscheins fragt Kartuu die Lage der Bestellung ab (Erfüllungsaufträge und offene Mengen), um die Gutscheinposition als erfüllt melden zu können, und unmittelbar vor dem Ausstellen eines Gutscheins ihren Storno- und Zahlungsstand.
- Kartuu speichert keine Guthabenstände. Fragt der Händler in der Bestellübersicht nach dem Einlösestand oder ruft er den Export auf, wird der Guthabenstand bei Shopify gelesen und angezeigt, aber nicht gespeichert. Der Export enthält weder Namen noch Gutscheincodes. Von einer Geschenkkarte verwahrt Kartuu nur deren Kennung.
- Kartuu bewahrt keine erzeugten PDF-Dateien auf. Ein PDF lässt sich aus den gespeicherten Angaben jederzeit neu erzeugen.
- Kartuu setzt keinen eigenen Mailanbieter ein. Gutscheinmails werden ausschließlich über den Mailzugang eingeliefert, den der Händler hinterlegt.
4.3 Erteilte Berechtigungen
Kartuu fordert bei der Installation vier Berechtigungen an sowie den Zugriff auf die geschützten Kundendatenfelder „Name“ und „E-Mail-Adresse“. Shopify zeigt Ihnen das bei der Installation an, und Sie erteilen es damit.
| Berechtigung | Wozu | Wird sie ausgeübt? |
|---|---|---|
read_orders |
Gutscheinbestellungen erkennen und die Angaben lesen, die im Bestellformular gemacht wurden | Ja, über den Webhook, nicht über eine Abfrage bei Shopify |
write_gift_cards |
die Shopify-Geschenkkarte hinter einem Wertgutschein anlegen, mit einem Code, den Kartuu selbst erzeugt | Ja, beim Anlegen jedes Wertgutscheins und beim Entwerten nach Storno oder Erstattung (nach einer Teilerstattung oder bei einer angebrochenen Karte auf Entscheidung des Händlers); beim Entwerten wird allein die Kennung der Karte übertragen |
write_products |
das Gutscheinprodukt in Ihrem Shop anlegen — Produkt, Option, je Betrag eine Variante, die Metafelder und das Produktbild | Ja, nur auf Ihren Klick |
write_merchant_managed_fulfillment_orders |
die Gutscheinposition einer bezahlten Bestellung als erfüllt melden, sobald der Gutschein freigegeben ist | Ja, bei jeder Freigabe. Übertragen werden die Kennung des Erfüllungsauftrags und die Zeilen mit Stückzahl; eine Benachrichtigung Ihrer Kundschaft löst Kartuu dabei nicht aus |
| Feld „Name“ (geschützte Kundendaten) | Empfängername und Name der schenkenden Person auf den Gutschein drucken | Ja, aus den Angaben der Bestellposition |
| Feld „E-Mail-Adresse“ (geschützte Kundendaten) | den Gutschein zustellen und die kaufende Person beim Abruf erkennen | Ja, verschlüsselt gespeichert |
read_all_orders ist nicht angefordert: Kartuu braucht nur Bestellungen ab der
Installation. Ebenso wenig write_publications — ob Ihr Gutscheinprodukt in Ihrem
Onlineshop sichtbar wird, entscheiden Sie.
5. Daten der Händlerinnen und Händler (wir sind Verantwortliche)
Eine Verarbeitung zu eigenen Zwecken — insbesondere zu Werbung, Profiling, Weiterverkauf, zum Training von Modellen oder zu Auswertungen über Händler hinweg — findet nicht statt.
5.1 Was gespeichert wird
Ein Personenbezug entsteht hier meist nur mittelbar: Die Shop-Domain identifiziert einen Betrieb, und bei Einzelunternehmen steht dahinter eine natürliche Person. Wir behandeln diese Daten deshalb wie personenbezogene Daten.
| Datenkategorie | Woher | Wozu | Rechtsgrundlage | Wie lange |
|---|---|---|---|---|
Shop-Domain (z. B. beispielshop.myshopify.com) |
aus dem signaturgeprüften Shopify-Session-Token bzw. aus der signierten Webhook-Nachricht | Zuordnung Ihres Shops und eingehender Webhooks, Adressierung des Shopify-Token-Endpunkts | Art. 6 Abs. 1 lit. b DSGVO (Nutzungsvertrag) | bis zum shop/redact-Webhook, spätestens 30 Tage nach der Deinstallation (9.2, 9.3) |
| Suchhash der Shop-Domain (nicht umkehrbarer Prüfwert, HMAC-SHA256) | berechnet aus der Shop-Domain | Suchindex, damit Abfragen nicht über den Klartext laufen | Art. 6 Abs. 1 lit. b, lit. f DSGVO — berechtigtes Interesse: den Klartext möglichst selten zu verwenden und den Schaden bei einer Kompromittierung der Datenbank zu begrenzen | wie oben |
| Shopify Access Token Ihres Shops, verschlüsselt | Antwort des Shopify-Token-Endpunkts | Zugriff auf die Shopify-API in Ihrem Namen, für die zweiundzwanzig in Abschnitt 7 aufgezählten Aufrufe. Bestellungen und Kundendatenfelder werden damit nicht abgefragt | Art. 6 Abs. 1 lit. b DSGVO | bei Deinstallation sofort gelöscht; die Gültigkeit endet unabhängig davon nach 1 Stunde |
| Shopify Refresh Token Ihres Shops, verschlüsselt | Antwort desselben Endpunkts | Erneuerung des Access Tokens ohne erneute Anmeldung | Art. 6 Abs. 1 lit. b DSGVO | bei Deinstallation sofort gelöscht; die Gültigkeit endet unabhängig davon nach 90 Tagen |
| Technische Metadaten: Ablauf- und Erneuerungszeitpunkte der Token, Installations- und Deinstallationszeitpunkt, erteilte Berechtigungen | serverseitig erzeugt bzw. aus der Shopify-Antwort | Steuerung des Token-Lebenszyklus, Auflösen gleichzeitiger Installationen, Erkennen verspäteter Webhooks | Art. 6 Abs. 1 lit. b, lit. f DSGVO — berechtigtes Interesse: ein störungsfreier Betrieb | wie Shop-Domain |
| Abonnementstand Ihres Shops: ob ein aktives Abonnement besteht, der Tarifname, ob es ein von Shopify ausgestelltes Testabonnement ist, und wann zuletzt gefragt wurde | Shopify-Admin-API | Durchsetzung der Bezahlschranke an drei Stellen — beim Einrichten des Gutscheinprodukts, beim Korrekturabzug und über die Zustellsperre, die ohne Tarif den automatischen Versand anhält — und Anzeige Ihres Tarifs. Die Erzeugung eines bereits bezahlten Gutscheins ist nicht verriegelt | Art. 6 Abs. 1 lit. b DSGVO (Nutzungsvertrag) | wie Shop-Domain |
| Eingelöster Aktionscode: der Code und der Zeitpunkt der Einlösung | Ihre Eingabe unter Administration | damit wir den zugesagten Rabatt bei Shopify für Ihren Shop eintragen können (5.3) | Art. 6 Abs. 1 lit. b DSGVO (Nutzungsvertrag, § 5) | wie Shop-Domain |
| Ihre Kontaktadresse (E-Mail), verschlüsselt | Ihre Eingabe im Zustimmungsschritt (Pflichtfeld) | Mitteilungen an Sie: Meldung einer Datenpanne, Änderung des Auftragsverarbeitungsvertrages, Wechsel eines Unterauftragsverarbeiters, Weiterleitung von Anfragen betroffener Personen. Haben Sie einen Mailzugang hinterlegt, außerdem höchstens einmal täglich über diesen Zugang ein Hinweis, wenn Bestellungen Ihre Aufmerksamkeit brauchen — nur mit Anzahlen und einem Link in die App; damit es bei einmal täglich bleibt, halten wir fest, wann der letzte Hinweis ging | Art. 6 Abs. 1 lit. b DSGVO (Nutzungs- und Auftragsverarbeitungsvertrag); ergänzend Art. 6 Abs. 1 lit. c DSGVO für Meldungen nach Art. 33 Abs. 2 DSGVO | wie Shop-Domain |
| Nachweis Ihrer Zustimmung: Zeitpunkt und Kennung jeder zugestimmten Fassung | serverseitig erzeugt beim Zustimmungsschritt | Nachweis, dass und zu welcher Fassung die Verträge geschlossen wurden (Art. 28 Abs. 3, Art. 5 Abs. 2 DSGVO) | Art. 6 Abs. 1 lit. b DSGVO; ergänzend Art. 6 Abs. 1 lit. c DSGVO | wie Shop-Domain |
| Auftritt Ihres Shops: Name für die Gutscheinkarte, gewählte Logos und die Sprache der Gutscheine | Ihre Eingabe im Adminbereich | Name, Logo und Sprache auf der Karte | Art. 6 Abs. 1 lit. b DSGVO (Nutzungsvertrag) | wie Shop-Domain |
| Ihre Hausfarben: bis zu zwölf Farbwerte (Hexcodes), die Sie gespeichert haben | Ihre Eingabe im Adminbereich | an jeder Farbwahl der Gestaltung zum Anklicken anbieten; gedruckt wird davon nichts | Art. 6 Abs. 1 lit. b DSGVO (Nutzungsvertrag) | wie Shop-Domain |
| Einrichtungsstand: wann Sie die Einrichtung abgeschlossen haben, welche Punkte der Liste bis zum ersten Verkauf Sie selbst abgehakt haben und wann die beiden Kartuu-Blöcke in Ihrem Theme erstmals nachweislich angezeigt wurden | Ihre Eingabe im Adminbereich bzw. das erste Anzeigen eines Blocks | Ihnen auf der Startübersicht zeigen, was noch zu tun ist | Art. 6 Abs. 1 lit. b DSGVO (Nutzungsvertrag) | wie Shop-Domain |
| Stand der Bewertungsfrage: wann Kartuu Shopifys eigene Bitte um eine Bewertung aufgerufen hat und Shopifys Rückmeldung dazu (etwa „gerade nicht“ oder „schon bewertet“). Den Text der Bitte und eine etwaige Bewertung sehen wir nicht | Shopify, über App Bridge in Ihrem Browser | nicht öfter fragen, als Shopify zulässt, und nicht mehr, wenn Sie schon bewertet haben | Art. 6 Abs. 1 lit. f DSGVO — berechtigtes Interesse: um Bewertungen zu bitten, ohne Sie damit zu bedrängen | wie Shop-Domain |
| Zugangsdaten für Ihren E-Mail-Versand: Mailserver, Port, Absender- und Antwortadresse, wahlweise Benutzername und Passwort, der Schalter für den automatischen Versand. Benutzername und Passwort verschlüsselt (AES-256-GCM); das Passwort wird nie wieder angezeigt | Ihre Eingabe im Adminbereich | Zustellung der Gutscheine über Ihren Mailzugang | Art. 6 Abs. 1 lit. b DSGVO (Nutzungsvertrag) | wie Shop-Domain |
| Hochgeladene Bildmotive — der Bildinhalt. Bei JPEG, PNG und WebP die Datei auf höchstens 2000 Pixel Kantenlänge gerechnet, wenn das Bild größer war, dann neu kodiert; in jedem Fall ohne eingebettete Aufnahmedaten (EXIF und Vergleichbares) bis auf die Ausrichtung; bei SVG die um alles Ausführbare bereinigte Fassung | Ihr Upload im Adminbereich | das Motiv auf der Gutscheinkarte zeichnen, in der Vorschau und im PDF, und — wenn es zur Gestaltung eines Gutscheinprodukts gehört — in dessen Produktbild und in der Kartenvorschau auf der Produktseite (6.6) | Art. 6 Abs. 1 lit. b DSGVO (Nutzungsvertrag). Für Personen, die auf einem Bild zu sehen sind oder in dessen Aufnahmedaten stehen, schaffen Sie die Rechtsgrundlage | solange Ihr Shop besteht (9.2) |
| Hochgeladene Bildmotive — Angaben darüber: Schlüssel, Dateityp, Größe, Breite und Höhe, Prüfsumme (SHA-256), Zeitpunkt des Hochladens | beim Prüfen des Bildes ermittelt | Ihre Bilder auflisten und ihr Seitenverhältnis anzeigen | Art. 6 Abs. 1 lit. b DSGVO | wie Shop-Domain |
| Ihre Gutscheinprodukte, je Produkt: Art, Shopify-Produktkennung, Handle, gewählte Vorlage oder gewählter Entwurf, Stand des Produktbilds, Zeitpunkt des Anlegens | beim Anlegen festgehalten | doppeltes Anlegen verhindern, den Stand anzeigen, Gutscheinpositionen im Bestellablauf erkennen | Art. 6 Abs. 1 lit. b DSGVO (Nutzungsvertrag) | wie Shop-Domain |
| Gespeicherte Entwürfe Ihrer Kartengestaltung | Ihre Eingabe im Adminbereich | Entwürfe wiederverwenden und einem Gutscheinprodukt zuordnen | Art. 6 Abs. 1 lit. b DSGVO (Nutzungsvertrag) | wie Shop-Domain |
| Webhook-Kennungen mit Status und Zeitstempeln | Kopfzeile der eingehenden Webhook-Anfrage | Duplikatschutz: Wiederholungen desselben Webhooks werden nicht mehrfach verarbeitet | Art. 6 Abs. 1 lit. f DSGVO — berechtigtes Interesse: Mehrfachverarbeitung zu verhindern | 30 Tage nach Abschluss (9.4) |
| Zugriffsprotokoll für geschützte Kundendaten: Shop-Kennung, Zeitpunkt, Akteur, Zweck, betroffene Feldkategorie, Anzahl der Datensätze | eigene Anwendung | Auflage der Shopify-Freigabe für geschützte Kundendaten und Rechenschaftspflicht nach Art. 5 Abs. 2 DSGVO: belegt, dass zugegriffen wurde, nicht welche Daten. Vermerkt werden sieben Zwecke: eine Auskunft nach Art. 15, eine Löschung nach Art. 17, das Anlegen von Gutscheinen aus einer bezahlten Bestellung, das Ansehen der Bestellübersicht, das Ergänzen der Angaben eines bestellten Stücks, das Herunterladen des Gutscheins als PDF und das Ändern der Zustelladresse | Art. 6 Abs. 1 lit. f DSGVO — berechtigtes Interesse: die Nachweisauflagen aus der Shopify-Partnervereinbarung zu erfüllen; ergänzend Art. 6 Abs. 1 lit. b DSGVO | wie Shop-Domain |
| Anwendungsprotokolle: Shop-Domain, interne Shop-Kennung, Akteur und Zweck beim Zugriffsprotokoll, Abonnementstand, bei abgelehnten Eingaben nur der Name des Feldes, beim Hochladen der Bildtyp oder der Ablehnungsgrund, im Bestellablauf Bestell-, Positions- und Gutscheinkennung, Anzahl und erreichter Zustand sowie ein kurzer Fehlergrund, die Art einer Ausnahme und in den in 5.2 genannten Fällen deren Meldung. Nie ein Gutscheincode, ein Abruf-Token, ein Name, ein Grußtext oder eine E-Mail-Adresse der Kundschaft | eigene Anwendung | Betriebsdiagnose | Art. 6 Abs. 1 lit. f DSGVO — berechtigtes Interesse: Störungen und Angriffe zu erkennen | 14 Tage (9.7) |
Shop-Domain und Webhook-Kennung aus Webhooks zu Shops ohne Zustimmung — Shopify sendet bestimmte Webhooks (etwa app/uninstalled oder orders/paid) auch, bevor Sie der App zugestimmt haben |
aus der signierten Webhook-Nachricht | Entgegennahme und Signaturprüfung. Ein Datensatz zu Ihrem Shop und Gutscheine entstehen dabei nicht; der Inhalt wird nach der Prüfung verworfen | Art. 6 Abs. 1 lit. f DSGVO — berechtigtes Interesse: verpflichtend abonnierte Webhooks ordnungsgemäß entgegenzunehmen; ergänzend Art. 6 Abs. 1 lit. c DSGVO für die Datenschutz-Webhooks | Webhook-Kennung 30 Tage (9.4), Protokollzeile 14 Tage (9.7) |
Das Zugriffsprotokoll enthält keine Spalte, die einen Namen, eine Adresse, eine E-Mail-Adresse oder eine Gutscheinnummer aufnehmen könnte. Für dieses Protokoll besteht keine Wahlmöglichkeit; es ist Voraussetzung der Shopify-Freigabe.
Erforderlichkeit. Die Bereitstellung der Shop-Domain und der Shopify-Zugangstoken ist weder gesetzlich noch vertraglich vorgeschrieben, für die Nutzung von Kartuu aber erforderlich. Diese Daten entstehen automatisch, wenn Sie die App verbinden. Ihre Kontaktadresse ist ein Pflichtfeld: Ohne sie und ohne Ihre Zustimmung wird die App nicht verbunden, und es kommt kein Vertrag zustande (Art. 13 Abs. 2 lit. e DSGVO).
Wo die Bildmotive liegen. Alle übrigen Angaben dieser Tabelle stehen in der Datenbank auf unserem Server in Berlin. Der Bildinhalt der Motive liegt als Datei auf demselben Server, auf einem dauerhaften Datenträger. Er ist nicht Teil der Datenbanksicherung (9.6).
Wer ein Motiv abrufen kann. Eine Adresse, unter der die Ablage allgemein lesbar wäre, gibt es nicht. Im Adminbereich erhalten Sie Ihre Bilder nach Prüfung Ihrer Sitzung. Außerhalb davon wird ein Motiv nur über eine signierte Adresse ausgeliefert, die nach ein bis zwei Stunden ungültig wird: in der Vorschau im Adminbereich und — wenn das Motiv oder Logo zur Gestaltung eines Gutscheinprodukts gehört — an jede Person, die dessen Produktseite mit der Kartenvorschau aufruft (6.6). Diese Person kann die Bilddatei, so wie sie gespeichert ist, herunterladen.
Was ein hochgeladenes Bild enthält, bestimmen Sie. Wir prüfen es auf Format, Maße und Ungefährlichkeit (11.2) und sehen den Inhalt nicht durch. Ein Foto aus einem Mobiltelefon kann Aufnahmezeitpunkt, Gerät und Standort tragen. Diese Aufnahmedaten entfernen wir beim Hochladen aus jedem Bild; erhalten bleibt nur die Ausrichtung, damit ein hochkant aufgenommenes Foto nicht auf der Seite liegt. Misst die längere Kante mehr als 2000 Pixel, wird das Bild außerdem heruntergerechnet und neu kodiert; ein kleineres Bild wird dabei nicht neu kodiert. Bilder, die vor dem 23.09.2026 hochgeladen wurden, haben wir auf dieselbe Weise bereinigt.
5.2 Was nicht gespeichert wird
- Ihr Session-Token (der von Shopify signierte Nachweis Ihrer angemeldeten Sitzung) wird nur im Arbeitsspeicher geprüft und danach verworfen — nicht in der Datenbank, nicht im Protokoll, nicht im Browserspeicher. Gelesen werden nur Shop-Domain, App-Kennung und Gültigkeitszeitpunkte (5.6).
- Zugangsdaten gelangen nie in ein Protokoll — weder Access-, Refresh- noch Session-Token, auch nicht gekürzt.
- Fehlermeldungen. Im Fehlerfall wird in der Regel nur die Art der Ausnahme geschrieben. In einigen Fällen steht zusätzlich die Meldung der Ausnahme im Protokoll, weil sich die Ursache sonst nicht finden ließe: wenn der Tokenabruf bei Shopify vorübergehend scheitert (eigener Text, HTTP-Statuscode, Shop-Domain), wenn eine Kartengestaltung nicht geprüft oder gerendert werden kann (betroffenes Feld oder Bildschlüssel), wenn ein Bild beim Hochladen abgelehnt wird (der Grund), wenn die Bildablage nicht erreichbar ist und wenn ein Schritt des täglichen Aufräumlaufs scheitert. Token, Kontaktadressen, Gutscheincodes sowie Namen, Grußtexte und E-Mail-Adressen Ihrer Kundschaft stehen darin nicht im Klartext.
- Ihre Kontaktadresse erscheint in keiner Protokollzeile.
5.3 Ihre Kontaktadresse und der Zustimmungsnachweis
Im Zustimmungsschritt fragen wir eine E-Mail-Adresse ab, unter der wir Sie erreichen können. Zusammen mit Ihrer Zustimmung speichern wir:
| Angabe | Form |
|---|---|
| wer — Ihre Kontaktadresse | verschlüsselt (AES-256-GCM) |
| wann — Zeitpunkt der Zustimmung | Zeitstempel |
| welche Fassung — die Kennung des Textes, dem Sie zugestimmt haben | Klartext, z. B. 1.12-2026-09-17 |
Die Fassungskennung setzt ausschließlich der Server; eine vom Browser mitgeschickte Angabe wird nicht übernommen. Jede erteilte Zustimmung wird einzeln festgehalten.
Was wir damit tun. Wir schreiben Ihnen an diese Adresse bei einer Verletzung des Schutzes personenbezogener Daten, bei einer Änderung des Auftragsverarbeitungsvertrages, beim Wechsel eines Unterauftragsverarbeiters oder um eine Anfrage weiterzuleiten, die eine betroffene Person an uns statt an Sie gerichtet hat. Haben Sie einen Mailzugang hinterlegt, schickt Kartuu über diesen Zugang außerdem höchstens einmal täglich einen Hinweis an diese Adresse, wenn Bestellungen Ihre Aufmerksamkeit brauchen — nur mit Anzahlen und einem Link in die App. Werbung senden wir nicht. Die Adresse wird nicht an Dritte weitergegeben und nicht ausgewertet.
Wenn Sie uns schreiben, verarbeiten wir Ihre Nachricht und Ihre Absenderadresse, um sie zu beantworten. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO, soweit es um den Nutzungsvertrag geht, sonst Art. 6 Abs. 1 lit. f DSGVO — berechtigtes Interesse: an uns gerichtete Anfragen zu beantworten.
Adresse ändern. Schreiben Sie an datenschutz@kyth.systems. Bei jeder neuen Fassung dieser Texte zeigt Ihnen der Zustimmungsschritt die hinterlegte Adresse außerdem zur Bearbeitung an.
Abrechnung. Kartuu nutzt die von Shopify verwalteten App-Tarife: Auswahl und Bezahlung finden bei Shopify statt. Wir fragen bei Shopify ab, ob Ihr Abonnement aktiv ist, wie der Tarif heißt, ob es ein Testabonnement ist und bis wann der laufende Abrechnungszeitraum reicht; Letzteres wird nur angezeigt und nicht gespeichert. Zahlungsdaten verarbeiten wir nicht; sie liegen bei Shopify.
Aktionscode. Lösen Sie unter Administration einen Aktionscode ein, speichern wir den Code und den Zeitpunkt an Ihrem Shop. Den Rabatt gewährt nicht Kartuu selbst: Wir tragen ihn von Hand bei Shopify ein (Nutzungsvertrag § 5). Damit wir davon erfahren, schickt unser Server eine Meldung an unser eigenes Postfach bei der INWX GmbH (Abschnitt 7) — mit Ihrer Shop-Domain, dem Code, dem Zeitpunkt, Ihrem Tarifstand und ob Kartuu noch installiert ist; weitere Angaben enthält sie nicht. Sobald Sie einen Tarif gebucht haben, kommt eine zweite Meldung derselben Art. Damit keine doppelt kommt, vermerkt der Server, welche Einlösungen er schon gemeldet hat (Shop-Domain und Zeitpunkt); verschwindet Ihr Shop aus unserer Datenbank (9.2), verschwindet der Vermerk beim nächsten Lauf, spätestens nach einer Stunde. Die Meldungen löschen wir aus dem Postfach, sobald der Rabatt eingetragen ist oder feststeht, dass er nicht eingetragen wird. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO.
5.4 App Bridge aus dem Shopify-CDN
Die eingebettete Oberfläche von Kartuu lädt die Bibliothek „App Bridge“ direkt von
cdn.shopify.com. Dieser Aufruf geht von Ihrem Browser aus. Shopify erhält dabei die
üblichen Verbindungsdaten (IP-Adresse, Browserkennung) und die Herkunftsangabe
https://kartuu.kyth.systems, aber keine Kunden-, Bestell- oder Gutscheindaten und kein
Token. Empfänger ist Shopify, also dieselbe Stelle, die Ihnen den Shopify-Adminbereich
ausliefert.
5.5 Keine Cookies, kein Tracking
Kartuu setzt keine eigenen Cookies und verwendet kein sessionStorage. Es sind keine
Analyse-, Statistik-, Werbe- oder Tag-Dienste eingebunden, und es werden keine externen
Schrift- oder Symboldienste aufgerufen.
Zwei Einträge im Browserspeicher. Kartuu legt im localStorage Ihres Browsers
höchstens zwei Vermerke ab, jeden nur durch Ihren Klick:
- Unter „Bestellungen“ kann ein Hinweis erscheinen, dass der Kartuu-Block auf der Danke-Seite fehlt. Wählen Sie dort „Nicht mehr anzeigen“, vermerkt Kartuu, dass Sie diesen Hinweis ausgeblendet haben.
- Auf der Startseite kann ein Hinweis auf Neuerungen an Kartuu erscheinen. Wählen Sie dort „Verstanden“, vermerkt Kartuu, welche Neuerung Sie gesehen haben — als deren Datum.
Die Vermerke enthalten keine Angabe über Sie oder Ihren Shop und werden nicht an uns
übertragen. Sie entfernen sie, indem Sie die Websitedaten von kartuu.kyth.systems in
Ihrem Browser löschen; die Hinweise erscheinen dann wieder.
Eine Einwilligung nach § 25 TDDDG ist nicht erforderlich: Die Vermerke sind unbedingt erforderlich, damit die von Ihnen ausdrücklich gewünschte Funktion — den jeweiligen Hinweis ausgeblendet zu lassen — erbracht werden kann (§ 25 Abs. 2 Nr. 2 TDDDG).
5.6 Wenn Sie für einen Händler im Shopify-Adminbereich handeln
Diese Angaben gelten für Personen, die Kartuu für einen Händler öffnen, ohne selbst der Händler zu sein — etwa Beschäftigte, Agenturen oder technische Dienstleister. Es gilt Art. 14 DSGVO.
- Welche Daten. Der von Shopify signierte Sitzungsnachweis (Session-Token) mit Shop-Domain, App-Kennung, Gültigkeitszeitpunkten und einer von Shopify vergebenen Benutzerkennung. Die Benutzerkennung wird nicht ausgewertet.
- Woher. Von Shopify (Art. 14 Abs. 2 lit. f DSGVO).
- Wozu und auf welcher Grundlage. Prüfung, dass ein Aufruf echt ist und zu welchem Shop er gehört. Art. 6 Abs. 1 lit. f DSGVO — berechtigtes Interesse: Aufrufe zu authentifizieren und Shops voneinander abzuschirmen.
- Wie lange. Gar nicht; der Nachweis wird im Arbeitsspeicher geprüft und verworfen.
- Information. Über die Veröffentlichung dieser Erklärung, da wir Ihre Kontaktdaten nicht kennen (Art. 14 Abs. 5 lit. b DSGVO).
- Ihre Rechte. Wie in Abschnitt 10.1, gerichtet an datenschutz@kyth.systems.
6. Daten der Kundschaft eines Shops (wir sind Auftragsverarbeiter)
6.1 Wer betroffen ist und was gespeichert wird
| Person | Was von ihr verarbeitet wird | Woher |
|---|---|---|
| Die kaufende Person | Name und E-Mail-Adresse (verschlüsselt, dazu ein Suchwert der Adresse) sowie die Shopify-Kundennummer (bei einem Gastkauf fehlt sie) | aus der bezahlten Bestellung |
| Die beschenkte Person | Name, E-Mail-Adresse und der an sie gerichtete Grußtext | aus den Angaben im Bestellformular |
| Die schenkende Person, soweit sie sich als Absenderin einträgt | der Absendername | aus den Angaben im Bestellformular |
Die E-Mail-Adresse der beschenkten Person wird gespeichert, damit ihr der Gutschein zugestellt werden kann: Die Mail geht über den Mailzugang des Händlers hinaus und enthält den Gutschein als PDF sowie einen Abruflink. Hat der Händler keinen Mailzugang hinterlegt, wird keine E-Mail verschickt. Mit der Karte erfährt die beschenkte Person auch den Namen der schenkenden Person und den Grußtext. Da die beschenkte Person ihre Daten nicht selbst angegeben hat, gilt für ihre Information Art. 14 DSGVO; zuständig ist der Shop (6.3).
Je gekauftem Stück entsteht ein Datensatz:
| Angabe | Form | Wozu |
|---|---|---|
| Name und E-Mail-Adresse der kaufenden Person | verschlüsselt (AES-256-GCM) | Zuordnung der Bestellung, Abruf über den Kartuu-Block (6.5) |
| Empfängername, E-Mail-Adresse des Beschenkten, Absendername, Grußtext | verschlüsselt (AES-256-GCM) | auf die Karte drucken; die Adresse für die Zustellung |
| Suchwerte über die E-Mail-Adressen des Beschenkten und der kaufenden Person | nicht umkehrbare Prüfwerte (HMAC-SHA256) | damit eine Auskunft oder Löschung die beschenkte Person und eine kaufende Person ohne Kundennummer finden kann |
| Shopify-Kundennummer der kaufenden Person | Klartext | Suchschlüssel der Datenschutz-Webhooks |
| Gutscheincode | verschlüsselt, daneben ein nicht umkehrbarer Suchwert | Shopify gibt den Code nur einmal heraus; der Suchwert verhindert doppelte Codes und lässt einen vorgelegten Gutschein wiederfinden |
| Abruf-Token des Gutscheins | verschlüsselt, daneben ein nicht umkehrbarer Suchwert | Adresse der Abrufseite, auf der der Gutschein als PDF abrufbar ist |
| Bestell- und Positionskennung, laufende Nummer des Stücks | Klartext | Schutz davor, dass ein wiederholt zugestellter Webhook zweite Gutscheine erzeugt |
| Kopf der Bestellung: Bestellnummer, Zeitpunkt, Gesamtbetrag mit Währung, Zahlungsart, Verkaufskanal | Klartext | die Bestellung in der Übersicht des Händlers erkennbar machen |
| Rabatt, mit dem ein Gutschein gekauft wurde: Betrag mit Währung, Code oder Titel des Rabatts, ob er der ganzen Bestellung galt | Klartext | Ihnen in Bestellübersicht und Export zeigen, dass ein Gutschein mit Rabatt gekauft wurde — die Karte behält ihren vollen Wert |
| Nennwert, Währung, gedruckter Betrag, Shopname, Sprache der Karte, Ablaufdatum (nur wenn Sie in Shopify eine Ablauffrist für Geschenkgutscheine eingestellt haben) | Klartext | die Karte ohne die Bestellnachricht erzeugen können |
| Wunschtermin | Klartext (Zeitpunkt) | die E-Mail erst ab dem im Bestellformular gewählten Tag verschicken; mit „Jetzt senden“ heben Sie ihn auf |
| Zustand, Zeitpunkt des letzten Zustandswechsels, Zeitpunkt der beanspruchten Zustellung, Fehlerzähler, kurzer Fehlergrund | Klartext | Ablauf und Fehlerbehandlung; eine Zustellung wird nur einmal ausgeführt |
| Offene Frage nach einer Erstattung: welche Frage, bei einer Teilerstattung die Zahl der noch zu entscheidenden Stücke, seit wann | Klartext | Ihnen zeigen, wo Sie nach einer Teilerstattung oder bei einer schon angebrochenen Karte entscheiden, ob der Gutschein ungültig wird |
| Kennung der Shopify-Geschenkkarte | Klartext | die Karte zuordnen. Ein Guthabenstand wird nicht gespeichert |
| Abbild der Kartenvorlage mit Platzhaltern statt Werten | JSON | damit ein Nachdruck dieselbe Karte ergibt; die personenbezogenen Werte stehen nicht darin |
| Schlüssel der Bildmotive in dieser Karte | Klartext | damit ein verwendetes Motiv nicht gelöscht werden kann |
Nicht gespeichert werden: Anschrift und Telefonnummer der Kundschaft, Zahlungsdaten, der Bestellinhalt außerhalb der Gutscheinpositionen und des Bestellkopfs sowie das erzeugte PDF.
Nur kurzzeitig verarbeitet werden:
- die Probeangaben bei der Gestaltung im Adminbereich — sie werden in eine Vorschau und ein PDF gesetzt und nicht gespeichert; gespeichert wird nur ein Entwurf, den der Händler ausdrücklich sichert (5.1);
- die Angaben aus dem Kartuu-Block und der Kartenvorschau im Shop (6.5, 6.6);
- der Inhalt der Datenschutz-Webhooks — er wird zur Signaturprüfung eingelesen und danach verworfen (6.4);
- das erzeugte PDF — es wird nach der Auslieferung verworfen.
Hochgeladene Bilder. Was auf einem Motiv zu sehen ist, entscheidet allein der Händler; Kartuu prüft es nicht. Bildet ein Motiv Personen ab, sind deren Daten gespeichert, solange der Shop besteht (5.1). Der Upload ist eine Weisung des Händlers (§ 3.2 Nr. 3 des Auftragsverarbeitungsvertrages).
6.2 Wie lange diese Daten gespeichert werden
| Ereignis | Wirkung |
|---|---|
Löschung einer einzelnen Person (customers/redact oder Verlangen an uns) |
Namen, E-Mail-Adressen, ihre Suchwerte und Grußtext werden gelöscht; die Kundennummer, wenn sie zu der Person gehört. Der Gutschein selbst bleibt mit Code, Zustand, Wert und Vorlagenabbild, damit er weiterhin eingelöst werden kann |
| Drei Jahre nach dem Anlegen des Gutscheins | die personenbezogenen Angaben werden geleert; der Gutschein selbst bleibt (9.5a) |
Löschung des Shops (shop/redact, ersatzweise nach 30 Tagen, 9.3) |
alle Gutscheindatensätze werden mit dem Shop vollständig gelöscht (9.2) |
Die Löschung einer beschenkten Person, die in dem Shop nie selbst gekauft hat, wird von Shopify nicht übermittelt. Sie erfolgt auf Anfrage an datenschutz@kyth.systems von Hand (10.2).
6.3 Auf wessen Weisung wir handeln
Die Verarbeitung der Bestell-, Kunden- und Empfängerdaten geschieht ausschließlich auf Weisung des Shops. Die Rechtsgrundlage gegenüber der betroffenen Person schafft der Shop — in der Regel Art. 6 Abs. 1 lit. b DSGVO für die Erfüllung des Kaufvertrags. Die Informationspflicht gegenüber Beschenkten nach Art. 14 DSGVO trifft den Shop.
6.4 Die drei Datenschutz-Webhooks von Shopify
| Webhook | Was Kartuu damit macht |
|---|---|
customers/data_request |
Auskunftsersuchen einer einzelnen Person. Kartuu sucht über die Kundennummer und über die E-Mail-Adresse — der beschenkten wie der kaufenden Person — die zugehörigen Datensätze und stellt Empfängername und -adresse, Absendername, Grußtext sowie Name und E-Mail-Adresse der kaufenden Person entschlüsselt zusammen; Gutscheincode und Abruf-Token gehören nicht dazu. Festgehalten wird, dass die Anfrage kam und wie viele Datensätze es gibt. Den Inhalt gibt Kartuu dem Shop auf Anforderung in Textform heraus (10.2) |
customers/redact |
Löschungsersuchen für eine einzelne Person. Kartuu anonymisiert die gefundenen Datensätze (6.2) |
shop/redact |
Shopify meldet 48 Stunden nach der Deinstallation, dass alle Daten des Shops zu löschen sind. Kartuu löscht sie (9.2) |
Ausgewertet werden aus diesen Webhooks nur Kundennummer und E-Mail-Adresse; weitere mitgesendete Angaben wie Telefonnummer und Anschrift werden verworfen. Jeder Webhook wird vor der Verarbeitung anhand seiner Signatur geprüft (HMAC-SHA256). Unsere Rolle ist die des Auftragsverarbeiters; Rechtsgrundlage des Shops ist in der Regel Art. 6 Abs. 1 lit. c DSGVO. Zurück bleibt ein Eintrag im Zugriffsprotokoll ohne Name, Adresse oder Kundenkennung.
Auch ohne Kundenkonto. Gefunden wird eine Person über ihre Kundennummer oder über ihre E-Mail-Adresse — als beschenkte wie als kaufende Person, auch wenn sie ohne Kundenkonto gekauft hat. Für Gutscheine von vor dem 23.09.2026 tragen wir den dafür nötigen Suchwert der Käuferadresse nach, solange die Adresse gespeichert ist.
6.5 Der Kartuu-Block auf Danke- und Bestellstatusseite
Der Händler kann einen Kartuu-Block auf der Danke-Seite und auf der Bestellstatusseite seines Shops platzieren. Dann ruft der Browser der kaufenden Person unseren Server auf.
| Was gesendet wird | ein von Shopify ausgestelltes, kurzlebiges Sitzungsmerkmal und der Bezug auf die Bestellung; bei angemeldeten Kaufenden enthält das Merkmal die Shopify-Kundennummer. Wer ohne Kundenkonto gekauft hat, kann zusätzlich die E-Mail-Adresse eingeben, die bei der Bestellung angegeben wurde |
| Was dabei anfällt | die IP-Adresse des Browsers, wie bei jedem Seitenaufruf. Sie wird nicht gespeichert (9.8) |
| Was zurückgeht | im Regelfall nur ein Zustand und der Anzeigename des Shops, etwa „wird erstellt“ oder „der Shop stellt zu“ |
| Wann die Abruflinks zurückgehen | wenn die Kundennummer aus dem Sitzungsmerkmal zu jedem noch gültigen Gutschein dieser Bestellung gehört oder wenn die eingegebene E-Mail-Adresse mit der in der Bestellung angegebenen übereinstimmt. Dann enthält die Antwort die Abruflinks zu den Gutscheinen dieser Bestellung |
| Die eingegebene E-Mail-Adresse | wird nur mit der gespeicherten Adresse verglichen und nicht gespeichert. Passt sie nicht, hält Kartuu diesen Fehlversuch mit Bestellkennung und Zeitpunkt fest — ohne die Adresse —, um die Versuche je Bestellung und je Shop zu begrenzen |
| Unsere Rolle | Auftragsverarbeiter — der Block gehört zum Shop |
| Speicherdauer | der Aufruf selbst wird nicht gespeichert; ein Fehlversuch mit Bestellkennung und Zeitpunkt spätestens einen Tag |
6.6 Die Kartenvorschau auf der Produktseite
Legt der Händler den Kartuu-Block auf seine Produktseite, zeigt er dort eine Vorschau
der Gutscheinkarte. Der Browser der besuchenden Person lädt diese Vorschau über eine
Adresse des Shops (/apps/kartuu/…); Shopify leitet die Anfrage mit einer Signatur an
unseren Server weiter und fügt dabei die Shop-Domain hinzu, bei angemeldeten Kundinnen
und Kunden auch deren Kundennummer. Kartuu verwendet diese Angaben nur zur Prüfung der
Signatur und liefert eine Karte mit leeren Platzfeldern zurück. Was die besuchende
Person in das Bestellformular tippt, setzt allein ihr Browser in die Vorschau ein; es
wird dafür nicht an uns übertragen.
Die Karte zeigt die Gestaltung des Gutscheinprodukts mit Name, Logo und Motiv des Shops.
Schriften und Bilder dieser Karte lädt der Browser unmittelbar von
kartuu.kyth.systems, die Bilder über signierte Adressen, die nach ein bis zwei Stunden
ungültig werden. Dabei fällt die IP-Adresse des Browsers an; sie wird nicht gespeichert
(9.8). Eine hochgeladene Bilddatei, die zur Gestaltung gehört, kann die besuchende Person
so herunterladen, wie sie gespeichert ist (5.1).
Gespeichert wird nichts. Unsere Rolle ist die des Auftragsverarbeiters.
7. Empfänger und Unterauftragsverarbeiter
| Empfänger | Sitz | Rolle | Was dorthin fließt |
|---|---|---|---|
| Shopify International Ltd. (für Händler im EWR), verbunden mit Shopify Inc., Kanada | Irland bzw. Kanada | Plattform, auf der Kartuu läuft — Ihr eigener Auftragsverarbeiter, nicht unserer (§ 6.4 des Auftragsverarbeitungsvertrags) | (a) Aufrufe an den Token-Endpunkt Ihres Shops mit unserer App-Kennung, unserem App-Geheimnis und dem Session- bzw. Refresh-Token. (b) Aufrufe an die Admin-API Ihres Shops mit dem Access Token — fünfundzwanzig verschiedene: die Abfrage des Abonnementstands; die Abfrage des Shopnamens; die Abfrage der Ablauffrist, die Sie in Shopify für Geschenkgutscheine eingestellt haben; das Anlegen einer Geschenkkarte, bei dem Gutscheincode, Nennwert samt Währung des Kaufs, gegebenenfalls das Ablaufdatum und eine Notiz ohne Personendaten übertragen werden — nicht die Kundennummer der kaufenden Person; das Entwerten einer Geschenkkarte beim Storno, bei dem allein deren Kennung übertragen wird; die Abfrage des Guthabenstands einer Karte — beim Export unter „Export“ aller Wertgutscheine Ihres Shops; die Abfrage der Lage der Bestellung und das Erfüllen der Bestellung beim Freigeben, mit Bestell- und Positionskennungen samt Stückzahlen; die Abfrage des Storno- und Zahlungsstands einer Bestellung unmittelbar vor dem Ausstellen eines Gutscheins, mit der Bestellkennung; rund um Ihre Gutscheinprodukte zehn weitere — nachsehen, ob es den Produkt-Handle schon gibt, ob eine hinterlegte Produktkennung noch existiert, Titel, Status und Hauptbild eines Gutscheinprodukts für die Liste im Adminbereich samt der Angabe, ob beim Verkauf Steuer erhoben wird, das Lesen der Variantenkennungen und das Umstellen der Steuerpflicht beim Verkauf auf Ihren Knopfdruck, das Anlegen des Gutscheinprodukts und das Nachziehen der Bestandsfelder einer Variante, für einen Wertgutschein das Lesen seiner Varianten und der Preislisten Ihrer Märkte, das Setzen fester Preise darin und das Umbenennen seiner Auswahlwerte —, ohne Personendaten; und rund um dessen Produktbild noch einmal vier — ein Upload-Ziel anfordern, das Anhängen des Produktbilds, den Medienstand abfragen und überzählige Bilder Abhängen; dazu die Abfrage der Kennung der App-Installation und das Setzen des Versandmerkers an ihr — allein ein Ja oder Nein, ob Sie einen E-Mail-Versand eingerichtet haben, damit der Kartuu-Block im Shop Empfängeradresse und Wunschtermin nur dann abfragt. (c) Das Übertragen des Produktbilds an den Speicherort, den Shopify dafür benennt: ein PNG der ganzen Gutscheinkarte mit erfundenen Beispielangaben (Beispielname, Beispielbetrag, ein mit „MUSTER“ beginnender Code, Beispielgruß), mit Anzeigenamen, Logo und Motiv Ihres Shops — keine Angaben einer echten Person und kein gültiger Code. (d) Webhooks von Shopify an uns, darunter orders/paid mit dem Inhalt einer bezahlten Bestellung. (e) Die App-Bridge-Bibliothek, die Ihr Browser lädt (5.4). Kundendatenfelder fragt Kartuu über die Admin-API nicht ab |
| IONOS SE | Montabaur, Deutschland; Rechenzentrum Berlin | Hosting: virtueller Server mit Anwendung und Datenbank | alle in den Abschnitten 5 und 6 genannten Daten. Kein Drittlandbezug |
| IONOS Cloud GmbH (Objektspeicher) | Montabaur, Deutschland; Rechenzentrum Berlin | Ablage der täglichen, verschlüsselten Datenbanksicherungen | die vollständige Datenbanksicherung (9.6). Kein Drittlandbezug |
| Der Mailserver des Händlers, also der, den Sie hinterlegen (nur wenn Sie einen E-Mail-Versand eingerichtet haben) | wo Ihr Mailanbieter ihn betreibt | Ihr eigener Mailzugang — Ihr Auftragsverarbeiter, nicht unserer | die Anmeldung mit Benutzername und Passwort, die Sie hinterlegt haben. Beim Versand eines Gutscheins die Mail an die beschenkte Person: deren E-Mail-Adresse, Empfänger- und Absendername, der Shopname, der Abruflink samt Gültigkeitsdatum und der Gutschein als PDF mit Grußtext, Betrag und Gutscheincode. Auf Ihren Klick eine Testmail an Ihre Antwortadresse. Höchstens einmal täglich der Hinweis an Ihre Kontaktadresse (5.3). Der Mailserver liefert die Mails weiter aus |
| INWX GmbH | Berlin, Deutschland; Mailserver in Berlin | Anbieter unserer geschäftlichen Postfächer unter kyth.systems |
Mails, die Sie uns schreiben. Die Meldung über einen eingelösten Aktionscode (5.3): Shop-Domain, Code, Zeitpunkt, Tarifstand und ob Kartuu installiert ist. Keine Daten Ihrer Kundschaft. Kein Drittlandbezug |
| GitHub, Inc. | San Francisco, USA | privates Quellcode-Repository | keine Händler- oder Kundendaten, nur Quelltext |
Die hochgeladenen Bildmotive liegen auf unserem Server und nicht im Objektspeicher.
Cloudflare führt die DNS-Zone kyth.systems. Für Kartuu beantwortet Cloudflare nur,
welche IP-Adresse zu kartuu.kyth.systems gehört; der Datenverkehr zwischen Ihrem
Browser und Kartuu läuft nicht über Cloudflare. Cloudflare ist für Kartuu deshalb kein
Auftragsverarbeiter.
Ihr Mailanbieter ist Ihr eigener Auftragsverarbeiter: Kartuu liefert Gutscheinmails lediglich über den Zugang ein, den Sie hinterlegen. Ob dabei ein Drittland berührt ist, hängt von Ihrem Mailanbieter ab und liegt außerhalb unseres Einflusses. Einen von uns beauftragten Dienst für den Versand von Gutscheinmails gibt es nicht, ebenso wenig einen Analyse-, Tag- oder Fehlererfassungsdienst. Unsere eigenen Postfächer liegen bei der INWX GmbH (oben).
Anschriften der Empfänger:
| Empfänger | Anschrift | Register |
|---|---|---|
| Shopify International Limited | The Sidings, 4th Floor, Grand Canal Quay, Dublin D02 E7K8, Irland | — |
| Shopify Inc. | 151 O'Connor Street, Ground floor, Ottawa, Ontario K2P 2L8, Kanada | — |
| IONOS SE | Elgendorfer Straße 57, 56410 Montabaur, Deutschland | AG Montabaur, HRB 24498 |
| IONOS Cloud GmbH | Elgendorfer Straße 57, 56410 Montabaur, Deutschland | AG Montabaur, HRB 31110 |
| INWX GmbH | Prinzessinnenstr. 30, 10969 Berlin, Deutschland | AG Berlin-Charlottenburg, HRB 237141 B |
8. Übermittlung in Drittländer
Server, Datenbank und Sicherungen liegen in Berlin. Ein Drittlandbezug entsteht über Shopify: Vertragspartnerin für Händler im EWR ist Shopify International Limited in Irland; der Konzern unterhält Gesellschaften unter anderem in Kanada und den USA. Wo Shopify die an den Token-Endpunkt und die Admin-API gesendeten Daten verarbeitet, können wir nicht bestimmen.
- Kanada: Für Unternehmen, die dem kanadischen Datenschutzgesetz PIPEDA unterliegen, besteht ein Angemessenheitsbeschluss der Europäischen Kommission (Entscheidung 2002/2/EG, Art. 45 DSGVO).
- USA und andere Drittländer: Shopify bezieht in sein Data Processing Addendum die
EU-Standardvertragsklauseln nach dem Durchführungsbeschluss (EU) 2021/914 ein. Das
Addendum ist unter
https://www.shopify.com/legal/dpaabrufbar; eine Kopie der Klauseln erhalten Sie auf Anfrage an datenschutz@kyth.systems. - GitHub (USA): Dorthin fließen ausschließlich Quelltexte, keine personenbezogenen Daten.
9. Speicherdauer und Löschung
9.1 Bei Deinstallation der App
Erhält Kartuu den Webhook app/uninstalled, werden sofort beide Zugangstoken
gelöscht und der Deinstallationszeitpunkt vermerkt. Die übrigen Daten bleiben zunächst
bestehen, damit verspätete Webhooks noch zugeordnet werden können und Sie bei einer
Neuinstallation innerhalb der Frist nach 9.3 nicht erneut zustimmen müssen.
9.2 Endgültige Löschung
Shopify sendet in der Regel 48 Stunden nach der Deinstallation den Webhook shop/redact.
Daraufhin löscht Kartuu zuerst Ihre hochgeladenen Bildmotive und danach in einer
einzigen Transaktion alle Daten Ihres Shops aus der Datenbank, einschließlich aller
Gutscheindatensätze.
Mit den Daten verschwindet auch die Abrufseite der Gutscheine. Ein bereits zugestelltes PDF bleibt beim Empfänger; die Geschenkkarte im Shop des Händlers bleibt gültig.
Einzelne hochgeladene Bilder können Sie in der App nicht löschen; sie bleiben bestehen, solange Ihr Shop besteht. Auf Anfrage an datenschutz@kyth.systems entfernen wir ein bestimmtes Motiv und bestätigen das.
9.3 Wenn der Löschwebhook ausbleibt
Bleibt shop/redact aus, löscht ein täglicher Aufräumlauf alle Daten des Shops 30 Tage
nach der Deinstallation auf demselben Weg wie in 9.2, einschließlich der Bildmotive.
Wurde ein Shop-Datensatz angelegt, ohne dass die Verbindung zustande kam (kein Zugangs- und kein Erneuerungstoken hinterlegt), löscht derselbe Lauf ihn nach 90 Tagen.
9.4 Webhook-Kennungen: 30 Tage
Die Webhook-Kennungen des Duplikatschutzes sind technische Kennungen ohne Personenbezug. Der Aufräumlauf entfernt sie 30 Tage nach Abschluss der Verarbeitung.
9.5 Löschung einzelner Personen
Über customers/redact oder auf Verlangen werden die personenbezogenen Angaben einer
Person in den Gutscheindatensätzen gelöscht; der Gutschein selbst bleibt (6.2).
9.5a Gutscheindaten nach Zweckfortfall
Die personenbezogenen Angaben eines Gutscheins — Empfängername und -adresse, Absendername, Grußtext, die Angaben der kaufenden Person und ihre Kundennummer — werden drei Jahre nach dem Anlegen des Gutscheins gelöscht. Der Gutschein selbst bleibt mit Code, Zustand, Wert und Vorlagenabbild bestehen. Maßgeblich ist die regelmäßige Verjährung des Anspruchs aus dem Gutschein (§ 195 BGB). Der Abruflink gilt höchstens ebenso lange.
9.6 Sicherungen
Die Datenbank wird täglich gesichert. Jede Sicherung wird mit AES-256 verschlüsselt, bevor sie den Server verlässt, auf dem Server und im Objektspeicher der IONOS in Berlin abgelegt und über TLS übertragen. Das Kennwort liegt nicht im Objektspeicher. Die besonders schutzbedürftigen Felder (Zugangstoken, Kontaktadressen, Kundendaten) sind innerhalb der Sicherung zusätzlich einzeln verschlüsselt; dieser Schlüssel liegt weder in der Sicherung noch im Objektspeicher, sondern allein in der Umgebung der Anwendung auf dem Server.
| Ablageort | Aufbewahrung |
|---|---|
| auf dem Server | 30 Tage |
| im Objektspeicher bei IONOS | 95 Tage, davon die ersten 90 Tage unlöschbar |
Dass sich eine Sicherung wieder einspielen lässt, ist durch eine tatsächliche Wiederherstellung geprüft. Ein täglicher Prüflauf meldet ausgebliebene Sicherungen.
Hochgeladene Bildmotive sind nicht Teil der Sicherung. Gehen sie verloren, fehlen die Motive; alle übrigen Daten bleiben davon unberührt.
Wirkung auf Löschungen: Gelöschte Daten sind in bereits erstellten Sicherungen noch enthalten und verschwinden dort mit Ablauf der Fristen oben — spätestens nach 30 Tagen auf dem Server und nach 95 Tagen im Objektspeicher. Solange sie dort liegen, werden sie ausschließlich zur Wiederherstellung im Störungsfall verwendet.
9.7 Anwendungsprotokolle: 14 Tage
Anwendungs- und Containerprotokolle werden 14 Tage aufbewahrt und danach gelöscht. Ihr Inhalt ist in 5.1 beschrieben.
9.8 Der vorgelagerte Proxy
Dem Anwendungscontainer ist ein Reverse-Proxy vorgelagert, der auf demselben Server in
Berlin läuft. Seine Zugriffsprotokollierung ist ausgeschaltet; er speichert keine
IP-Adressen, keine Browserkennungen und keine Abfrageparameter. Allein für die
Abrufseite der Gutscheine (Adressen unter /gutschein) zählt er die Anfragen je
IP-Adresse, um massenhafte Abrufe zu bremsen: Die Adresse steht dafür nur im
Arbeitsspeicher und wird zwei Sekunden nach ihrer letzten Anfrage verworfen, ohne
protokolliert oder auf einen Datenträger geschrieben zu werden. Sein eigenes
Betriebsprotokoll enthält nur Startmeldungen und Zertifikatsfehler mit Domainnamen,
keine Angaben zu Besucherinnen und Besuchern. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f
DSGVO — berechtigtes Interesse am sicheren Betrieb.
10. Ihre Rechte
10.1 Wenn Sie Händlerin oder Händler sind
Ihnen stehen uns gegenüber folgende Rechte zu:
- Auskunft (Art. 15 DSGVO)
- Berichtigung (Art. 16 DSGVO)
- Löschung (Art. 17 DSGVO)
- Einschränkung der Verarbeitung (Art. 18 DSGVO)
- Datenübertragbarkeit (Art. 20 DSGVO)
- Widerspruch (Art. 21 DSGVO) gegen Verarbeitungen, die wir auf ein berechtigtes Interesse stützen (in 5.1 als Art. 6 Abs. 1 lit. f gekennzeichnet)
Schreiben Sie dafür an datenschutz@kyth.systems. Wir antworten unentgeltlich und innerhalb eines Monats (Art. 12 Abs. 3 DSGVO). Der schnellste Weg zur vollständigen Löschung ist die Deinstallation der App (9.2).
10.2 Wenn Sie in einem Shop eingekauft haben oder beschenkt worden sind
Wenden Sie sich bitte an den Shop, bei dem bestellt wurde. Der Shop ist für Ihre Daten verantwortlich; wir handeln nur in seinem Auftrag.
- Fordert der Shop über Shopify eine Auskunft an, stellt Kartuu die gespeicherten Daten zusammen (6.4) und gibt sie dem Shop auf Anforderung an datenschutz@kyth.systems heraus. Die Antwort an Sie gibt der Shop.
- Fordert der Shop eine Löschung an, anonymisiert Kartuu die betroffenen Datensätze (6.2).
- Wird die App deinstalliert, löscht Kartuu sämtliche Daten dieses Shops (9.2).
Wenn Sie beschenkt worden sind: Shopify kennt Sie als beschenkte Person in der Regel nicht (6.4). Schreiben Sie an datenschutz@kyth.systems; wir leiten Ihr Anliegen an den Shop weiter und führen eine Löschung auf seine Weisung aus.
Erreichen Sie den Shop nicht, können Sie sich ebenfalls an datenschutz@kyth.systems wenden. Wir leiten Ihr Anliegen an den Shop weiter und informieren Sie darüber. Inhaltlich entscheidet der Shop über Ihre Daten.
10.3 Beschwerde bei der Aufsichtsbehörde
Sie können sich jederzeit bei einer Datenschutz-Aufsichtsbehörde beschweren (Art. 77 DSGVO), insbesondere in dem Mitgliedstaat Ihres Aufenthaltsorts, Ihres Arbeitsplatzes oder des mutmaßlichen Verstoßes. Für uns zuständig ist:
Bayerisches Landesamt für Datenschutzaufsicht (BayLDA)
Promenade 27, 91522 Ansbach
poststelle@lda.bayern.de
10.4 Keine automatisierte Entscheidungsfindung
Eine automatisierte Entscheidungsfindung einschließlich Profiling im Sinne von Art. 22 DSGVO findet nicht statt.
11. Technische und organisatorische Maßnahmen
Kurz zusammengefasst: Zugangstoken und Kundendaten liegen nur verschlüsselt in der Datenbank, die Daten verschiedener Shops sind voneinander getrennt, eingehende Nachrichten werden auf Echtheit geprüft, und Zugangsdaten gelangen nicht in Protokolle. Eine Zertifizierung nach Art. 42 DSGVO oder nach ISO besteht nicht. Die vollständige Beschreibung steht in Anlage 2 des Auftragsverarbeitungsvertrages.
11.1 Vertraulichkeit
- Verschlüsselung gespeicherter Daten (AES-256-GCM): Access- und Refresh-Token, Kontaktadressen, Benutzername und Passwort des Mailzugangs sowie Gutscheincode, Abruf-Token, Namen, E-Mail-Adressen und Grußtext. Ohne gültigen Schlüssel startet die Anwendung nicht.
- Mandantentrennung in der Datenbank: Jede Tabelle mit Shop-Bezug ist durch Zeilenfilterung (Row-Level-Security) gegen Zugriffe auf fremde Shops geschützt; die Shop-Tabelle selbst ist über die Anwendung und spaltenweise Rechte abgesichert.
- Beschränkte Rechte: Die Anwendung nutzt ein Datenbankkonto, das die Zeilenfilterung nicht umgehen kann, und darf nur die Spalten schreiben, die sie tatsächlich schreiben muss. Das Zugriffsprotokoll lässt sich nachträglich nicht verändern.
- Mandantentrennung in der Bildablage: Der Schlüssel jedes Bildes beginnt mit der Kennung seines Shops. Ausgeliefert wird ein Bild entweder nach Prüfung der Sitzung im Adminbereich oder über eine signierte, nach ein bis zwei Stunden ungültige Adresse, die an genau diesen Shop gebunden ist (5.1).
- Getrennte Test- und Produktivumgebung mit eigener Datenbank, eigenem Schlüssel und eigener Shopify-App.
- Zugriff auf die Produktivumgebung haben ausschließlich die beiden Geschäftsführer. Zweitkopien der Schlüssel werden getrennt und außerhalb des Servers verwahrt.
11.2 Integrität
- Signaturprüfung jedes eingehenden Webhooks (HMAC-SHA256) und strenge Prüfung des Session-Tokens, bevor etwas verarbeitet wird.
- Sicherheitskopfzeilen für die eingebettete Oberfläche (Content-Security-Policy,
X-Content-Type-Options, restriktive Referrer-Richtlinie). - Schutz vor SQL-Injektion durch parametrisierte Abfragen.
- Begrenzte Anfragegrößen und Ratenbegrenzung je Shop für Vorschau, PDF und Bildupload.
- Geprüfte Eingaben: Alles, was im Gutschein-Editor eingegeben wird, wird serverseitig gegen feste Erlaubnislisten und Grenzen geprüft.
- Geprüfte Bilder: Angenommen werden nur JPEG, PNG, WebP und SVG; das Format wird am Inhalt erkannt. Die Größe ist auf 5 Mebibyte und 12 Millionen Bildpunkte begrenzt, und ein SVG wird um alles Ausführbare bereinigt. Bilder über 2000 Pixel werden heruntergerechnet, und aus jedem Bild werden die Aufnahmedaten entfernt (5.1).
- Zuverlässiger Bestellablauf: Eine wiederholt zugestellte Bestellung erzeugt keine zweiten Gutscheine, und je bezahltem Wertgutschein entsteht genau eine Geschenkkarte.
- Keine Geheimnisse im Quellcode-Repository. Vor jeder Übernahme in die Versionsverwaltung prüft ein Git-Haken (gitleaks) die Änderungen darauf.
11.3 Verfügbarkeit
- Tägliche, verschlüsselte Datenbanksicherung auf dem Server und im Objektspeicher in Berlin mit geprüfter Wiederherstellung und täglicher Überwachung (9.6).
- Eine Überwachung der Erreichbarkeit von außerhalb des Servers ist derzeit nicht eingerichtet.
11.4 Umgang mit Vorfällen
Es besteht ein Verfahren für Datenschutzvorfälle mit Eskalationsstufen, der 72-Stunden-Meldefrist nach Art. 33 DSGVO, der zuständigen Aufsichtsbehörde und einem Hinweis auf die Informationspflicht gegenüber Beschenkten nach Art. 14 DSGVO.
12. Änderungen dieser Erklärung
Ändert sich der Umfang der Verarbeitung, ändern wir diese Erklärung vorher und vergeben
eine neue Kennung. Sie werden beim nächsten Öffnen der App erneut um Zustimmung gebeten.
Die jeweils geltende Fassung steht unter
https://kartuu.kyth.systems/rechtliches/datenschutz.
Verarbeitung zu einem anderen Zweck. Beabsichtigen wir, Ihre Daten zu einem anderen als dem ursprünglich erhobenen Zweck zu verarbeiten, informieren wir Sie vorab in Textform an Ihre Kontaktadresse über diesen Zweck und alle weiteren Angaben nach Art. 13 Abs. 2 DSGVO (Art. 13 Abs. 3 DSGVO).