
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.
| Onderdeel | Shopify | Jij |
|---|---|---|
| Servers, hosting, netwerk | Volledig beheerd, inclusief patches | Niets te doen |
| Checkout en kaartverwerking | PCI DSS-compliant platform | Welke apps en pixels je op checkout en thank-you page toelaat |
| Admin-toegang | 2-stapsverificatie beschikbaar, rollen en rechten | Wie toegang heeft, met welke rechten, en of 2FA verplicht is |
| Apps | Review voor de App Store, OAuth-scopes | Welke apps je installeert, welke scopes je goedkeurt, en wat je opruimt |
| Thema en scripts | Sandboxing voor web pixels | Scripts in je thema, externe tags en wat ze laden |
| Custom apps en headless | API's en tokens | Opslag van tokens, eigen endpoints, autorisatie, dependencies |
| Domein en e-mail | SSL op je Shopify-domein | DNS-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. Toegang inventariseren
Alle staff- en collaborator-accounts, rollen en 2FA-status. We markeren wat weg kan en wat te ruime rechten heeft.
- 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. 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. Maatwerk en headless
Code review van eigen apps, Hydrogen-storefront en integraties: tokens, webhooks, endpoints en dependencies.
- 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.

Verder lezen
- ›Shopify beveiliging: wat regelt Shopify, wat regel jij?
- ›Shopify apps en security: welke rechten geef je eigenlijk weg?
- ›API-beveiliging voor e-commerce integraties: wat je moet weten
- ›Credential stuffing op klantaccounts: zo stop je accountovername
- ›Software supply chain: Composer, npm en CI als ingang naar je webshop
- ›WAF en botbescherming voor webshops: carding en scraping stoppen
- ›PCI DSS webshop: wat 4.0.1 voor jouw checkout betekent
Veelgestelde vragen
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.