Kernel InitResearchBy segmentApparel

Shopify security for apparel and fashion stores.

We passively measured 404 apparel and fashion stores on Shopify as part of our State of Shopify Security benchmark. Public pages, DNS and TLS only. These are aggregated results for the segment: no store is named, and figures appear only where at least 30 stores were measured.

Stores scanned
404
Median Trust
80 / 100
Stores in market data
827,122
Measured
2026-11-01

In short

How Apparel compares.

Fashion stores cycle through many apps (size guides, reviews, back-in-stock alerts, upsells), and every app that is uninstalled can leave code behind. Fashion brands are also a favourite target of look-alike storefronts selling counterfeits.

  • The median Store Trust Score is 80, the same as the full sample.
  • DMARC without aggregate reports: 69.0%, 4.4 points more often than across all 1,676 stores (64.6%).
  • No SPF record: 39.9%, 4.3 points more often than across all 1,676 stores (35.6%).
  • Among the 5 categories we cover, it has the second-highest share of spoofable email domains.
  • Among the 5 categories we cover, it has the second-highest share of legacy app ScriptTags.
  • Among the 5 categories we cover, it has the lowest share of scripts without SRI.
  • Among the 5 categories we cover, it has the highest share of missing SPF records.

Store Trust Score in this segment: median 80 (p10 74, p25 77, p75 83, p90 85), on a 0–100 scale where higher is better. 15.6% of these stores reach the Strong band (85+) and 2.0% score below Good (under 70).

Side by side

Apparel versus all 1,676 stores.

Share of stores with each issue, among the stores where the check could be measured. Highlighted bars are more than 2 points above the full sample.

  • Spoofable email domain Apparel, N = 40485.4%
  • Spoofable email domain all stores, N = 1,67683.8%
  • Legacy app ScriptTags Apparel, N = 39746.6%
  • Legacy app ScriptTags all stores, N = 1,64544.6%
  • No SPF record Apparel, N = 40439.9%
  • No SPF record all stores, N = 1,67635.6%
  • Scripts without SRI Apparel, N = 4047.7%
  • Scripts without SRI all stores, N = 1,67510.3%

All findings

What's visible from outside.

Unweighted shares. A finding is left out when fewer than 30 stores in the segment could be measured, and a share is not printed when it rests on fewer than 5 stores.

FindingThis segmentAll storesN measured
Email domain can be spoofed (no DMARC, or DMARC p=none)Without an enforced DMARC policy, anyone can send email that appears to come from the store's domain.85.4%83.8%404
No SPF recordSPF lists which servers may send mail for the domain. Without it, receivers have less to go on.39.9%35.6%404
DMARC without aggregate reportsA DMARC record without a reporting address means nobody sees who is sending as the domain.69.0%64.6%261
Look-alike domains with mail, owned by third partiesRegistered domains that look like the store's and accept mail, owned by someone else.9.9%8.7%404
Legacy app ScriptTags (not removed on uninstall)Scripts injected by apps through the ScriptTag API. They are not always removed when the app is uninstalled.46.6%44.6%397
Third-party scripts without SRI on static CDNsScripts from public CDNs loaded without an integrity hash, so a changed file would still run.7.7%10.3%404
JavaScript libraries with known CVEsFront-end libraries whose detected version has a published CVE. Exploitability depends on use.4.2%6.1%404
Broken script tags (host no longer resolves)Script tags that point to hosts that no longer resolve: dead weight, and a sign nobody reviews the theme.2.7%3.0%404
No reachable privacy policyNo privacy policy reachable from the storefront where we looked for one.4.9%5.7%390
Basic accessibility gaps on the home pageBasic, automatically detectable gaps on the home page (for example images without text alternatives).10.1%9.9%404
Zone not DNSSEC-signedDNSSEC protects DNS answers from tampering. It is rare everywhere and depends on the DNS host.95.0%94.6%404
No CAA recordA CAA record limits which certificate authorities may issue certificates for the domain.99.8%99.3%404

Market context

The wider Apparel market.

The market dataset lists 827,122 active Shopify stores in apparel and fashion. 2.4% are on Shopify Plus (all Shopify: 2.6%); the median store has 2 installed apps and 1 detected tracker. Session replay is detected on 7.8% of them (all Shopify: 8.0%). By country, the largest groups are the United States (342,219), the United Kingdom (56,629) and India (49,621).

Market figures come from a third-party technology dataset of active Shopify storefronts (built 2026-11-01), shown only for segments with at least 1,000 stores. Technology detection can miss tools that are built into Shopify, so adoption shares are lower bounds.

What to do first

Five fixes, in order.

  1. Publish DMARC with a reporting address, then move from p=none to p=quarantine or p=reject once SPF and DKIM are aligned.
  2. List every third-party script on the storefront and checkout pages, and remove what nobody owns (PCI DSS 4.0, requirement 6.4.3).
  3. Remove ScriptTags and theme snippets left behind by apps you no longer use.
  4. Delete tags that point at hosts that no longer resolve.
  5. Add a CAA record and, if your DNS host supports it, turn on DNSSEC.

Each of these is done in your own DNS, theme or app settings, and most take minutes. If you are unsure, start with the free snapshot: it checks your own domain against the same list.

Method & limits

Passive, and honest about it.

Latest passive scan of each store in a stratified benchmark sample of Shopify stores (1,676 reachable with a Trust Score, 404 in this segment), measured up to 2026-11-01. Only public GET requests, public DNS and TLS, and robots.txt were used: no forms, logins, payments or exploit attempts. Look-alike domains were only resolved in DNS.

We measure what a visitor's browser and the public DNS can see. We do not see checkout internals, admin settings, server-side controls or whether anyone has been attacked. Skimmer-style signatures are heuristics and are not reported per segment. Shares are not weighted to the full Shopify population, and segments of a few dozen stores carry wide margins of error: read differences of a few points as noise.

Full method and the overall numbers: State of Shopify Security.

Where does your store stand?

A free, passive snapshot of your own domain: a 0–100 score, how you compare with stores like yours, and the fixes in priority order.