Shopify security

Shopify security: wat Shopify regelt en wat bij jou ligt

Shopify beveiligt de servers, de checkout-infrastructuur en de kaartverwerking. Maar wie er in je admin zit, welke apps je klantdata mogen lezen en wat er op je domein draait, is jouw verantwoordelijkheid. Daar kijken wij naar.

  • Apps en API-scopes doorgelicht
  • Staff- en collaborator-accounts opgeschoond
  • Headless en custom apps veilig gebouwd

Shopify is veilig. Je winkel niet automatisch.

Een Shopify-winkel wordt zelden gehackt via de server. Die beheert Shopify, en dat doen ze goed. De checkout en kaartverwerking zijn PCI DSS-compliant aan hun kant. Patches, firewalls en schaalbaarheid zijn niet jouw zorg.

Wat wel jouw zorg is: de mensen en apps die je toegang geeft. Een oud staff-account van een stagiair, een collaborator-account van een bureau waar je al jaren niet meer mee werkt, of een app die schrijfrechten heeft op orders en klanten terwijl hij alleen reviews toont. Dat is waar het misgaat.

Daarnaast bouwen steeds meer merken headless op Hydrogen of met custom apps en koppelingen naar ERP, PIM of WMS. Dan schrijf je zelf code die met de Shopify API praat, en ben je ook zelf verantwoordelijk voor tokens, endpoints en autorisatie. Wij kennen beide kanten: Shopify (Plus) en de maatwerk-code eromheen.

Gedeelde verantwoordelijkheid in één tabel

Het model is simpel, maar in de praktijk weten veel teams niet waar de grens ligt.

OnderdeelShopifyJij
Servers, hosting, netwerkVolledig beheerd, inclusief patchesNiets te doen
Checkout en kaartverwerkingPCI DSS-compliant platformWelke apps en pixels je op checkout en thank-you page toelaat
Admin-toegang2-stapsverificatie beschikbaar, rollen en rechtenWie toegang heeft, met welke rechten, en of 2FA verplicht is
AppsReview voor de App Store, OAuth-scopesWelke apps je installeert, welke scopes je goedkeurt, en wat je opruimt
Thema en scriptsSandboxing voor web pixelsScripts in je thema, externe tags en wat ze laden
Custom apps en headlessAPI's en tokensOpslag van tokens, eigen endpoints, autorisatie, dependencies
Domein en e-mailSSL op je Shopify-domeinDNS-beheer, SPF, DKIM, DMARC, registrar-account

Wat we bij Shopify-winkels het vaakst tegenkomen

Geen exotische aanvallen. Gewoon toegang die er nooit meer af is gehaald.

Apps met te ruime scopes

Een app vraagt read_customers of write_orders terwijl de functie dat niet nodig heeft. Elke app met klantdata-rechten is een extra partij die jouw data kan lekken.

Lees verder →

Verwijderde apps die sporen achterlaten

Na het verwijderen van een app blijven er soms snippets in je thema staan die nog een extern script laden. Dat script is dan van niemand meer, maar draait wel bij elke bezoeker.

Oude staff- en collaborator-accounts

Ex-medewerkers, freelancers en vorige bureaus die nog een account hebben. Vaak met volledige rechten en zonder 2FA.

Te veel mensen met volledige rechten

Klantenservice heeft geen toegang nodig tot apps, betaalinstellingen of het domein. Rollen per functie verkleinen de schade van één gestolen wachtwoord.

Ontbrekende DMARC

Zonder SPF, DKIM en een DMARC-beleid kan iedereen mail sturen die van jouw domein lijkt te komen. Ideaal voor phishing richting je klanten en je eigen team.

Tokens in de frontend of in git

Bij custom apps en headless zien we Admin API-tokens in repositories, in environment-bestanden die meegedeployed worden, of zelfs in browser-code.

Checkout extensibility en scripts

Shopify heeft de oude checkout.liquid-aanpak vervangen door checkout extensibility. Aanpassingen aan de checkout lopen nu via checkout UI extensions, Shopify Functions en web pixels. Dat is goed nieuws voor security: je kunt niet meer zomaar willekeurige JavaScript op de betaalstap zetten.

Web pixels draaien in een sandbox. Ze krijgen events binnen, maar kunnen de pagina zelf niet aanpassen. Daarmee is de klassieke skimmer op de Shopify-checkout veel lastiger geworden. Het risico verschuift naar wat je wel toestaat: welke pixels en apps welke klant- en orderdata ontvangen.

Op je thema, buiten de checkout, kun je nog steeds alles laden. Tag managers, chat, review-widgets en A/B-testing. Elk van die scripts draait met dezelfde rechten als je eigen code op die pagina's. Wij inventariseren wat er laadt, waar het vandaan komt en of het er nog hoort.

Bouw je custom checkout UI extensions of Functions, dan reviewen we die code zoals we elke maatwerk-code reviewen: welke data gaat erin, welke data gaat eruit, en kan iemand er iets mee wat niet de bedoeling is.

Headless, Hydrogen en custom apps

Zodra je eigen code schrijft rond Shopify, verschuift een deel van de verantwoordelijkheid terug naar jou.

Tokens en secrets

  • Admin API-tokens alleen server-side, nooit in de browser of de frontend-bundle
  • Storefront API: onderscheid tussen publieke en private tokens en gebruik ze waarvoor ze bedoeld zijn
  • Secrets in een secret manager of de omgeving van je hosting, niet in git
  • Minimale scopes per custom app en per integratie

Webhooks en endpoints

  • HMAC-handtekening van elke webhook verifiëren voordat je hem verwerkt
  • Eigen API-endpoints achter authenticatie en rate limiting
  • Geen klant- of orderdata teruggeven op basis van alleen een ID uit de URL
  • Logging zonder persoonsgegevens of tokens in de logregels

Code en dependencies

  • npm- of Composer-audit in de CI-pipeline
  • Lockfiles in versiebeheer, gecontroleerde updates
  • Security headers en CSP op je headless storefront
  • Wie mag deployen, en met welke rechten

Domein, DNS en e-mail

Registrar- en DNS-account

Wie je DNS beheert, beheert je winkel. Zet 2FA op het registrar-account, beperk wie erin kan en controleer of er geen oude records naar diensten wijzen die je niet meer gebruikt.

SPF, DKIM en DMARC

Laat alleen je eigen mailsystemen namens je domein versturen. Begin DMARC met monitoring, en ga stapsgewijs naar een beleid dat vervalste mail weigert.

Cloudflare en bots

Een Shopify-winkel achter extra lagen proxy is niet altijd zinnig. Voor headless storefronts en eigen API's is een WAF met bot-bescherming wel vaak de moeite waard.

Lees verder →

Zo werken we

Een Shopify security review is overzichtelijk. De meeste winst zit in opruimen en dichtzetten.

  1. 1

    1. Toegang inventariseren

    Alle staff- en collaborator-accounts, rollen en 2FA-status. We markeren wat weg kan en wat te ruime rechten heeft.

  2. 2

    2. Apps en scopes doorlichten

    Per app: welke scopes, wordt hij nog gebruikt, en wat laat hij achter in je thema. Ook custom apps en hun tokens.

  3. 3

    3. Thema, pixels en checkout

    Welke scripts en pixels laden er, waar komen ze vandaan, welke data krijgen ze. Inclusief checkout UI extensions en Functions.

  4. 4

    4. Maatwerk en headless

    Code review van eigen apps, Hydrogen-storefront en integraties: tokens, webhooks, endpoints en dependencies.

  5. 5

    5. Rapport en opvolging

    Een geprioriteerde lijst met wat we vonden. Wat we zelf kunnen fixen, doen we direct in overleg.

Wat je krijgt

  • Overzicht van alle accounts, rollen en 2FA-status met concrete opschoonacties
  • App-inventaris met scopes, gebruik en achtergebleven code
  • Overzicht van scripts en pixels op thema en checkout
  • Code review van custom apps, headless storefront en integraties
  • Controle van SPF, DKIM en DMARC voor je domein
  • Geprioriteerde actielijst, met wat wij direct kunnen oplossen

Waarom Coding.nl

Shopify en maatwerk in één team

We bouwen Shopify (Plus)-winkels en de Laravel-koppelingen en apps eromheen. Security stopt niet bij de grens van het platform, wij ook niet.

Direct contact

Geen account manager. Je praat met het vaste senior team dat je winkel en code doorlicht en de fixes doet.

Eerlijk over wat nodig is

Shopify regelt veel. We gaan je geen pentest op Shopify-servers verkopen. We kijken naar wat jij beheert, en zeggen het als het al goed staat.

15+ jaar e-commerce

We hebben gezien hoe winkels worden misbruikt, van gestolen admin-accounts tot gelekte API-tokens. Die ervaring zit in onze checklist.

Hyvä Silver PartnerHypernode Silver Partner

Veelgestelde vragen

Het platform zelf wel. Shopify beheert de servers, patcht de software en is PCI DSS-compliant voor de checkout en kaartverwerking. Je hoeft je geen zorgen te maken over serverlekken of ongepatchte modules. Wat Shopify niet voor je regelt: wie toegang heeft tot je admin, welke apps je installeert en welke rechten die krijgen, en wat er in je thema en op je domein draait.

Je Shopify-winkel laten doorlichten?

Stuur ons je winkel-URL en vertel of je met custom apps of headless werkt. We laten weten wat een review bij jou inhoudt en waar we beginnen. Direct contact met het team dat het werk doet.