Sicherheit

Sicherheit

Seite kopieren

Sicherheit von Workflow Webhooks für Shopify Flow: Hosting in der EU, Verschlüsselung und Isolierung Ihrer Webhooks und Geheimnisse sowie regelmäßige Updates.

Workflow Webhooks wird von Code Creation Labs entwickelt und betrieben. Auf dieser Seite erfahren Sie, wie die App aufgebaut ist, wo sie ausgeführt wird, wie die Daten Ihres Shops geschützt werden und wie wir alles auf dem neuesten Stand halten. Diese Informationen richten sich an Shop-Betreiber sowie an alle Personen, die einen Sicherheitsfragebogen ausfüllen. Die rechtlichen Aspekte (Datenschutzerklärung, Datenverarbeitungsvereinbarung, Unterauftragsverarbeiter) finden Sie unter Rechtliche Hinweise und Datenschutz.

Auf welcher Grundlage die App basiert

Ebene Was wir verwenden
Anwendungscode TypeScript auf Node.js, einer aktuellen Version mit langfristigem Support. Die Admin-Seiten, die Endpunkte, die Ihre Webhooks empfangen, und die Worker, die diese an Shopify Flow weiterleiten, basieren auf einer einzigen Codebasis.
Datenbank und Cache PostgreSQL (Google Cloud SQL) und Redis (Google Cloud Memorystore)
Warteschlange Ein eingehender Anruf wird angenommen, in Google Cloud Pub/Sub in die Warteschlange gestellt und von einem separaten Worker verarbeitet, sodass auch bei einem Anrufansturm oder einer verzögerten Antwort von Shopify keine Zustellung verloren geht.
Hosting Container auf Google Kubernetes Engine in der Google Cloud-Region „europe-west1“ (Belgien, Europäische Union). Datenbanken, Caches und Warteschlangen befinden sich innerhalb dieser Region.
Shopify-Integration Die offiziellen App-Bibliotheken von Shopify, die Trigger und Aktionen von Shopify Flow sowie die Webhooks von Shopify
Ihr Storefront In Ihrem Theme wird nichts ausgeführt. Die optionale App-Proxy-URL für Browser-Aufrufe (siehe CORS, die Proxy-URL der App und Browser-Aufrufe) wird von Shopify auf Ihrer eigenen Domain bereitgestellt und mit der Signatur von Shopify verifiziert.

Der Dienst enthält keinerlei PHP, WordPress, Java oder andere Laufzeitumgebungen. Die App ist im Shopify Shop gelistet und hat die App-Prüfung von Shopify bestanden, die die Anforderungen von Shopify hinsichtlich Sicherheit und Schutz von Kundendaten abdeckt.

Wie Ihre Daten geschützt werden

Während der Übertragung. Jede Verbindung zwischen Ihrem Browser, Shopify, den Systemen, die Ihre Webhooks aufrufen, und der App erfolgt über TLS. Die Datenbank, der Cache und die Warteschlange haben keine öffentliche Adresse: Sie sind ausschließlich von innerhalb unseres privaten Netzwerks erreichbar.

Im Ruhezustand. Alle Datenbanken und Speichermedien werden im Ruhezustand mit Schlüsseln verschlüsselt, die wir in Google Cloud KMS verwalten.

Zusätzliche Verschlüsselung auf Feldebene. Die sensibelsten Werte erhalten eine zweite Schutzebene: das Shopify-Zugriffstoken Ihres Shops, das Authentifizierungsgeheimnis jedes Webhooks sowie jedes Geheimnis, das Sie für Transformationsfunktionen speichern. Jeder Wert wird einzeln mit AES-256-GCM unter einem separaten Schlüssel in Cloud KMS verschlüsselt, wobei eine automatische Schlüsselrotation erfolgt, und erst im Speicher entschlüsselt, wenn er benötigt wird. Geheimnisse werden niemals in Protokolle geschrieben und niemals von der Entwickler-API oder an Sidekick zurückgegeben.

Geheimnisse. Die API-Anmeldedaten und -Schlüssel des Dienstes selbst werden im Google Secret Manager gespeichert und beim Start des Dienstes geladen. Sie befinden sich weder im Code noch in den Container-Images noch in der Build-Pipeline.

Datenminimierung. Die App fordert bei der Installation keinen Zugriff auf die Daten Ihres Shops an: Für den Start eines Shopify Flow-Workflows sind keine Berechtigungen erforderlich, und die App liest niemals eigenständig Produkt-, Bestell- oder Kundendaten aus. Eine Übertragung enthält genau den Payload, der vom aufrufenden System gesendet wurde.

Wer hat Zugriff auf welche Daten?

  • Ausschließlich Ihr Shop. Jeder Datensatz enthält den Shop, zu dem er gehört, und jede Abfrage ist auf den Shop beschränkt, der authentifiziert wurde. Ein Shop kann niemals die Webhooks oder Zustellungen eines anderen Shops lesen oder ändern, und eine synchrone Antwort ist an den Shop gebunden, der sie angefordert hat.
  • Nur verifizierte Anfragen. Seiten innerhalb des Shopify-Adminbereichs werden anhand von Shopify-Sitzungstoken authentifiziert. Shopify Flow-Callbacks und Shopify-eigene Webhooks werden anhand der HMAC-Signatur von Shopify überprüft, interne Nachrichten hingegen anhand von durch Google signierten Identitäten, bevor Daten verarbeitet werden.
  • Ihre Webhooks, Ihre Regeln. Jede Webhook-URL ist nicht erratbar, und Sie legen fest, wie sich Aufrufer authentifizieren müssen: über ein statisches Token, eine HMAC-Signatur über den Body oder gar keine Authentifizierung für Quellen, die keine Signatur erstellen können. Ein optionales IP-Zulassungslisten schränkt Aufrufer zusätzlich ein; die Adresse des Aufrufers wird aus der Netzwerkverbindung und nicht aus einem Header entnommen, sodass sie nicht gefälscht werden kann. Doppelte Zustellungen werden erkannt und nur einmal verarbeitet. Siehe Authentifizierung.
  • Transformationsfunktionen. Das von Ihnen für Transformationsfunktionen geschriebene JavaScript wird in einer isolierten Sandbox mit Zeit- und Speicherbeschränkungen ausgeführt, und zwar auf einer Infrastruktur, die von den Servern der App getrennt ist. Es hat zu keinem Zeitpunkt Zugriff auf die Anmeldedaten der App oder Ihr Shopify-Zugriffstoken, und seine ausgehenden Anfragen werden vor dem Verbindungsaufbau anhand privater Netzwerkbereiche überprüft.
  • Ausgehende Anfragen. URLs, die die App in Ihrem Namen aufruft - sowohl für Planmäßige URL-Abfrage als auch für Aufruf eines Webhooks aus Shopify Flow heraus - werden vor dem Verbindungsaufbau überprüft: Loopback-, Link-Local-, Cloud-Metadaten- und private Netzwerkadressen werden abgelehnt, auch im Falle einer Weiterleitung.
  • Unser Team. Der Zugriff auf die Produktionssysteme erfolgt ausschließlich über Google Cloud IAM mit individuellen Konten. Interne Wartungstools sind nicht mit dem Internet verbunden.

Wie wir die App auf dem neuesten Stand halten

  • Jede Änderung wird vor der Auslieferung überprüft. Die Pipeline führt Typüberprüfungen und Linting, statische Anwendungssicherheitstests (SAST), die Erkennung vertraulicher Daten, die Überprüfung von Abhängigkeiten auf Schwachstellen sowie die Überprüfung von Container-Images durch. Unser Release-Kriterium lautet: keine bekannten Schwachstellen in den Abhängigkeiten und im Image.
  • Laufzeitumgebung und Betriebssystem. Das Container-Image - Node.js auf Basis von Alpine Linux - wird mit jeder neuen Version neu erstellt, sodass Patches für die Laufzeitumgebung und das Betriebssystem kontinuierlich bereitgestellt werden. Die verwaltete Kubernetes-Plattform sorgt dafür, dass die zugrunde liegenden Knoten stets auf dem neuesten Stand sind.
  • Shopify-Plattform. Wir verfolgen die API-Versionen von Shopify sowie die Sicherheitshinweise für die App-Bibliotheken von Shopify und führen Aktualisierungen umgehend durch. Die App läuft auf einer aktuellen Version der Admin-API.
  • Sicherheitsüberprüfungen. Wir führen in regelmäßigen Abständen eine umfassende interne Überprüfung aller Routen, Datenpfade und Datenbankabfragen durch, zuletzt im Oktober 2026.
  • Überwachung. Die Verfügbarkeit wird rund um die Uhr überwacht und auf unserer Statusseite veröffentlicht; bei Fehlern werden wir benachrichtigt. Betriebsprotokolle werden höchstens 30 Tage lang aufbewahrt und enthalten niemals Tokens oder Geheimdaten.

Aufbewahrung und Löschung

  • Der Versandverlauf bleibt so lange erhalten, wie die App installiert ist, sodass Sie Anrufe einsehen und erneut abspielen können; außerdem können Sie Einträge jederzeit löschen. Kopfzeilen, die Anmeldedaten enthalten könnten, werden vor der Speicherung einer Nachricht maskiert.
  • Wenn Sie die App deinstallieren, wird deren Zugriff auf Ihren Shop sofort gelöscht. Die „shop/redact“-Anfrage von Shopify, die 48 Stunden nach der Deinstallation erfolgt, löscht die verbleibenden Daten des Shops, einschließlich aller von Ihren Transformationsfunktionen gespeicherten Daten.
  • Shopify
  • Unterauftragsverarbeiter und der vollständige Aufbewahrungsplan sind in der privacypolicy aufgeführt. Eine unterzeichnete Datenverarbeitungsvereinbarung kann unter [workflow-webhooks.app/dpaxml-ph-0004 angefordert werden.

Ein Sicherheitsproblem melden

Falls Sie glauben, eine Sicherheitslücke entdeckt zu haben, oder wenn Sie einen Sicherheitsfragebogen ausfüllen lassen möchten, senden Sie bitte eine E-Mail an support@codecreationlabs.com. Sicherheitsmeldungen werden vorrangig bearbeitet und beantwortet.