Sikkerhed

Sikkerhed

Kopier side

Sikkerhed i Workflow Webhooks til Shopify Flow: hosting i EU, kryptering og isolering af webhooks, hemmelige nøgler og leverancer, og løbende opdateringer.

Workflow Webhooks 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. Administrationssiderne, de endpoints, der modtager dine webhooks, og de workers, der videregiver dem til Shopify Flow, er baseret på én og samme kodebase.
Database og cache PostgreSQL (Google Cloud SQL) og Redis (Google Cloud Memorystore)
Kø Et indgående opkald modtages, sættes i kø i Google Cloud Pub/Sub og behandles af en separat worker, så en bølge af opkald eller en langsom svar fra Shopify aldrig medfører, at et opkald ikke bliver leveret.
Hosting Containere på Google Kubernetes Engine i Google Cloud-regionen europe-west1 (Belgien, Den Europæiske Union). Databaser, cacher og køer er placeret i den pågældende region.
Shopify-integration Shopify officielle app-biblioteker, Shopify Flow-udløsere og -handlinger samt Shopify webhooks
Din webshop Der kører intet i dit tema. Den valgfri app-proxy-URL til browseranmodninger (se CORS, appens proxy-URL og browseranmodninger) leveres af Shopify på dit eget domæne og verificeres med Shopifys signatur.

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, de systemer, der kalder dine webhooks, og appen bruger TLS. Databasen, cachen og køen har ingen offentlig adresse: de kan kun nås inde fra 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 oveni. De mest følsomme værdier får et ekstra lag: din butiks Shopify-adgangstoken, hver webhooks autentificeringsnøgle og alle hemmeligheder, du gemmer til transformationsfunktioner. Hver værdi krypteres individuelt med AES-256-GCM under en separat nøgle i Cloud KMS med automatisk nøglerotation og dekrypteres i hukommelsen først i det øjeblik, den skal bruges. Hemmeligheder skrives aldrig til logfiler 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 anmoder ikke om adgang til din butiks data ved installationen: Det kræver ingen tilladelse at starte en Shopify Flow-arbejdsgang, og appen læser aldrig selvstændigt oplysninger om produkter, ordrer eller kunder. En levering indeholder nøjagtigt den payload, som det kaldende system har sendt.

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 webhooks eller leveringer, og et synkront svar er knyttet til den butik, der har anmodet om det.
  • Kun verificerede anmodninger. Sider i Shopify-administrationspanelet autentificeres ved hjælp af Shopify-sessionstokener. Shopify Flow-callbacks og Shopifys egne webhooks verificeres ved hjælp af Shopifys HMAC-signatur, og interne meddelelser ved hjælp af Google-signerede identiteter, inden der røres ved dataene.
  • Your webhooks, your rules. Hver webhook-URL er umulig at gætte, og du vælger selv, hvordan opkaldere skal legitimere sig: et statisk token, en HMAC-signatur på indholdet eller ingen signatur for kilder, der ikke kan signere. En valgfri IP-tilladelseslister begrænser opkaldere yderligere; opkalderens adresse hentes fra netværksforbindelsen, ikke fra en header, så den kan ikke forfalskes. Dobbeltleveringer genkendes og behandles én gang. Se Godkendelse.
  • Transformationsfunktioner. JavaScript-kode, du skriver til Transformationsfunktioner, kører i en isoleret sandkasse med tids- og hukommelsesbegrænsninger på en infrastruktur, der er adskilt fra appens egne servere. Den får aldrig adgang til appens loginoplysninger eller dit Shopify-adgangstoken, og dens udgående anmodninger kontrolleres i forhold til private netværksintervaller, inden der oprettes forbindelse.
  • Udgående anmodninger. URL’er, som appen kalder på dine vegne i forbindelse med Planlagt URL-afstemning og Aktivering af en webhook fra Shopify Flow, kontrolleres, før der oprettes forbindelse: loopback-, link-local-, cloud-metadata- og private netværksadresser afvises, også hvis der sker via en omdirigering.
  • 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), detektering 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. 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 statusside, og vi modtager alarmer ved fejl. Driftslogfiler opbevares i højst 30 dage og indeholder aldrig tokens eller hemmelige oplysninger.

Opbevaring og sletning

  • Leveringshistorikken bevares, så længe appen er installeret, så du kan gennemse og afspille opkald, og du kan slette poster når som helst. Overskrifter, der kan indeholde loginoplysninger, maskeres, inden en levering gemmes.
  • Når du afinstallerer appen, slettes dens adgang til din butik med det samme. Shopify anmodning om sletning af butik/data, som udløses 48 timer efter afinstallationen, sletter butikkens resterende data, herunder alt, hvad dine transform-funktioner har gemt.
  • Shopify
  • Underbehandlere og den fulde opbevaringsplan fremgår af privacypolicy. En underskrevet databehandlingsaftale kan rekvireres på [workflow-webhooks.app/dpaxml-ph-0004.

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.