PCI DSS 4.0.16.4.3 & 11.6.1 became mandatory on 31 March 2025

Script monitoring for payment pages

Prove PCI 6.4.3 & 11.6.1 with what
actually ran in the browser

One first-party tag inventories every script on your payment pages, watches your security headers for changes, and blocks the ones that misbehave.

Free forever, 1,000 page views a month, no credit card. Pro from $99/month.

You get a weekly evidence pack with the four things an assessor asks to see.

Built for merchants, payment providers and the teams who have to sign the SAQ.

The Script Monitoring dashboard home for the Payments platform team: a critical payment skimmer alert, open alerts, vendors waiting for review and the top risks
  • Two records, not one

    6.4.3 is an authorisation record and 11.6.1 is a change-detection record. Most tools merge them into one report. Your assessor asks about them separately, so we keep them apart.

  • Every session, no sampling

    A targeted skimmer fires for one country, one card range, one hour. Sampling is the norm here, often 10% of sessions and sometimes 1%. Ask any vendor for their figure. We report from 100%.

  • Blocking, not just alerting

    Stop a script by URL, host, domain or vendor, and use vendor guardrails so a tag you need keeps working without reaching the card field. A scanner can only tell you afterwards, once the data has gone.

  • Page views are the only meter

    Scripts, domains, vendors, alerts, blocks and users are unlimited on every plan. You are billed when our tag loads on a page in the scope you configured, and never for a request we blocked.

One script tag. The same evidence satisfies both client-side requirements.

See all use cases

The distinction most tools miss

PCI DSS 6.4.3 asks what is allowed. PCI DSS 11.6.1 asks what changed.

A single merged "PCI report" is the most common reason an assessor sends evidence back. These are two different records, produced from two different questions, so the product keeps them apart from the start.

Requirement 6.4.3

Authorisation

A list of every script on the payment page, where it loads from, who approved it, and the business reason it is allowed to be there. Plus integrity assurance for each one, which in practice means pinning the payload you approved.

Script inventory14
  • SStripe.js v3js.stripe.com/v3Approved
  • CChatlywidget.chatly.ioApproved
  • TTagPilottag.tagpilot.io/t.jsRequires actionApproved
  • PPartnerLoopcdn.partnerloop.comBlocked
sha256-9fK2…Qa pinned
Approve, block or ignore from one screen
  • Inventory of every script that executes, including the ones your vendors load
  • A written justification per script, not per vendor
  • Integrity by payload hash, so new code has to be re-approved
  • Approve, block or ignore each script from one screen
How 6.4.3 works

Requirement 11.6.1

Change detection

A mechanism that evaluates the page and its HTTP headers as the consumer browser received them, and tells a human when a value changed. The evidence is not the dashboard, it is the alert and the record behind it.

Checkout pagecheckout.northwind.com
Page views, 7d
412K
Scripts loaded
14
Security headersas received by the browser
Content-Security-Policy
3 values
Strict-Transport-Security
1 value
Integrity attribute removed
Alert sent by webhook
  • Every distinct value seen per security header, per week
  • Content and integrity changes on the payment page itself
  • Alerts by email, by webhook to any destination, or to an S3 bucket
  • Runs continuously, which satisfies "at least every seven days"
How 11.6.1 works

Magecart, web skimming, formjacking, e-skimming

Four names for the attackthese requirements exist to stop

Use cases

They describe the same thing from different angles: attacker JavaScript on a checkout page, reading the card fields, and posting the contents somewhere else. The names differ by who is describing it.

  • Magecart

    Named after the loose set of groups first seen targeting Magento checkouts. Used as shorthand for the whole category of card-skimming groups and their toolkits.

    Magecart protection
  • Web skimming

    The technique, named after physical card skimmers on ATMs. The digital version copies the card as it is typed, and the customer completes the purchase normally.

    Web skimming protection
  • Formjacking

    The mechanism, hijacking a form. The script attaches a listener to the payment form and reads values out of it as the visitor fills it in.

    What is formjacking
  • E-skimming

    The term regulators and card brands tend to use. You will see it in PCI SSC and FBI advisories describing the same attack on ecommerce checkouts.

    E-skimming, explained

What a skimmer does in the session

Without Script MonitoringWith Script Monitoring

Your checkout

Card number4242 4242 4242 4242
Expiry
CVV
Name on card

Injected script

keylistener on #card

captured4242 4242 4242 4242
Blocked by Script Monitoring

Attacker endpoint

POST /collect

Nothing received

Where each control sees it

  • NoWAF
  • PartialCSP
  • SometimesScanner
  • YesScript Monitoring

Why the server-side stack never sees it. The card is read in the visitor's browser and posted directly from the browser to the attacker. The request never reaches your infrastructure, so a WAF has nothing to inspect, your server logs show a normal successful checkout, and the customer receives their order. Detection has to happen where the code runs.

Client-side security

Pricing

Metered on page views. Nothing else.

A page view is counted when our monitoring script is loaded on a page within the scope you configured and starts sending telemetry data. Blocked requests are not counted. Scripts, domains, vendors, alerts, blocks and users are unlimited on every plan, including the free one.

Free

$0

1,000 page views a month, hard stop. No credit card.

Start for free
  • Unlimited domains, scripts and vendors
  • PCI DSS 6.4.3 & 11.6.1
  • Block rules and monitor-only mode
  • PDF evidence packs, retained 18 months
  • 30 days of version history
  • Email alerts
  • CSP report collection
  • API keys
  • MFA enforcement

Pro

$99 per month

14-day trial. For up to 100,000 payment-page views a month.

Start the trial
  • All Free features +
  • AI script analysis
  • PCI auto-approval
  • Agentic Web Scanner
  • Vendor load chain and guardrails
  • GTM container allowlist
  • Webhook alerts
  • S3 export
  • Multiple teams

Enterprise

Custom

For large estates and custom terms.

Talk to an expert
  • All Pro features +
  • Hands-on 14-day proof of concept
  • Custom page-view limits
  • 90 days of version history
  • SSO
  • Audit logs
  • Multiple organizations
  • 99.9% uptime SLA
  • Priority support
See the full pricing page, including what counts as a payment page

How it works

One tag, added the way you already ship code

No DNS change, no CDN change, and no traffic routed through us.

Start the quickstart

Alerts by email, webhook or S3

  1. Step 1

    Install

    Add one first-party tag through HTML, NPM, or a coding agent. No DNS change, no CDN change, and no traffic routed through us.

  2. Step 2

    Mark your payment pages

    Selector rules define which URLs are payment pages. That named scope is what both requirements are measured against, and it is what keeps the rest of your traffic out of your bill.

  3. Step 3

    Review, approve, enforce

    Scripts arrive in the inventory as "needs review". Approve them with a justification, block the ones you do not want, and let the weekly evidence pack build itself. The AI engine drafts a starting justification for each script from what it actually observed the script doing.

Where the AI actually does the work

Every script, summarised in plain language

Malicious scripts are almost always obfuscated, so the payload we fetch is de-obfuscated and analysed off the page rather than in your customer's browser, and each script's behaviour is summarised in plain language. That is analysis nobody wants to do by hand on a checkout with sixty scripts on it.

How AI script analysis works

Prefer to watch before you enforce? Monitor-only mode produces the same evidence, including what would have been blocked and on which pages, with nothing actually stopped.

Monitor-only mode

Compared with the controls you already have

Where the other options stop

Each of these is a real control and worth having. None of them produces what 6.4.3 & 11.6.1 ask for on its own.

CapabilityWAFCSP aloneExternal scannerScript Monitoring
Blocks an unapproved script originNoYesNoYes
Sees what an approved script does at runtimeNoNoPartialYes
Notices an approved vendor shipping changed codeNoNoSometimesYes
Catches a payload that fires for a slice of trafficNoNoUnlikelyYes
Per-script business justification for 6.4.3NoNoPartialYes
Weekly record of header changes for 11.6.1NoPartialPartialYes
Assessor-ready evidence packNoNoVariesYes

You do not need a Content Security Policy for this. PCI DSS does not require one, and a CSP is an origin allowlist: it decides where a script may load from, never what that script does once allowed. In practice a policy is either strict enough to break legitimate vendors or loose enough to permit the origin an attacker is already using. That gap is why 6.4.3 exists as a separate requirement.

What is script monitoring?

Script monitoring is the practice of recording every script that executes on a page, verifying that each one is authorised and unchanged, and alerting when that stops being true.

On a payment page it is a PCI DSS requirement rather than a nice-to-have, written up as PCI 6.4.3 and PCI 11.6.1. Requirement 6.4.3 asks you to hold an inventory with a written business justification for each script and to assure its integrity.

Requirement 11.6.1 asks you to run a change- and tamper-detection mechanism that evaluates the payment page and its HTTP headers as received by the consumer browser, and alerts personnel when something changes, at least every seven days. The two requirements are related but they are not the same control, and they are assessed separately.

100%
Of sessions reported, no sampling
18 mo
Evidence packs retained, on every plan
7 days
The longest gap 11.6.1 allows. We run continuously.

Built for

Teams that have to answer for the checkout

See all industries

Frequently asked questions

Read the FAQ
Does this make us compliant with PCI DSS 6.4.3 & 11.6.1?

Yes, for the technical controls both requirements describe. The product produces the script inventory with a per-script business justification and integrity assurance that 6.4.3 asks for, and the change- and tamper-detection mechanism with alerting that 11.6.1 asks for, plus the evidence to show an assessor. Compliance itself is a judgement your QSA or your SAQ makes across the whole standard, and this covers two requirements out of twelve requirement families. We are deliberately not a full-scope PCI platform.

Is the tag QSA-validated?

Yes. The controls have been validated by a Qualified Security Assessor and the evidence pack is built around what assessors actually ask for: the scope, the inventory with justifications, the header change record, and the alerts. If your assessor wants something in a particular format, that is a reasonable request and worth raising with us early.

Will this slow down our checkout?

Yes, in the sense that any tag has a cost, and no in the sense that it is designed not to be felt. The tag is small, runs first in the head so it sees every script after it, and is fail-open: if our service is unavailable your page still renders and your checkout still works. Deep analysis of each script happens off the page rather than in the visitor's browser.

What stops an attacker tampering with your monitoring script?

Yes, this is the right question to ask of any client-side security product. Our own tag is integrity-checked when it loads: if what arrives in the browser is not the script we published, it does not run. A monitor an attacker can silently modify is worse than no monitor at all, because it keeps reporting all-clear while the page is being skimmed. Not every agent in this category verifies itself, so it is worth asking each vendor you evaluate.

Do we have to route our traffic through you?

No, and this is worth being precise about. There is no DNS change and no CDN change, and your site traffic is never routed through our infrastructure. The tag runs on your page and reports what it sees. Separately, we fetch the third-party scripts themselves from our side so they can be hashed, archived and analysed without doing that work in your visitor's browser.

What counts as a payment page?

Any page where a cardholder enters, reviews or confirms card data. That includes checkout forms, payment confirmation screens and stored-card management pages. It also includes a page that embeds a payment iframe: the iframe belongs to your provider, but the page around it is yours, and that page is where a script can reach the form. You define the scope with selector rules, and only those page views count towards your plan.

Can we watch without blocking anything?

Yes. Monitor-only mode produces exactly the same evidence, including a record of what would have been blocked and on which pages, with nothing actually stopped. Most teams run this way for the first few weeks, then enable enforcement once the inventory has settled.

What happens if a vendor changes their script?

Yes, you find out, and that is the point of integrity assurance. Approval is pinned to the payload hash you approved, so when a vendor ships new code it arrives as a change that needs review rather than as silently inherited code. You will also see it if the vendor's own vendors change, which is where most surprises come from.

See every script on your
checkout, this week.

Install the tag, mark your payment pages, and watch the inventory fill in. Free forever on 1,000 page views a month, no credit card.

Free forever plan. No credit card.