PCI DSS requirement 6.4.3 says that every script loaded and executed in the consumer's browser on a payment page must be managed in three ways: a method confirms the script is authorized, a method assures its integrity, and an inventory records every script with a written business or technical justification. It applies to your own scripts as much as third-party ones, and it has been mandatory since 31 March 2025.
What the requirement says, in plain words
This is a paraphrase; the exact wording is in PCI DSS v4.0.1, available from the PCI SSC document library. Requirement 6.4.3 covers all payment page scripts that are loaded and executed in the consumer's browser, and has three parts:
- Authorization. A method is in place to confirm that each script is authorized, meaning someone with the right to decide has agreed that this script may run on this page.
- Integrity. A method is in place to assure the integrity of each script, meaning that the script that runs is the one that was approved and has not been altered.
- Inventory and justification. A list of all scripts is kept, with a written business or technical reason why each one is necessary.
It sits in the part of PCI DSS about developing and maintaining secure systems and software, and it is a companion to requirement 11.6.1, which detects unauthorized changes. For why both exist, see why the PCI SSC created them.
Which scripts and which pages
The requirement is not limited to third-party scripts. Scripts you wrote, libraries you host, scripts loaded by a tag manager, and scripts loaded by other scripts are all scripts that execute in the browser on the payment page. PCI DSS v4.0.1 also added a note that the requirement applies to the scripts on a merchant's web page that includes a payment provider's embedded payment form, for example in an iframe. Whether and how it applies to your environment depends on how you accept payments; see 6.4.3 and 11.6.1 for SAQ A, SAQ A-EP and SAQ D, and confirm with your acquirer or assessor.
Ways to meet each part
PCI DSS leaves the method to you, and a QSA decides whether what you do meets the intent. Approaches commonly used include:
Authorization
- A documented approval workflow: who may approve a script, what information they need, and how the decision is recorded and dated.
- A technical control that enforces the approved list, for example a Content Security Policy that allows only approved script sources.
Integrity
- Subresource Integrity for static external scripts, so the browser checks the file against an approved hash.
- Hosting approved copies yourself and comparing their hashes with the approved values on a schedule.
- CSP hashes or nonces for inline scripts.
- Monitoring that compares the content the browser receives against an approved baseline, which also supports 11.6.1.
No one technique covers every case. A hash on a static file cannot help with a script a vendor changes every week, and a CSP allow-list does not tell you whether an allowed host's file has been altered. That is why many organizations combine methods.
Inventory and justification
The inventory must be real, which means built from what the browser loads, not from what the source code says. Each entry needs a reason that a reviewer can understand and test. See how to build a payment page script inventory.
What an assessor typically wants to see
Assessors differ, so ask yours, but evidence of this kind is usual:
- the current inventory for each payment page, with owner, purpose and justification for each script;
- records of who authorized each script and when, and how a change is approved;
- a description of the integrity method and evidence it is working, such as hashes, policy files and monitoring output;
- evidence that the inventory matches what the pages really load, and that it is reviewed and updated, not produced once;
- how new or changed scripts are handled between reviews.
Common mistakes
- An inventory taken once from the source code, missing scripts added by a tag manager or loaded by other scripts.
- Justifications such as "marketing" or "vendor request" that do not say why the script is needed on a payment page.
- Counting only the main checkout page and forgetting the other steps of the flow.
- Treating an iframe from a payment provider as removing all obligations for the page around it.
Key takeaways
- Requirement 6.4.3 has three parts: authorize each script, assure each script's integrity, and keep an inventory with a written justification.
- It covers every script that runs in the consumer's browser on the payment page, including first-party and tag-manager-loaded scripts.
- It became mandatory on 31 March 2025.
- The standard leaves the method to you; combining techniques usually covers more cases than any one.
- Evidence has to show a living process: a current inventory that matches reality, approvals and change handling.
Frequently asked questions
Does 6.4.3 apply only to third-party scripts?
No. It covers all payment page scripts that are loaded and executed in the consumer's browser, whether you wrote them, host them or load them from a third party.
Does a Content Security Policy satisfy 6.4.3?
A CSP can be a strong part of the authorization method because it enforces which sources may run. It does not by itself assure that an allowed file has not been altered, so it is usually combined with integrity measures. Your assessor decides whether your combination meets the requirement.
What counts as a written justification?
A short statement of the business or technical reason the script is necessary on that payment page, specific enough that a reviewer can judge whether it is still needed. "Analytics" is weaker than naming what is measured and why it must run on the payment step.
Does 6.4.3 apply if I use a payment provider's iframe?
PCI DSS v4.0.1 says the requirement also applies to scripts on a web page that includes a provider's embedded form, while eligible SAQ A merchants meet a related eligibility criterion instead. Check with your acquirer or assessor.
References
Last reviewed: October 17, 2026