TL;DR: first-affected-session skimmer detection
- CSP is a doorman: A Content Security Policy is a doorman, not a bodyguard. It stops new scripts loading but waves through an approved tag that a vendor pushed a skimmer into overnight.
- Baseline every payment script: The strongest Magecart protection establishes a behavioral baseline for every payment-page script and alerts, in the same session it changes, when a permitted script starts touching form fields it never touched before. That is the runtime tamper detection PCI DSS 4.0.1 Requirement 11.6.1 requires, and a CSP cannot provide it.
- The buyer's checklist: Whether a tool actually closes the gap comes down to a short checklist, covered in the buyer's criteria below: real-time monitoring in real user sessions, detection of behavior changes in already-approved scripts, deobfuscated payload archival for forensics, and QSA-validated evidence for Requirements 6.4.3 and 11.6.1. Score every option in the comparison table against it.
Short on time? See cside's in-browser Magecart and skimmer blocking. It covers everything below in one deployment.
The best Magecart protection software watches every script on your payment page in real time and raises an alert the instant any script, first-party or third-party, reads a payment field or ships data to an endpoint it should not. A Content Security Policy stops unknown scripts from loading, but it cannot catch a behavior change inside a script you already approved, which is why PCI DSS 4.0.1 now requires runtime script integrity monitoring on payment pages.
Magecart attacks compromise the JavaScript supply chain on payment pages. An attacker injects skimming code into a third-party script your site already loads and trusts (an analytics tag, a chat widget, a marketing pixel), and that script starts harvesting payment card data from checkout form fields with no visible change to the page. The average checkout loads dozens of third-party scripts, and each one is a potential injection point.
The PCI Security Standards Council made this risk concrete in PCI DSS 4.0.1. Requirement 6.4.3 mandates that all scripts on payment pages be inventoried and authorized. Requirement 11.6.1 mandates tamper detection, meaning automated alerts when any payment page script changes behavior. Both requirements became mandatory on 2025-03-31.
| Tool | Real-time script monitoring | Detects behavior changes in approved scripts | Deobfuscated payload archive / forensic evidence | PCI DSS 6.4.3 + 11.6.1 evidence | Free tier |
|---|---|---|---|---|---|
| cside | Yes, 100% of real user sessions, no sampling | Yes, behavioral baseline per script | Yes, immutable payload archive | Yes, QSA-validated (VikingCloud) | Yes (1,000 API calls/mo) |
| Reflectiz | Periodic remote scanner, not real user sessions | At scan time only | Not documented in this comparison | Self-described reporting, may need independent validation | Not documented in this comparison |
| Source Defense | Browser-side JS agent plus crawler | Yes, behavioral (browser-side) | No, cannot show script contents | Detection logs, not forensic-grade payload evidence | No |
| Jscrambler | Periodic scanning plus browser traps | Trap-based, may not fire | No, does not track script contents | Behavioral logs, no payload evidence | No |
| DomDog | Browser agent plus CSP reporting | Behavioral; CSP misses same-source content changes | No, no payload analysis or archive | Built for 6.4.3 + 11.6.1, no payload archive | No ($999/year entry) |
| Content Security Policy alone | No, blocks new scripts, not behavior changes | No | No | No | Free (browser native) |
Why a Content Security Policy is necessary but not sufficient
A Content Security Policy (CSP) is a browser-enforced allowlist that blocks scripts from loading unless their source is explicitly permitted. For Magecart, a CSP prevents an attacker from injecting a new foreign script onto a payment page.
It does not prevent an attacker from compromising a script that is already on the allowlist. If an attacker gains access to the CDN or code repository of a third-party vendor your CSP already permits, they can modify that vendor's script to include skimming code. The CSP sees the script loading from the same permitted source and allows it, so the skimmer runs inside an approved script.
Requirement 11.6.1 exists because the PCI SSC recognized this gap. It asks you to detect when an approved script changes what it does, which requires runtime behavior monitoring. A CSP cannot provide that.
cside: real-time Magecart detection
cside Magecart protection monitors every script loaded on the payment page in real time. It establishes a behavioral baseline for each approved script (which DOM elements it accesses, which network destinations it calls, what data it reads) and alerts as soon as any script deviates from that baseline.
When a compromised third-party script begins accessing payment form fields it has not previously touched, cside detects the change in the same session in which it occurs. The alert identifies the specific script, the specific behavioral change, and the timestamp, so you have evidence you can use in a PCI assessment.
cside also maintains the script inventory required by Requirement 6.4.3: a complete, continuously updated list of every script present on the payment page, with authorization status for each. Because inventory and tamper detection ship in a single validated deployment, one tool satisfies both requirements. cside is validated by VikingCloud for PCI DSS 4.0.1 Requirements 6.4.3 and 11.6.1.
For context, payment page skimming remains a primary driver of web-based card data compromise for merchants. Detecting the Magecart injection in the first affected session is what keeps a single compromised vendor from becoming a mass card-data incident.
Reflectiz
Reflectiz is a website security platform that monitors third-party scripts for behavioral changes and risk. Its detection model relies on periodic remote scans from crawler infrastructure: a browser running from a cloud provider IP visits your pages on a schedule and reports what it sees.
For Magecart, that scheduled-scan model is the core limitation. A browser from a known cloud IP is not equivalent to a script running inside the actual DOM of a real user session, and client-side skimmers routinely adapt to the visitor. An attacker who fingerprints the scanner can serve it a clean page while real shoppers receive the malicious version, so a scanner can create a false sense of coverage between scans. A point-in-time scanner like Reflectiz sees even less than a sampled in-page agent, because it runs in no real user session at all, only what happens to load during its scheduled crawl. On assurance, as of the public materials reviewed on 2026-05-20, Reflectiz did not publish equivalent QSA approval, PCI DSS SAQ D, or SOC 2 Type II certification, and it publishes no public status page or uptime SLA, its pricing is not public either.
cside runs in 100% of real user sessions with no sampling and downloads every script to its own infrastructure for server-side analysis, so a bad actor cannot serve it a clean script the way they can a scheduled crawler, and every payload is archived as evidence. cside also offers scanner-based coverage through its Scan Method for cases where a script deployment is not possible, but it does not make scanning the whole security model, and it is QSA-validated by VikingCloud for PCI DSS 4.0.1 Requirements 6.4.3 and 11.6.1.
Source Defense
Source Defense specializes in client-side website security and targets enterprise merchants. It offers two methods for payment-page scripts: Source Defense Detect, a crawler that mimics a user visiting the page to fetch the third-party scripts that load, and Source Defense Protect, a JavaScript agent that builds a client-side sandbox to isolate scripts and limit what they can access.
For Magecart, both methods have gaps a skimmer can exploit. The crawler is only one specific combination of location, device, and time, so it does not capture the exact payload a real visitor receives, and an attacker can spot the cloud infrastructure and serve it a clean script. The JavaScript agent is trigger-based, so anything that does not trip a trigger is treated as good, and because the triggers are defined in the browser, a bad actor can study them and design a skimmer that avoids them. The sandbox adds up to 100ms of latency, and because the agent runs in the same browser environment as the attacker, a script that is already running can override core functions like fetch and cut off the alert before it leaves the page. Most important for skimming forensics: Source Defense cannot show you the script contents, so proving what a compromised script actually did is hard.
cside analyzes every script server-side, on infrastructure the attacker cannot see or interact with, so the detection cannot be fingerprinted and disabled the way a browser-side agent can. When a detection fires, cside preserves the exact malicious payload in an immutable archive, giving your incident response team and a QSA the actual attack code rather than a behavioral alert. cside's engine also learns what each script is supposed to do and flags deviations automatically, instead of requiring the per-script permission rules a sandbox model needs to keep updated as your checkout evolves.
Jscrambler
Jscrambler started in JavaScript obfuscation and added a webpage integrity product later. Its core strength is protecting first-party JavaScript, transforming proprietary code so it is harder to reverse-engineer, with "code locks" that restrict where and when code runs. For client-side threat detection it uses a trap-based approach: it injects decoy objects and monitoring code into your pages and waits for a malicious script to interact with those traps.
For Magecart, trap-based detection has the same core weakness as any browser-only model: it does not know what it did not catch. A skimmer that avoids the decoy objects or blocks the callback endpoints goes unseen, and because the monitoring code runs in the browser, a sophisticated attacker can find and bypass it. Jscrambler does not track script contents at all, so after a sampled or conditional attack there is often no malicious payload left to analyze, which makes forensics and PCI evidence difficult. Obfuscation does not close the gap either, since the browser still executes observable API calls and LLM-assisted deobfuscation is increasingly good at reading intent.
cside was built for client-side security and PCI DSS 6.4.3 and 11.6.1 from the start. It monitors script behavior in real user sessions with no sampling, downloads every script for deep analysis on its own infrastructure (using LLMs it runs itself, so no script data leaves to a third-party AI vendor), and archives the raw attack code for QSA review. In the independent 2026 Globee Cybersecurity Awards Client-Side Security category, cside took Gold (Best of Category) and Jscrambler took Silver.
DomDog
DomDog is purpose-built for PCI DSS 4.0.1 requirements 6.4.3 and 11.6.1, with fully public product information and pricing that starts at $999 per year, similar to cside. Setup is a single script added to the header tag. It works as a JavaScript agent that collects data, shows the scripts in a dashboard, and asks the user to review and allow- or block-list them, backed by a secondary Content Security Policy.
For Magecart specifically, that agent-plus-CSP design leaves a real skimming window. Because DomDog does not sit in the flow of script delivery, a stored XSS script that turns malicious can activate without being caught, and its CSP trusts pre-approved sources rather than their content, so a same-source content swap, exactly the Polyfill pattern where polyfill[.]io stayed the domain but the payload changed, slips through. DomDog monitors for behavioral changes but does not analyze or archive payloads, so detection happens after delivery and there is no attack code to hand an auditor. cside could not find a SOC 2 or PCI DSS certification published for DomDog.
cside performs payload analysis on its own infrastructure, downloading scripts server-side and identifying malicious intent at the code level, which catches targeted skimmers that only activate under specific conditions such as certain geos, time windows, or device types. It keeps immutable archives of every script payload with full version history, so an audit gets the actual attack code and a complete timeline rather than a behavioral change log, and its coverage extends beyond payment card standards to HIPAA, GDPR, and CPRA.
How to choose Magecart protection software
Ignore vendor names and score every option in the comparison table against these criteria. Magecart is a runtime, in-session threat, so a tool has to meet all of them, not most, to actually close the gap:
- Real-time script monitoring in 100% of real user sessions, with no sampling. A periodic remote scanner or a crawler from cloud infrastructure can be served a clean script while real shoppers are skimmed. Coverage has to sit in actual user traffic, not a scheduled visit.
- Detects behavior changes in already-approved scripts. The most common Magecart vector is a compromised script that was already on your allowlist. Blocking new scripts is not enough; the tool must flag when a permitted script starts reading form fields or calling endpoints it never touched before.
- Detection the attacker cannot see or disable. If the monitoring runs entirely in the browser, a bad actor can study the triggers and design around them, or intercept the alert before it leaves the page. Analysis on the vendor's own infrastructure removes that attack surface.
- Deobfuscated payload archival for forensics. Behavioral alerts alone do not prove what happened. You want an immutable archive of the actual (deobfuscated) attack code, because skimmers are often sampled or conditional and leave nothing behind otherwise.
- QSA-validated evidence for PCI DSS 6.4.3 and 11.6.1. Both requirements became mandatory on 2025-03-31. Self-described reporting may still need independent validation at assessment time, so require independent QSA validation, not a checkbox.
- A free tier to prove it before you sign. You should be able to verify detection on your own payment pages before committing budget.
Score each tool honestly against this list. Only one row in the table above meets every criterion.
Content Security Policy alone
A CSP is a free, browser-native control and should be deployed on every payment page as a baseline. It is not a replacement for runtime monitoring software.
A well-configured CSP with nonces or hashes on inline scripts prevents most opportunistic Magecart injection. It does not monitor the runtime behavior of approved scripts, it does not alert when an approved script changes what it does, and it does not produce the audit trail required by PCI DSS 4.0.1 Requirement 11.6.1. Treat a CSP as the starting point, not the whole solution.
Try cside before you buy. cside has a free plan, so you can sign up, deploy, and explore the platform yourself, with no sales calls or procurement process. And our support team is one message away whenever you need a hand.









