Beveiliging

Beveiliging

Pagina kopiëren

Beveiliging van Workflow Transactional Email voor Shopify Flow: techniek, EU-hosting, versleuteling van uw winkelgegevens en updates.

Workflow Transactional Email wordt ontwikkeld en beheerd door Code Creation Labs. Op deze pagina wordt uitgelegd waaruit de app bestaat, waar deze draait, hoe de gegevens van uw winkel worden beschermd en hoe wij alles up-to-date houden. Deze pagina is bedoeld voor winkeleigenaren en voor iedereen die een beveiligingsvragenlijst invult. Wat de app opslaat en hoe lang dit wordt bewaard, staat vermeld op Gegevens, privacy en beveiliging; de juridische aspecten (privacybeleid, gegevensverwerkingsovereenkomst, subverwerkers) vindt u op Juridische informatie en gegevensbescherming.

Waarop de app is gebaseerd

Laag Wat wij gebruiken
Toepassingscode TypeScript op Node.js, een huidige release met langdurige support. De beheerpagina’s, de lay-outeditor en de services die uw Shopify Flow-stappen uitvoeren, zijn gebaseerd op één codebasis.
Database en cache PostgreSQL (Google Cloud SQL) en Redis (Google Cloud Memorystore)
Hosting Containers op Google Kubernetes Engine in de Google Cloud-regio europe-west1 (België, Europese Unie). Databases, caches, bestandsopslag en applicatielogboeken bevinden zich binnen deze regio.
Shopify-integratie De officiële app-bibliotheken van Shopify, Shopify Flow-acties, de Admin GraphQL API voor de optionele machtigingen en de webhooks van Shopify
E-mailverzending De e-mailaccount die u koppelt: uw eigen SMTP-server, Microsoft 365 of Google Workspace. De waarschuwingsmails die de app zelf naar u verstuurt, verlopen via Amazon SES in Frankfurt.
Uw webshop Er wordt niets weergegeven in uw thema of tijdens de checkout.

Er wordt nergens in de dienst gebruikgemaakt van PHP, WordPress, Java of andere runtime-omgevingen. De app staat vermeld in de Shopify App Store en heeft de app-beoordeling van Shopify doorstaan, waarbij wordt getoetst of de app voldoet aan de vereisten van Shopify op het gebied van beveiliging en de bescherming van klantgegevens.

Hoe uw gegevens worden beschermd

Tijdens de overdracht. Elke verbinding tussen uw browser, Shopify, uw e-mailprovider en de app maakt gebruik van TLS. De database en de cache hebben geen openbaar adres: ze zijn uitsluitend bereikbaar vanuit ons interne netwerk.

In rust. Alle databases en bestandsopslag worden in rust versleuteld met sleutels die wij beheren in Google Cloud KMS.

Daarnaast wordt er versleuteling op veldniveau toegepast. Alles wat zou kunnen worden gebruikt om gegevens te verzenden, krijgt een tweede beveiligingslaag: SMTP-gebruikersnamen en -wachtwoorden, Microsoft 365- en Google OAuth-tokens, de geheimen die u opslaat, het Shopify-toegangstoken van uw winkel en de adressen op uw afmeldlijst. Elke waarde wordt afzonderlijk versleuteld met AES-256-GCM onder een aparte sleutel in Cloud KMS, met automatische sleutelrotatie, en wordt uitsluitend in het geheugen ontsleuteld op het moment dat een actie wordt uitgevoerd. Elke ontsleuteling van een beveiligde waarde wordt vastgelegd in een intern toegangslogboek. Geheime waarden worden uit de actiegeschiedenis verwijderd voordat deze wordt opgeslagen en worden nooit teruggestuurd via de Developer API of naar Sidekick.

Geheimen. De API-inloggegevens en -sleutels van de dienst zelf worden bewaard in Google Secret Manager en worden geladen wanneer de dienst wordt gestart. Ze staan niet in de code, niet in de containerimages en niet in de build-pijplijn.

Gegevensminimalisatie. De app wordt geïnstalleerd zonder toegang tot de gegevens van uw winkel. Klantgegevens worden alleen via e-mail verzonden omdat u deze vanuit Shopify Flow doorgeeft. De vier optionele machtigingen (het lezen van het metaveldbestand van één bestelling of klant, het aanmaken van een unieke kortingscode) worden ter plekke gevraagd, verleend via het eigen dialoogvenster van Shopify en kunnen te allen tijde worden ingetrokken. Zie Toestemmingen: welke gegevens de app uit uw winkel mag lezen.

Wie heeft toegang tot wat?

  • Uw winkel uitsluitend. Elk record bevat de winkel waartoe het behoort, en elke zoekopdracht is beperkt tot de winkel waarmee men is geauthenticeerd. De ene winkel kan nooit de lay-outs, afzenders, geheimen of geschiedenis van een andere winkel lezen of wijzigen.
  • Alleen geverifieerde verzoeken. Pagina’s binnen de Shopify-beheerdersomgeving worden geauthenticeerd met Shopify-sessietokens. Flow-stappen en de eigen webhooks van Shopify worden geverifieerd aan de hand van de HMAC-handtekening van Shopify voordat er gegevens worden verwerkt, en een Flow-stap die tweemaal wordt verzonden, wordt slechts één keer uitgevoerd.
  • Weergegeven inhoud. Lay-outs worden op onze servers weergegeven en het resultaat wordt vóór verzending opgeschoond: scripts, gebeurtenishandlers, javascript:-URL’s, iframes en formulierelementen worden verwijderd, zodat een waarde die vanuit Shopify Flow wordt doorgegeven, niet kan worden omgezet in actieve inhoud in de inbox van een ontvanger.
  • Uitgaande verzoeken. URL’s waarmee de app namens u verbinding maakt - voor de actie HTTP Request, voor bijlagen die via een URL worden opgehaald en voor bestanden waarnaar vanuit een metaveld wordt verwezen - worden gecontroleerd voordat er verbinding wordt gemaakt: loopback-, link-local-, cloudmetadata- en privé-netwerkadressen worden geweigerd, ook via een omleiding. Het aantal omleidingen is beperkt en de grootte van de antwoorden is beperkt.
  • Ons team. Toegang tot de productiesystemen is uitsluitend mogelijk via Google Cloud IAM met individuele accounts. Interne onderhoudstools zijn niet toegankelijk via het internet.

Hoe wij de app up-to-date houden

  • Elke wijziging wordt gescand voordat deze kan worden uitgebracht. De pijplijn voert typecontroles en linting uit, evenals statische applicatiebeveiligingstests (SAST), detectie van vertrouwelijke gegevens, het scannen op kwetsbaarheden in afhankelijkheden en het scannen van containerimages. Onze release-norm is dat er geen bekende kwetsbaarheden mogen voorkomen in de afhankelijkheden en in de image.
  • Runtime en besturingssysteem. De containerimage, Node.js op basis van Alpine Linux, wordt bij elke release opnieuw gebouwd, waardoor er voortdurend patches voor de runtime en het besturingssysteem worden geleverd. Het beheerde Kubernetes-platform zorgt ervoor dat de onderliggende knooppunten up-to-date blijven.
  • Het Shopify-platform. Wij volgen de API-versies van Shopify en de beveiligingsadviezen voor de app-bibliotheken van Shopify op de voet en voeren updates onmiddellijk door. De app draait op een actuele versie van de Admin API.
  • Beveiligingscontroles. Wij voeren met regelmatige tussenpozen een volledige interne controle uit van elke route, elk gegevenspad en elke databasequery; de meest recente controle vond plaats in oktober 2026.
  • Monitoring. De beschikbaarheid wordt 24 uur per dag gemonitord en gepubliceerd op onze statuspagina; bij fouten ontvangen wij een melding. Operationele logbestanden worden opgeslagen in dezelfde EU-regio, worden maximaal 30 dagen bewaard en bevatten nooit inloggegevens of vertrouwelijke informatie.

Bewaring en verwijdering

  • De actiegeschiedenis, waarin wordt bijgehouden wat er is verzonden en die derhalve klantgegevens bevat, wordt na 30 dagen automatisch verwijderd.
  • Bij het verwijderen wordt alles onmiddellijk en onherroepelijk gewist: lay-outs, afzenders, vertrouwelijke gegevens, de geschiedenis, de lijst met afgemelde gebruikers en geüploade bestanden.
  • De verplichte privacyverzoeken van Shopify (klanten/data_request, klanten/redact en shop/redact) worden automatisch afgehandeld binnen de door Shopify vastgestelde termijnen, met inbegrip van de opname van een klant in de afmeldlijst.
  • De volledige overzichtstabel van de opgeslagen gegevens vindt u op Gegevens, privacy en beveiliging. De subverwerkers en het bewaartermijnschema staan vermeld in het privacypolicy. Een ondertekende gegevensverwerkingsovereenkomst kunt u opvragen via workflow-transactional-email.app/dpa.

Een beveiligingsprobleem melden

Indien u denkt een kwetsbaarheid te hebben ontdekt, of indien u een beveiligingsvragenlijst wilt laten invullen, kunt u een e-mail sturen naar support@codecreationlabs.com. Beveiligingsrapporten worden met voorrang behandeld en beantwoord.