Sikkerhed
Sikkerhed i Workflow Trigger Extensions til Shopify Flow: teknologi, EU-hosting i Google Cloud, kryptering og isolering af butiksdata samt opdateringer.
»Workflow Trigger Extensions« 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. 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. Hver eneste del af appen, lige fra administrationssiderne til de workers, der behandler dine begivenheder, er baseret på én fælles 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 og fillagring er placeret i den pågældende region. |
| Shopify-integration | Shopify |
| Din webshop | Der kører intet i dit tema. Den valgfri webpixel bag Udløsere for butiksfacader kører i Shopifys pixel-sandkasse og installeres kun, når du aktiverer en udløser for webshop. |
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 og appen bruger TLS. Databasen og cachen har ingen offentlig adresse: de kan kun tilgås indefra vores private netværk.
I hvile. Alle databaser og lagringsmedier er krypteret i hvile med nøgler, som vi administrerer i Google Cloud KMS.
Kryptering på feltniveau ovenpå. De mest følsomme værdier får et ekstra lag: din butiks Shopify-adgangstoken og de beskyttede kundedata (navne, e-mailadresser, telefonnumre, postadresser), der læses af opt-in-udløsere for personoplysninger. Hver post krypteres individuelt med AES-256-GCM under en separat nøgle i Cloud KMS med automatisk nøglerotation. Værdierne dekrypteres kun i hukommelsen i det øjeblik, der er brug for dem, for eksempel når en udløser udløses, og de skrives aldrig til logfiler. Ændringsdetektering af personoplysninger sammenligner hashværdier, så appen kan se, at en værdi er ændret, uden at den behøver at dekryptere den.
Hemmeligheder. API-adgangsoplysninger og -nøgler opbevares i Google Secret Manager og indlæses, når en tjeneste starter. De findes hverken i koden, i containerbillederne eller i build-pipeline.
Dataminimering. Appen anmoder ikke om adgang til data ved installationen. Alle tilladelser er af typen »opt-in«, er begrænset til én bestemt type data og kan til enhver tid tilbagekaldes. Se Tilladelser og dataadgang.
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 data fra en anden butik.
- Kun verificerede anmodninger. Sider i Shopify-administrationspanelet autentificeres ved hjælp af Shopify-sessionstokens. Webhooks og Shopify Flow-callbacks verificeres ved hjælp af Shopifys HMAC-signatur, og interne meddelelser ved hjælp af Google-signerede identiteter, inden der røres ved dataene. Hver Shopify-begivenhed behandles én gang og renses for dubletter ud fra dens begivenheds-id.
- Brugerdefineret udløser. JavaScript**, som** du selv skriver til Brugerdefinerede udløsere, kører i en isoleret sandkasse med tids- og hukommelsesbegrænsninger på en infrastruktur, der er adskilt fra appens egne servere. Koden får aldrig adgang til appens loginoplysninger eller dit Shopify-adgangstoken. Den eneste adgang til din butik er et kortvarigt token, der er knyttet til din butik og udløber inden for et minut.
- 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 udgives. 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 udgivelseskriterium 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 opdateret version af Admin API.
- Sikkerhedskontrol. Der gennemføres en automatiseret sikkerhedskontrol**,** før der foretages ændringer, der berører autentificering, sessioner eller dataeksponering, og vi foretager 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 opbevares i højst 30 dage og indeholder aldrig tokens, hemmelige nøgler eller kundedata.
Opbevaring og sletning
- Begivenhedshistorikken slettes automatisk efter 30 dage.
- De øjebliksbilleder, som appen gemmer for at registrere ændringer (den seneste kendte tilstand for et produkt, en ordre eller en kunde), forbliver gemt, så længe appen er installeret, da den næste ændring registreres i forhold til disse.
- Når du afinstallerer appen, slettes dens adgang til din butik med det samme. Shopify's anmodning om sletning/redigering, som udløses 48 timer efter afinstallationen, sletter de beskyttede kundedata og alt, hvad din brugerdefinerede udløser har gemt.
- Shopify
- Underbehandlere og den fulde opbevaringsplan fremgår af privacypolicy. En underskrevet databehandlingsaftale kan rekvireres på workflow-trigger-extensions.app/dpa.
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.
