Magento Open Source PCI DSS compliance

Which parts of a self-hosted Magento Open Source store fall in PCI DSS scope, how to shrink that scope with hosted payment fields and CSP, and what patching and evidence an assessor expects.

On this page

Magento Open Source PCI DSS compliance starts with scope

PCI DSS scope is set by where cardholder data is captured, processed, stored or transmitted, and the platform choices made during the build decide most of it. If your team is launching or running a self-hosted Magento Open Source store that takes card payments, the first task is not hardening. It is agreeing with your assessor or acquirer exactly which systems will be pulled into the assessment, because that list drives every control that follows. A decision to post card data through your own server, or to load payment page scripts from several sources, can widen scope far beyond the checkout page a shopper sees. Self-hosting changes who owns what. When the platform runs in your own cloud account or data center, your store team is responsible for the web server, the admin panel, the patch cycle for the platform and its PHP, database and search services, and every script that runs on the payment page. Nobody else applies those patches or watches those scripts for you. A store that looks simple can still bring the whole platform into scope. If the admin area shares a network segment with the database, if a third-party extension can read request bodies, or if a tag manager can inject scripts into the checkout, an assessor may treat all of those components as part of the cardholder data environment. So the scope conversation should start with an inventory. List every host, service, extension and third-party script that touches the checkout or the admin, and mark which of them ever see a primary account number. Then ask whether the architecture can keep card entry on a payment provider's hosted fields, so the store server never receives the number. That single decision often determines whether the assessment covers the whole store or a narrower set of components. Document the decision and the reasons for it, because the assessor will ask how the boundary was drawn. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue attestations, reports or certifications. A qualified security assessor, or the acquirer that processes your card payments, determines the scope and validates compliance. Your first actions are to confirm with your acquirer which PCI DSS version applies and which self-assessment type or validation route you must complete, since those answers change the evidence set. Ask them in writing and keep the reply with your scope documentation. Once scope is agreed, you can plan the remaining work: payment page script controls, patching duties and the evidence the assessor will request. Those topics depend on the boundary you set here, so treat the scope record as the baseline for every later change to the platform, its extensions or its hosting.

Which Magento Open Source components sit in the cardholder data environment

A self-hosted Magento Open Source store has many parts that can touch card data or shape the payment page, and each one is a scope question for your assessor. The cards below group those parts by how they can bring card data or payment code into the cardholder data environment, and what your team should inventory for each.

Storefront and checkout templates

Checkout templates render the page where card details are entered, so they determine whether your own server ever sees card data. Ask your assessor whether a page that loads a payment iframe from a provider, or one that posts raw card fields to your server, is treated as in scope. Inventory every checkout template, layout XML file and script include that runs on the payment step.

Admin panel and user accounts

Administrators can view orders, reconfigure payment methods and change code-adjacent settings, so admin access can influence the payment page even when no card data is stored. Confirm with your assessor which admin roles and accounts are treated as in scope. Inventory every admin user, role, API integration token and the identity method used to sign in.

Payment method modules and configuration

Payment modules, whether bundled or from a provider, decide where card data is captured, transmitted and stored. Ask the assessor how the chosen integration model, such as a redirect, a hosted field or a direct post, affects scope. Inventory each installed payment module, its version, its gateway credentials location and every configuration value that controls capture or tokenization.

Custom modules, themes and third-party extensions

Magento extends through modules, themes and language packages, and modules follow a PSR-4 structure, so custom payment code can be located by its namespace and directory layout. Ask your assessor whether custom or third-party code that runs during checkout is in scope, and which code review evidence they expect. Inventory each custom module and extension by vendor, version, owner and whether it executes on payment pages.

Web server, Varnish and cache layer

The nginx web server and the Varnish full-page cache sit in front of the application and can serve or cache payment pages, headers and scripts. Confirm with your assessor whether cached checkout responses and the cache configuration fall in scope. Inventory the web server configuration, response headers including Content Security Policy, Varnish VCL files and the paths that bypass or cache checkout.

Database, logs and file system

The database, application logs and file system can hold order data, debug output, session records and uploaded or generated files that may contain card data or its tokens. Ask the assessor how log retention, debug mode and temporary directories are scoped. Inventory the database schemas that hold order and payment tables, log locations and retention settings, and the directories writable by the web user.

Hosted payment fields or on-page card capture: the decision that sets scope

This table compares three ways to collect card data on a self-hosted Magento Open Source store, from a provider-hosted page to direct capture on the store's own pages. Read each row as a question to settle with your acquirer and assessor before you choose, since the capture method shapes which controls you must run and which questionnaire type is likely to apply.

OptionWhen it fitsWhat the team must maintainEffect on the scope conversation
Provider-hosted page or iframeStores that want the card form to sit entirely with the payment provider and can accept a redirect or a provider-controlled frame at checkout.Provider integration updates, redirect and return-URL handling, and CSP rules that allow only the provider's frame and scripts.Usually the smallest set of systems that touch card data. Confirm with the acquirer which self-assessment questionnaire type this option supports.
Hosted payment fields embedded in Magento checkoutStores that want a native-looking checkout while the card number is entered into provider-hosted fields rendered inside the Magento page.Script inventory for the payment page, CSP policy for the provider's domains, and testing after each Magento patch and theme change.The payment page still loads code from the store's domain, so the assessor will review script control and CSP evidence. Confirm the questionnaire type with the acquirer before build.
Direct card capture on the store's own pagesStores that collect card number, expiry and security code in their own form fields and send them onward for authorization.Full ownership of the payment page code, extensions and third-party scripts that can read form input, plus CSP, file integrity and patch duties.Card data passes through systems the store operates, so the assessor reviews much more of the environment. This option usually points to a more demanding questionnaire, which the acquirer must confirm.
Who controls the card formProvider in the first option, shared in the second, the store in the third.Record the owner of each script and field in the payment page inventory so each control has a named owner.Ask the acquirer to state in writing which responsibilities the chosen method moves to the provider.
Script and CSP controlLowest in the provider-hosted option, moderate when fields are embedded, highest with direct capture.Maintain an allowlist of script sources and a CSP policy in restrict mode where Magento enforces it on payment pages, and review it after each release.Evidence the assessor typically asks for includes the policy file, the change history and test results showing blocked unknown scripts.
Redirects and return handlingRelevant when the provider uses a redirect or frame flow to complete authorization.Verify order status on return, handle timeouts and cancelled payments, and test back-button and session expiry paths.Flow changes can alter which pages are in scope, so document the full path from cart to confirmation for the assessor.
Provider integration updatesApplies to all three options, with the heaviest load in direct capture.Track provider module and API version changes, and retest the payment flow before each Magento patch cycle.Keep a record of the provider module version in production, since assessors ask how upgrades are approved and tested.
Magento version and patch dependencyAny Magento Open Source line in support, including 2.4.9 released in May 2026.Keep the platform on a supported 2.4.x line so payment code and CSP handling receive security fixes.Confirm with the acquirer and assessor which Magento version and patch level they expect to see in the evidence pack.

How to build a payment flow that keeps the store out of card data handling

This sequence produces a checkout where card numbers are entered into the payment provider's own fields and never reach the store's servers, and where the store can show evidence of that boundary. Each step closes with a check the team can repeat and hand to an assessor.

  1. Confirm the provider and integration model

    Decide with the payment provider which integration model you will use before any code is written, because the model sets how much of the card flow the store touches. Ask the provider in writing whether card fields are hosted in their own frames or redirect pages, whether the store receives tokens only, and which storefront and admin pages they expect to load their scripts. Record the answers in the project scope. The step is done when the integration model, the pages it affects and the provider's written data flow description are agreed and filed with the project plan.

  2. Inventory every page and script in checkout

    List every storefront and admin page that renders during payment, including cart, checkout steps, the payment step, order success, and any admin pages where staff take or refund payments. For each page, list every script, iframe and external domain it loads, including theme scripts, extensions, tag managers and analytics. Build this list from a browser's network log on a staging copy, not from memory. The step is done when the inventory shows each page, each external domain and the owner of each script, so the team can see where card data could be exposed.

  3. Install and configure the payment integration

    Install the payment extension your provider supports on a non-production environment, using the version the provider certifies for your Magento Open Source release line. Confirm the release line against Adobe's system requirements for your target version, because PHP, database and cache versions differ across 2.4.x releases. Store API credentials in the environment configuration rather than the database, and set test and live modes separately. The step is done when a test transaction completes end to end and the extension's version and configuration are recorded in the change log.

  4. Serve card fields from the provider domain

    Configure the integration so the card number, expiry and security code fields are rendered by the provider inside a hosted field or iframe, and confirm the store's page never contains those inputs as its own form fields. Remove any custom checkout template that posts raw card values to a store endpoint. The verification is a browser capture of the payment step, with the developer tools network and DOM panels open, showing that the card inputs are served from the provider's domain and that no request to a store URL carries a card number. Keep the capture with the change record.

  5. Enable and tune Content Security Policy

    Enable Content Security Policy headers on storefront and admin payment pages and set allowed sources to the provider's script and frame domains plus the store's own domains. From 2.3.5, Magento Open Source supports CSP headers, and from 2.4.7 the policy runs in restrict mode by default on storefront and admin payment pages. Teams on 2.3.5 through 2.4.6 must configure and enable it explicitly, and should confirm the setting on their own release. Start with report-only collection where the release allows it, then move to enforcement once the report is clean. The verification is a CSP report or console log showing that unexpected sources are blocked and that the provider's frames load without violations.

  6. Remove scripts not needed on payment pages

    Using the inventory from the second step, remove or restrict every script that is not required to take payment on checkout and order pages. This commonly includes marketing pixels, chat widgets, session replay tools and unused extension assets. Where a script must stay for business reasons, document the owner, the reason and the review date, and restrict it so it does not load on payment pages. Test that removing a script does not break the order flow. The verification is a repeat of the browser network capture showing that only the approved domains load on payment pages, with the list matching the signed-off inventory.

  7. Test the full checkout and failure paths

    Run the complete checkout on staging with the provider's test cards, covering successful payment, declined payment, a timeout or network failure, a 3-D Secure or other redirect challenge where the provider uses one, cancellation at the provider page, and a refund from the admin. Check that the store never logs or displays card numbers in error messages, logs, or the admin order view. Include a CSP violation check during each path, since failed or redirected flows often load different scripts. The step is done when each path has a recorded result, and any blocked resource found during testing has either been allowed deliberately with a documented reason or removed.

  8. Document the final data flow

    Write a data flow description that shows each system a card or token passes through, from the shopper's browser to the provider, the store's order record and any logging, backup or cache layer that could hold payment data. Name the owner of each component, the CSP policy version, the approved script list and the test evidence from the previous steps. Store this with the compliance evidence and update it whenever the provider, extension, theme or CSP policy changes. Ask a qualified assessor to review the description, since this document supports the scope decision but does not replace an assessment. The step is done when the data flow document, the CSP policy and the test records are version-controlled together.

How Content Security Policy controls scripts on Magento payment pages

A Content Security Policy (CSP) is a set of instructions sent with a page that tells the browser which sources of scripts, frames and outbound connections are allowed to run or load. Anything not on the list is blocked, and the browser can report the attempt. On a Magento Open Source payment page, this matters because the most damaging attack against a self-hosted store is card skimming through injected JavaScript. A script added by a compromised extension, a tampered theme file or a rogue tag can read card data typed into the checkout form, and the store's server logs will show nothing unusual. A CSP is one of the few controls that limits which scripts a browser will execute on the page, regardless of how the script got into the HTML.

The practical work starts with an inventory. List every legitimate script, frame and connection source on the checkout and payment pages: the payment provider's hosted fields or script, the theme's own assets, analytics and tag manager containers, fraud or device-profiling services, and any chat or review widgets. Ask the payment provider for the exact domains it requires, and confirm whether its scripts load further resources from other hosts. Each extension that renders on checkout should also be traced to its script origins. Keep this list in the change record, because the assessor will ask how the policy was derived and who approved each source.

Build the policy in report-only mode first. In this mode the browser reports violations to an endpoint but does not block anything, so the team can see what the storefront actually loads before enforcement can break checkout. Review the violation reports for several full checkout cycles, including guest checkout, saved cards, coupon use and any multi-step payment flow. Each report should be classed as a missing legitimate source (add it with an owner and reason), an unexpected source (investigate it as a possible compromise or unapproved extension) or noise from browser extensions. Only move to enforcement once the unexpected sources are explained and the legitimate list is stable.

Inline scripts from extensions are the usual obstacle. Many extensions print inline JavaScript into checkout templates, which a strict policy blocks unless the script carries an approved nonce or hash. Do not respond by allowing all inline script, because that removes most of the protection. Instead, list each extension that injects inline code on payment pages, ask the vendor whether it supports nonce-based output, and decide whether to replace it, move the code into a reviewed module file or accept a documented exception. Magento Open Source supports CSP headers from version 2.3.5, and Adobe's developer documentation states that from 2.4.7 the policy runs in restrict mode by default on storefront and admin payment pages. Verify these defaults on the installed version and check how your configuration overrides them before relying on them.

For the payment page script requirements in PCI DSS, the relevant control concerns managing scripts that run on payment pages so that unauthorized script changes are detected or prevented. Confirm the requirement identifiers, the scope of the pages covered and the evidence the assessor expects, such as the approved script inventory, the policy configuration, change records and violation review logs, before you finalize the approach. The assessor's expectations decide what must be retained, so raise this with them early rather than after the policy is live.

How scope and evidence change between single node, multi-node and cloud-hosted stores

On a single node, the web server, PHP runtime, database, search, cache, queue and admin all run on one host. Because every component that could store, process or transmit card data sits in the same place, the assessor will usually treat the whole host as in scope. That makes the boundary simple to draw but expensive to defend, since any weakness on the box is a weakness in the cardholder data environment.

What this means in practice:

  • Scope: Plan on the full host, including the operating system, the admin application and the local database, unless the payment page is delivered by a hosted payment provider so that card data never reaches your server.
  • Hardening and patching: Operating system, PHP, MySQL or MariaDB, OpenSearch, Redis or Valkey, RabbitMQ and nginx patches all land on one machine, so one missed update affects every tier.
  • Logging and monitoring: Centralize logs from the host and the application so the assessor can trace admin access and file changes on that single system.
  • Recovery: Backups of the database and file system carry the same scope as the live host, so confirm how they are encrypted and who can restore them.
  • Evidence: Expect one set of configuration baselines, one patch record and one access review to cover everything.

Before you commit to this model, confirm with your acquiring bank or assessor whether a hosted payment integration will keep card data off your server, and document that decision in writing.

What drives PCI DSS effort on a Magento store and how to keep it down

This table lists the factors that widen or narrow PCI DSS work on a self-hosted Magento Open Source store, with how each one raises effort and the practical way to reduce it. Read each row as a lever you can set before build starts, and use the scope request column to decide what to put in a written quote. The main takeaway is that the fewest payment paths, scripts, extensions and admin accounts usually produce the smallest assessment.

DriverWhy it raises effortHow to keep it downWhat to request in writing
Payment methods and providersEach gateway or wallet adds an integration path, configuration to review and possibly a separate data flow to document.Offer one hosted payment method where the card fields are supplied by the provider, and remove unused methods from the checkout.A list of every payment method enabled, the provider for each, and the data path the assessor will trace.
Custom checkout changesCustom code that touches payment fields, tokens or order submission can move card handling into your own code, which the assessor must review.Keep checkout changes to layout and copy where possible, and avoid custom code that reads or stores card values.A description of every checkout change, the files it touches and confirmation that no card data passes through custom code.
Third-party extensions with checkout or admin accessEach extension with access to checkout or the admin panel becomes part of the reviewed environment, and its vendor's update practices affect your patching duties.Audit extensions before onboarding, remove unused ones, and keep only those with current compatibility and a named maintainer.The extension inventory with version, vendor, access level, and the date of the last review.
Custom modules that handle payment dataModules written in-house that process, log or forward payment details require secure development practice evidence and their own testing.Limit custom modules to order and catalog logic, and let the hosted provider own card capture.Source code location, a data flow for any module that handles order or payment fields, and the test records for it.
Scripts on payment pagesEvery third-party script on checkout or payment pages can alter the page, so each one needs an approval record and a content security policy entry.Limit scripts on payment pages to those the business needs, and enforce a content security policy for checkout and admin payment pages.A script inventory for checkout, the policy headers in use, and the approval record for each script.
Environments holding live or realistic card dataStaging or test copies that hold live or realistic cardholder data bring those systems into the assessed environment.Use test environments with no live cardholder data, and use the payment provider's test cards in non-production.A map of all environments, the data each holds, and confirmation of how test data is created and removed.
Hosting modelSelf-managed servers, shared hosting and cloud accounts each have different owners for patching, network controls and logging, which changes who must provide evidence.Pick a hosting model where the responsibility split with the provider is written down, and keep the payment-facing servers separate from other workloads.A responsibility matrix from the host, network diagrams and the list of components the store team operates.
Logging and monitoring scopeLogs that capture request bodies, payment fields or admin actions expand the systems to protect and review, and missing logs fail the assessor's sampling.Log admin actions and access events, avoid logging payment data, and set retention and review ownership before go-live.The logging configuration, retention period, who reviews alerts and a sample of log entries for admin logins.
Number of admin usersEvery admin account is a credential the assessor will check for strength, review cadence and two-factor authentication, so more accounts mean more evidence.Reduce admin accounts to the roles that need them, enforce two-factor authentication, and remove accounts when staff leave.The admin user list with roles, the 2FA setting for each account and the access review records from the last cycle.

Patching duties and access controls Magento PCI DSS compliance expects

A PCI DSS assessment of a self-hosted Magento Open Source store looks closely at how quickly the platform stays on supported releases and how access to the admin and servers is controlled. The cards below cover the duties the store team owns day to day, from patch cadence and supported stack versions to admin access, secrets and file permissions.

Patch cadence and the upgrade cycle

Adobe's upgrade guidance recommends upgrading every patch cycle to stay secure and PCI compliant, so the team needs a standing schedule rather than ad hoc fixes. Each 2.4.x line receives a full patch annually in May, with security patches released at least once a year for all supported lines. Record the patch level running in production, the date it was applied and who approved it, because an assessor will ask for that history.

End of support dates for each line

Adobe gives each 2.4.x release three years of standard support, and once regular support ends, security fixes for that line stop being a safe assumption. The published end dates are August 11, 2026 for 2.4.6, May 31, 2027 for 2.4.7, May 31, 2028 for 2.4.8 and May 31, 2029 for 2.4.9. Put the end-of-support date for the running version on the team calendar, and plan the next upgrade well before it arrives.

Supported stack versions for the target release

Adobe supports only the combinations listed in its system requirements for each release, so PHP, MySQL or MariaDB, OpenSearch, Redis or Valkey, RabbitMQ, Composer and nginx must match that list together. For 2.4.9 the listed versions are PHP 8.5, MySQL 8.4 or MariaDB 12.3 (recommended) or 11.8, OpenSearch 3, Redis or Valkey 9, RabbitMQ 4.3, Composer 2.10 and nginx 1.30 on Linux x86-64. Confirm each component against the requirements page for the exact release you run, since a mismatch can leave a component outside what Adobe supports.

Admin access and two-factor authentication

Admin accounts are a common target, so the team should limit admin roles to the people who need them, remove dormant accounts and enforce two-factor authentication for every admin login. Review role assignments on a set schedule and keep a record of who changed them. Ask your assessor which evidence they expect for admin account reviews, since the format varies by assessor.

Secrets kept in environment configuration

Database passwords, payment gateway keys, API tokens and encryption keys should live in environment configuration or a secrets store, not in code, templates or version control. Check the repository and custom modules for hard-coded credentials before each release, and rotate any value that has been exposed. Confirm with your hosting or secrets tooling vendor how rotation is logged, since that log is evidence an assessor may request.

File permissions and the Mage-OS option

Web-writable directories should be limited to the paths Magento needs at runtime, and code files should not be writable by the web server user. Mage-OS, a community distribution built on Magento Open Source, lists releases that port Adobe security patches, which can be an option for some teams. Before adopting any Mage-OS release, verify that its patch set matches the Adobe advisories for your version and that your extensions remain compatible.

How Magento PCI DSS compliance evidence gets checked before an assessment

Before an assessor arrives, the store team should run its own checks against the claims the evidence will make. The first check is the payment page itself. In a clean browser session with no cached assets or leftover extensions, load the checkout and the admin payment pages and confirm that card fields are served from the payment provider's domain, not from the store's own host or a third-party script domain. Then review the Content Security Policy violation reports for those same pages. Magento Open Source supports CSP headers from 2.3.5, and from 2.4.7 the policy runs in restrict mode by default on storefront and admin payment pages, so a violation during testing usually means a script or frame source was never added to the allowlist. Each violation should be either fixed or explained in writing before the assessment. Next, test the transaction paths end to end on a non-production environment with the payment provider's test cards. Run a successful payment, a declined payment, a timeout, and a redirect back from a hosted payment page for each payment method you accept. For each path, confirm the order status, the customer message and the admin view match what you expect. Then search for card data where it should never appear. Check application logs, web server access and error logs, database tables that store quotes, orders and payment additional information, and the rendered error pages. A test card number that shows up in any of those places is a finding you need to fix before the assessor sees it. Keep the test scripts and their results, since they become part of the evidence. The evidence package is where most stores lose time. Assessors typically ask for network and data flow diagrams that show where card data enters, moves and stops, a scope inventory that lists every system in the cardholder data environment and every system connected to it, configuration exports for the web server, PHP, Magento and the payment integration, and change records for each patch, customization and script change. They also ask for the admin access list with roles, a vulnerability scan and penetration test report where the scope requires one, and a written responsibility matrix for any hosting provider. Confirm that the patched Magento version matches a supported combination of PHP, MySQL or MariaDB, OpenSearch, Redis or Valkey, RabbitMQ and nginx on the vendor's system requirements page, because a patched store running an unsupported combination is hard to defend. DeployOpen can run the security testing described above, and it can prepare the diagrams, scope inventory, configuration exports, change records and responsibility matrix as part of a written scope. Scope, deliverables and timelines are agreed in writing before work starts. The assessor, not DeployOpen, reviews this evidence, issues the findings and any attestation. Ask your assessor early which artifacts they want in which format, and confirm with them whether a penetration test or scan is required for your scope, so the testing you commission matches what they will accept.

What buyers ask about Magento PCI DSS compliance before hiring help

How much effort does PCI DSS scope work take on a Magento Open Source store?

Effort depends mainly on how much of the store touches cardholder data, and that is decided by the payment design more than by store size. Key drivers:

  • Whether card fields are hosted by the payment provider or rendered on your own pages
  • How many custom modules, themes and third-party extensions load scripts on checkout and admin payment pages
  • How many systems, such as ERP connectors, logs, backups and support tools, store or relay payment data
  • How many environments exist and how they are segmented

A narrow scope with hosted payment fields and a short system list takes far less work than a store with custom card handling. Ask any partner for a written scope that lists each in-scope system and the reasoning for leaving others out.

How long does a PCI DSS readiness project for Magento usually run?

Duration is driven by the same factors as effort, plus how quickly your team can answer questions and produce evidence. Scoping and architecture review come first, then changes to checkout and scripts, then control evidence and the assessor's own review, which runs on the assessor's calendar. Timing also depends on the Magento release you run. Adobe's lifecycle policy sets end of regular support dates for each 2.4.x line, so if your version is close to its end date, an upgrade may be needed before or alongside compliance work. Ask for a timeline in the written scope, with named dependencies on your side and the assessor's engagement dates confirmed separately.

What does our internal team need to provide for a Magento PCI DSS engagement?

Outside help moves faster when your team supplies accurate access and records from day one. Plan to provide:

  • Architecture diagrams and a list of hosts, services and network paths
  • Admin user accounts with the roles needed to review configuration, and a named owner for approvals
  • Contacts at each payment provider who can confirm how hosted fields and tokens work
  • Change history for the store, including deployments, extension installs and patch records
  • Access to logs, backup procedures and the vulnerability management process

Confirm during scoping who holds each item and how quickly it can be shared, since missing records are a common cause of delay.

Can a small team set up hosted payment fields on Magento alone?

A small team can often complete the configuration of a hosted payment integration, but the work is rarely limited to the configuration itself. The payment provider's documentation, your Magento version and the theme or checkout customizations all affect the result. Small teams commonly underestimate the testing of script behavior, the Content Security Policy rules that must allow the provider's domains, and the evidence needed to show the setup stays in place after each patch or upgrade. Check whether your team has someone who can read the provider's integration guide, test checkout across browsers, and maintain the change record. If not, a partner can handle that part under a written scope.

What should a written scope for Magento PCI DSS work include?

A useful scope names what is being done and what is not. Ask that it covers:

  • The in-scope and out-of-scope systems, with the reasoning for each
  • The payment integration method and the provider contacts involved
  • Content Security Policy changes for payment pages, with the rule set your Magento release uses
  • Patching and upgrade responsibilities, including which Magento 2.4.x line is targeted
  • The evidence package to be delivered, and who prepares each item
  • Who engages the qualified assessor, and what is excluded from the work

A written scope also states assumptions, acceptance steps and change control. Request the same document from every bidder so quotes can be compared on equal terms.

Does DeployOpen issue a PCI DSS attestation for a Magento store?

No. DeployOpen does not issue PCI DSS reports, attestations or certifications. DeployOpen plans and implements the technical changes, prepares systems, controls and evidence for the assessment, and can support your team through the process. The formal assessment is carried out by a qualified assessor, and that assessor decides the outcome. Your organization is responsible for choosing the assessor, providing the assessor with access, and making the compliance decision. Ask any partner to state this division of responsibility in the written scope so there is no confusion about who signs off on the result.

Which Magento version should we run before starting PCI DSS work?

Choose a version that still receives security patches for the length of the project and beyond it. Adobe publishes end of regular support dates for each 2.4.x line in its lifecycle policy, and the release schedule states that security patches ship at least annually for all supported lines. Check the current release notes and system requirements before deciding, because PHP, database and search service versions are tied to the Magento release. Confirm the exact dates with Adobe's published policy at the time you plan, and include the upgrade path in the scope if your current line is near its end of support.

What the store team must keep doing after go-live to stay in scope

Scope stays small only if the store team repeats a short set of checks every time the store changes. The most important is re-running the scope inventory after each extension install, theme change, payment configuration edit or new third-party script. Each of those can add a system that touches cardholder data, a new script on the checkout or payment pages, or a new route for data to leave the store. Record which components were checked, who checked them and what the result was, so the assessor sees a current picture rather than the one from go-live. Content Security Policy needs the same discipline. Adobe's developer documentation says CSP headers are supported from 2.3.5 and that from 2.4.7 the policy runs in restrict mode by default on storefront and admin payment pages. Any change to a payment provider, analytics tag, tag manager or chat widget can break checkout or open a hole in the policy. Review the allowed sources after each such change, test the checkout in a staging environment, and keep the policy file under version control alongside the change ticket that justified it. Patching is the other recurring duty. Adobe's upgrade guide recommends upgrading every patch cycle to stay secure and PCI compliant, and its release schedule says a full patch for the 2.4.x LTS line ships annually in May with security patches at least annually for supported lines. Each patch cycle should be followed by a retest of the checkout flow, including the hosted payment fields, the 3-D Secure step and the order confirmation email, because a core patch can change JavaScript loading order even when no custom code changed. Adobe's upgrade guide names customizations, extension count, third-party integrations and coding practices as the drivers of upgrade effort. Each extension and each custom change on the payment path adds code that must be retested after every patch. Keeping payment logic in isolated custom modules that follow the PSR-4 structure Adobe describes limits what has to be retested, because changes to catalog, theme or marketing modules do not touch the payment code path. Ask the implementation partner to document which modules are in scope and which are not, and review that list at each release. Finally, the store team should review admin accounts and access on a quarterly cycle, remove accounts that are no longer needed, confirm two-factor authentication is enforced for every administrator, and review logs for card data leakage such as full primary account numbers appearing in error messages, debug output or support tickets. Hand the routine items (scope inventory updates, access reviews, log sampling and change records) to the internal operations team with a written runbook. Retain a retainer for patch application, upgrade testing, CSP rework and assessor evidence preparation, since these need specialist review and recur on a schedule the team should confirm in its own contract.

How DeployOpen scopes, builds and hands over Magento payment work

DeployOpen plans, implements, hardens, documents and supports self-hosted Magento Open Source stores inside the client's own infrastructure. For PCI DSS work, the focus is on defining what is in scope, building the payment page controls and patching routine, and preparing the evidence an assessor will ask for, while independent assessors remain responsible for any assessment outcome.

How we scope

  • Map every system that stores, processes or transmits cardholder data, including the storefront, checkout, admin and hosting tiers.
  • Confirm which payment method and integration pattern is in use, since it sets how much of the store falls in scope.
  • Record scope boundaries and responsibilities in a written, fixed-scope agreement before any build work begins.

How we build

  • Configure hosted payment fields so card data is entered on the provider's page rather than touching the store's servers.
  • Set a Content Security Policy for storefront and admin payment pages, starting from the restrict mode Adobe documents for 2.4.7 onward.
  • Test payment pages, admin access and the patch process, then document each control against the assessor's requirements.

How we hand over

  • Deliver scope diagrams, network and data flow records, configuration baselines and the change log for payment-related code.
  • Provide a patching runbook covering Adobe's security releases, the annual full patch and PHP and service version changes.
  • Walk your team through the evidence set so they can answer assessor questions and keep it current after handover.

How we support

  • Offer ongoing support, upgrades and continuous testing as a retainer, separate from the initial fixed-scope build.
  • Review the scope and CSP rules when the payment provider, theme or extensions change, and retest affected pages.
  • Confirm with your assessor and payment provider which responsibilities remain with your organization after each change.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.