Sikkerhed

Sikkerhed

Kopier side

Sikkerhed i Workflow Transactional Email til Shopify Flow: hosting i EU, kryptering af e-mail-loginoplysninger og butiksdata samt løbende opdateringer.

Workflow Transactional Email er udviklet og drives af Code Creation Labs. Denne side forklarer, hvad appen består af, hvor den kører, hvordan din butiks data beskyttes, og hvordan vi holder alt opdateret. Den er skrevet til butiksejere og til alle, der udfylder et sikkerhedsspørgeskema. Hvad appen gemmer, og hvor længe dataene opbevares, fremgår af Data, privatliv og sikkerhed; de juridiske aspekter (privatlivspolitik, databehandlingsaftale, underdatabehandlere) findes på Juridiske oplysninger og databeskyttelse.

Hvad appen er baseret på

Lag Hvad vi bruger
Applikationskode TypeScript på Node.js, en aktuel udgave med langvarig support. Administrationssiderne, layouteditoren og de tjenester, der kører dine Shopify Flow-trin, er baseret på én og samme kodebase.
Database og cache PostgreSQL (Google Cloud SQL) og Redis (Google Cloud Memorystore)
Hosting Containere på Google Kubernetes Engine i Google Cloud-regionen europe-west1 (Belgien, Den Europæiske Union). Databaser, cacher, fillagring og applikationslogfiler er placeret lokalt i regionen.
Shopify-integration Shopify officielle app-biblioteker, Shopify Flow-handlinger, Admin GraphQL API’et til de valgfri tilladelser og Shopify-webhooks
Levering af e-mails Den e-mailkonto, du tilslutter: din egen SMTP-server, Microsoft 365 eller Google Workspace. Appens egne advarsels-e-mails til dig sendes via Amazon SES i Frankfurt.
Din webshop Der kører intet i dit tema eller i din checkout.

Der er ingen PHP, WordPress, Java eller andre kørselsmiljøer nogen steder i tjenesten. Appen er opført i Shopify App Store og har bestået Shopifys app-godkendelse, som omfatter Shopifys krav til sikkerhed og beskyttelse af kundedata.

Sådan beskyttes dine data

Under overførsel. Alle forbindelser mellem din browser, Shopify, din e-mailudbyder og appen bruger TLS. Databasen og cachen har ingen offentlig adresse: de kan kun tilgås inde fra vores private netværk.

I hvile. Alle databaser og filopbevaringsløsninger er krypteret i hvile med nøgler, som vi administrerer i Google Cloud KMS.

Derudover anvendes kryptering på feltniveau. Alt, der kan bruges til at sende data, får et ekstra lag: SMTP-brugernavne og -adgangskoder, Microsoft 365- og Google OAuth-tokens, de hemmelige oplysninger, du gemmer, din butiks Shopify-adgangstoken samt adresserne på din afmeldingsliste. Hver værdi krypteres individuelt med AES-256-GCM under en separat nøgle i Cloud KMS med automatisk nøglerotation og dekrypteres kun i hukommelsen i det øjeblik, en handling udføres. Hver dekryptering af en beskyttet værdi registreres i et internt adgangsspor. Hemmelige værdier fjernes fra handlingshistorikken, før den skrives, og returneres aldrig af Developer API eller til Sidekick.

Hemmeligheder. Tjenestens API-adgangsoplysninger og -nøgler opbevares i Google Secret Manager og indlæses, når tjenesten starter. De findes hverken i koden, i containerbillederne eller i build-pipeline.

Dataminimering. Appen installeres uden adgang til din butiks data. Kundedata sendes kun til en e-mail, fordi du videregiver dem fra Shopify Flow. De fire valgfri tilladelser (at læse en metafields fil for en ordre eller kunde, at oprette en unik rabatkode) anmodes om på stedet, gives via Shopifys egen dialogboks og kan til enhver tid tilbagekaldes. Se Tilladelser: Hvad appen har adgang til i din butik.

Hvem har adgang til hvad

  • Kun din butik. Hver post indeholder oplysninger om den butik, den tilhører, og hver forespørgsel er begrænset til den butik, der er blevet godkendt. En butik kan aldrig læse eller ændre en anden butiks layouts, afsendere, hemmeligheder eller historik.
  • Kun verificerede anmodninger. Sider i Shopify-administrationspanelet autentificeres med Shopify-sessionstokener. Flow-trin og Shopifys egne webhooks verificeres ved hjælp af Shopifys HMAC-signatur, inden der røres ved dataene, og et Flow-trin, der leveres to gange, udføres kun én gang.
  • Renderet indhold. Layoutene renderes på vores servere, og resultatet renses, inden det sendes: scripts, begivenhedshåndterere, javascript:URL’er, iframes og formularelementer fjernes, så en værdi, der overføres fra Shopify Flow, ikke kan blive til aktivt indhold i en modtagers indbakke.
  • Udgående anmodninger. URL’er, som appen opretter forbindelse til på dine vegne - i forbindelse med handlingen »HTTP Request«, ved hentning af vedhæftede filer fra en URL og ved filer, der henvises til via et metafelt - kontrolleres, inden der oprettes forbindelse: loopback-, link-local-, cloud-metadata- og private netværksadresser afvises, også hvis der sker via en omdirigering. Omdirigeringer er begrænset, og svarene er underlagt størrelsesbegrænsninger.
  • Vores team. Der er kun adgang til produktionssystemerne via Google Cloud IAM med individuelle konti. Interne vedligeholdelsesværktøjer er ikke tilgængelige via internettet.

Sådan holder vi appen opdateret

  • Hver eneste ændring gennemgås, før den kan udsendes. Processen omfatter typekontrol og linting, statisk applikationssikkerhedstest (SAST), påvisning af hemmelige oplysninger, scanning for sårbarheder i afhængigheder samt scanning af containerbilleder. Vores krav til udgivelse er, at der ikke må være nogen kendte sårbarheder i afhængighederne eller i billedet.
  • Kørselstid og operativsystem. Container-billedet, Node.js på sin Alpine Linux-base, genkompileres ved hver udgivelse, så der løbende leveres opdateringer til kørselstiden og operativsystemet. Den administrerede Kubernetes-platform sørger for, at de underliggende noder altid er opdaterede.
  • Shopify-platformen. Vi holder øje med Shopifys API-versioner og sikkerhedsmeddelelserne for Shopifys app-biblioteker og installerer opdateringer straks. Appen kører på en aktuel version af Admin API.
  • Sikkerhedskontrol. Vi gennemfører med jævne mellemrum en fuldstændig intern gennemgang af alle ruter, dataveje og databaseforespørgsler; senest i oktober 2026.
  • Overvågning. Tilgængeligheden overvåges døgnet rundt og offentliggøres på vores status-side, og vi modtager alarmer ved fejl. Driftslogfiler gemmes i samme EU-region, opbevares i højst 30 dage og indeholder aldrig adgangsoplysninger eller fortrolige oplysninger.

Opbevaring og sletning

  • Handlingshistorikken, der registrerer, hvad der er blevet sendt, og som derfor udgør kundedata, slettes automatisk efter 30 dage.
  • Når du afinstallerer, slettes alt - layouts, afsendere, hemmeligheder, historik, listen over afmeldte brugere og uploadede filer - øjeblikkeligt og uigenkaldeligt.
  • Shopify obligatoriske anmodninger om beskyttelse af personoplysninger (kunder/data_request, kunder/redact og shop/redact) behandles automatisk inden for de tidsfrister, som Shopify fastsætter, herunder en kundes optagelse på afmeldingslisten.
  • Den fulde oversigt over, hvilke oplysninger der gemmes, findes på Data, privatliv og sikkerhed. Underbehandlere og opbevaringsfristerne fremgår af policy. En underskrevet databehandlingsaftale kan rekvireres på [workflow-transactional-email.app/dpaxml-ph-0005.

Indberetning af et sikkerhedsproblem

Hvis du mener, at du har fundet en sårbarhed, eller hvis du har brug for at få udfyldt et sikkerhedsspørgeskema, skal du sende en e-mail til support@codecreationlabs.com. Sikkerhedsrapporter gennemgås og besvares med høj prioritet.