
There's a conversation that happens in payment-adjacent engineering teams roughly eight months into a build, and it goes badly every time.
The Qualified Security Assessor asks a simple question about where cardholder data flows. The engineering lead answers honestly. And then everyone in the room slowly realizes that a service nobody thought about — an analytics pipeline, a logging system, a support tool with access to transaction records — has pulled a large portion of the infrastructure into the cardholder data environment.
That isn't a finding you remediate with a configuration change. It's re-architecture, a delayed assessment, and whatever the delay costs commercially.
Here is the single most useful thing to understand about building payment software: PCI DSS cost is not driven by whether you handle card data. It's driven by how much of your system falls inside scope. And scope is determined by architectural decisions made in the first two sprints, long before anyone opens a Self-Assessment Questionnaire.
Two functionally identical platforms — same features, same users, same transaction volume — can differ by an order of magnitude in compliance burden, assessment cost, and annual overhead, based entirely on where the boundaries were drawn early.
This guide covers how scope actually works, the architectural patterns that reduce it, the v4.0.1 requirements that quietly turned PCI into a frontend problem, the shared-responsibility trap that catches teams using hosted payment pages, and how to build systems that produce assessment evidence rather than scrambling for it.
Brief orientation, because the timeline matters for what your next assessment will look for.
PCI DSS v4.0.1 is the active standard. It replaced v4.0 at the end of 2024, and v3.2.1 was retired in March 2024. Version 4.0.1 added no new requirements — it clarified existing ones and corrected inconsistencies.
The future-dated requirements are no longer optional. When v4.0 published in 2022, a substantial set of new requirements were designated as best practices with a grace period. That period ended on March 31, 2025. They are now enforceable in every assessment.
The practical consequence for engineering teams: if your organization validated under v3.2.1, or validated under v4.0 during the grace window without implementing the future-dated controls, your next assessment finds gaps. Several of those controls have real implementation complexity — particularly the client-side script requirements discussed below, which are frequently the longest lead-time item on a remediation roadmap.
What changed structurally in v4.0 beyond individual requirements: universal multi-factor authentication for all access to the cardholder data environment, stronger password standards, targeted risk analyses that require organizations to justify control frequencies rather than accept defaults, and a customized approach option that permits alternative controls meeting the security objective — with substantially more documentation burden attached.
That last point deserves emphasis for architects: the customized approach is genuine flexibility, and it is not a shortcut. It requires you to document the security objective, design a control that meets it, perform and document a targeted risk analysis, and demonstrate effectiveness to an assessor. Teams that reach for it hoping to avoid work usually discover it's more work.
The cardholder data environment — the CDE — comprises the people, processes, and technology that store, process, or transmit cardholder data, plus any system component that can affect the security of those systems.
That second clause is where most of the damage happens, and it's routinely underestimated.
A system doesn't need to touch card data to be in scope. It needs only to be able to influence the security of systems that do. A jump host with administrative access. A monitoring agent installed on CDE servers. A CI/CD pipeline that deploys into the environment. An identity provider that authenticates CDE users. All in scope, none of them containing a single primary account number.
The three categories worth thinking in:
Category | Definition | Practical implication |
|---|---|---|
CDE systems | Store, process, or transmit cardholder data | Full requirement set applies |
Connected-to / security-impacting | Can connect to or affect the security of CDE systems | In scope; full requirement set generally applies |
Out of scope | Cannot affect CDE security; segmentation verified | Excluded — but you must prove it |
That last row is the one worth designing toward, and the phrase that matters is "you must prove it." Out of scope is not a claim you make. It's a position you defend with segmentation testing, network documentation, and data flow diagrams that survive an assessor tracing them.
Which means scope reduction isn't a compliance exercise performed near the end of a project. It is an architecture discipline exercised from the first data model conversation.
The patterns below account for the majority of scope surprises we see. None involve anyone doing something obviously wrong.
Logging that captures too much. A well-intentioned debug log writes full request payloads. Card data enters your logging infrastructure, your log aggregation service, your long-term archive, and your SIEM. Four systems just entered scope because of one log statement.
Analytics and observability agents. Application performance monitoring that captures request bodies. Session replay tools recording checkout pages. Error trackers attaching request context to exceptions. All designed to capture everything, all now capturing something they shouldn't.
Support tooling with broad read access. An internal admin panel that displays transaction records for troubleshooting. Convenient, and now in scope along with everything it connects to.
Flat networks. No segmentation means everything on the network can reach the CDE, which means everything is in scope. This is the single largest scope multiplier and the most expensive to fix retroactively.
Shared infrastructure without isolation. A database cluster hosting both the payment schema and unrelated application data. A Kubernetes cluster running CDE and non-CDE workloads on shared nodes.
Backups and data warehouses. Nightly exports of production databases into an analytics warehouse. If the payment tables come along, the warehouse is in scope.
Development and test environments using production data. A recurring finding, and a genuinely avoidable one.
The design rule that prevents most of this: decide where card data is permitted to exist before you write the first line of code, then treat every system boundary crossing as a deliberate decision that requires justification — not as a default enabled by convenience.
Four patterns that materially shrink what an assessor has to examine. They compound.
Replace the primary account number with a token as close to the point of capture as the architecture allows. Everything downstream handles tokens rather than card data, and everything downstream falls out of CDE classification.
The engineering question that determines effectiveness: how early? Tokenizing after the data has traversed three internal services means those three services are in scope. Tokenizing at the edge — ideally before the data touches your infrastructure at all — is the difference between a narrow CDE and a sprawling one.
Rather than accepting card data in your own form and posting it to your backend, the payment fields are served by your provider and the data never enters your application. This can dramatically reduce scope — potentially qualifying an e-commerce implementation for a substantially lighter self-assessment path.
The caveat that catches teams: the reduction only holds if the implementation is genuinely isolated. A hosted field wrapped in JavaScript that can read or modify it undermines the entire premise — which is precisely why the v4.0.1 script requirements exist.
Where physical terminals are involved, validated P2PE solutions encrypt at the point of interaction so that card data is never present in clear form in the merchant environment. Substantial scope reduction, with the constraint that the solution must be a validated one — a homegrown encryption scheme, however competently built, does not produce the same result.
Segmentation is what converts "we think that system is out of scope" into a defensible position. It requires:
Documented network boundaries with enforced controls
Explicit, minimal, justified traffic rules between segments
Segmentation penetration testing at required intervals to demonstrate the boundaries hold
Data flow diagrams that match reality
The last point matters more than it sounds. Diagrams that were accurate at design time and drifted during implementation are a common and entirely preventable finding.
Here's the change with the largest gap between how much attention it received and how much engineering work it requires.
PCI DSS is now, in part, a frontend problem. Requirements 6.4.3 and 11.6.1 address client-side security on payment pages — and they exist because of a threat model that backend-focused controls simply cannot address.
The attack is client-side skimming: malicious JavaScript injected into a payment page — typically through a compromised third-party script or a supply chain compromise in a dependency — reads card data directly from the browser DOM before it's ever transmitted. Your servers are perfectly secure. Your encryption is flawless. And card data is exfiltrating from your customers' browsers.
What the requirements demand, in engineering terms:
An inventory of every script that executes on your payment page. Not "the scripts we added" — every script, including those loaded transitively by tag managers, marketing pixels, chat widgets, and A/B testing tools. Most teams underestimate this count substantially the first time they enumerate it.
Written authorization and justification for each one. Someone accountable has to have decided that script belongs there, and that decision needs to be recorded.
Integrity assurance. Mechanisms to confirm scripts haven't been tampered with — subresource integrity where applicable, content security policy, and monitoring for unauthorized change.
Change detection on the payment page itself. Monitoring that alerts when the security-impacting content of the page changes unexpectedly.
Why this consistently blows up timelines:
The payment page is usually the most politically contested surface in the product. Marketing wants the tag manager. Analytics wants session replay. Support wants the chat widget. Growth wants the A/B testing tool. Each is a third-party script with its own dependency chain, and each is now something you must inventory, justify, monitor, and defend to an assessor.
The architectural implication: the fewer scripts on your payment page, the cheaper this requirement is — permanently. Teams that treat the checkout flow as a deliberately minimal, tightly controlled surface pay this cost once. Teams that treat it like any other page pay it every year, plus every time marketing adds a pixel.
A pattern worth naming plainly, because it produces genuine surprises during assessment.
Using a payment service provider, a hosted payment page, or an embedded iframe reduces your obligations. It does not eliminate them, and the boundary is frequently misunderstood in the direction that favors the assumption you're covered.
v4.0.1 explicitly clarified third-party service provider relationships and which party is responsible for which aspects of compliance — precisely because this confusion was common enough to warrant it.
What remains yours even with a fully hosted payment page:
The integrity of the page that embeds the iframe (see the script requirements above)
Your own access controls, authentication, and authorization
Your network security and segmentation
Documented awareness of which requirements the provider covers and which they don't
Monitoring your provider's compliance status — their attestation is not permanent
Everything about the systems that consume the tokens afterward
The questions to answer before architecture, not after:
Which specific requirements does the provider assume responsibility for, in writing?
Which remain ours?
Are there requirements that are shared, and what exactly is our portion?
What documentation will the provider give us that our assessor will accept?
What happens to our compliance position if their attestation lapses?
A responsibility matrix built during design costs a day. Reconstructing one during assessment costs weeks and typically surfaces at least one gap nobody owned.
This is the discipline that separates teams who pass assessments smoothly from teams who dread them, and it's rarely discussed.
Being compliant and being able to demonstrate compliance are different engineering problems.
An assessor doesn't observe your system operating correctly for a year. They examine evidence: logs, configurations, records, test results, documentation. A control that works perfectly but produces no durable artifact is, for assessment purposes, a control you cannot prove.
What evidence-oriented design looks like in practice:
Logging built for review, not just for debugging. Access to cardholder data, administrative actions, authentication events, and configuration changes — captured with sufficient detail, retained per requirement, and queryable by someone who wasn't there when it happened.
Configuration as code. Infrastructure-as-code produces a reviewable, versioned, timestamped record of what was configured and when. Manually configured infrastructure produces a screenshot and a promise.
Automated evidence collection. Scan results, test outputs, and access reviews gathered continuously rather than assembled in the six weeks before an assessment window.
Documentation written as decisions are made. Data flow diagrams, network topology, responsibility matrices, and the reasoning behind architectural choices. Written when the decision is fresh, not reconstructed under deadline — and assessors can generally tell the difference.
Targeted risk analyses documented, not implied. v4.0 requires justification for certain control frequencies. That justification needs to exist as an artifact.
The compounding benefit: teams who design for evidence spend materially less on every subsequent annual assessment. Teams who don't pay a fresh scramble tax every twelve months, forever.
Six patterns, in rough order of how expensive they are to correct.
1. Treating PCI as a pre-launch phase. By the time a compliance workstream starts, the data model, network topology, and service boundaries are fixed. Those three things determine scope. The workstream can only document what already exists.
2. Assuming a payment provider handles everything. Covered above. The gap is usually discovered during assessment.
3. Building the checkout page like any other page. Every script added is a permanent annual cost under the client-side requirements.
4. Flat networks with segmentation planned "later." Retrofitting segmentation into a running production system is among the most disruptive remediation projects in software.
5. Optimizing for the questionnaire rather than the architecture. Selecting the lightest self-assessment path and then building a system that doesn't actually match its assumptions. The mismatch surfaces eventually and unpleasantly.
6. Ignoring non-production environments. Test systems using production card data, development environments with CDE network access, and staging systems configured differently from production are all reliable findings.
If you want to see payment engineering concentrated in one geography, look at Georgia.
Companies headquartered in metro Atlanta process roughly 70% of all US payment card transactions. Georgia fintech firms touch or enable around 118 billion global payment transactions annually, representing more than $2 trillion in purchase volume and roughly $72 billion in combined annual revenue. More than 200 fintech companies operate in the state — an industry the local ecosystem calls "Transaction Alley."
The infrastructure around it is unusually developed: the Georgia FinTech Academy spans 26 public institutions in the University System of Georgia as a dedicated talent pipeline, Georgia Tech's ATDC runs a fintech-focused accelerator practice, and the annual FinTech South conference anchors the ecosystem.
Two things this concentration produces that are relevant to anyone building payment software anywhere:
First, an unusually deep pool of engineers who have actually been through assessments. Scope reduction is not a skill you learn from documentation. It's learned by architecting a system, watching an assessor find the thing you missed, and building differently afterward. Density of that experience is a genuine regional asset.
Second, a mature market rather than an inflated one. Payments engineering in Atlanta is an established industry operating at scale, which means the expertise is available without the premium a scarce-talent market would attach to it. We looked at exactly how that plays out in compensation and rate structures in our Atlanta software development cost guide — the short version is that the local labor market prices payments engineering at roughly the citywide average, while the genuinely scarce skill is documented PCI scope experience rather than the sector label.
For organizations building payment-adjacent systems in this market, our software development company in Atlanta practice works with fintech, media, and logistics clients on exactly these constraints — with PCI-aware architecture patterns designed in from sprint one rather than layered on before an assessment window.
Seven questions that separate teams who have shipped payment systems from teams who have read about them.
1. "How would you approach scope reduction for this system specifically?"
The answer should come quickly and involve tokenization boundaries, segmentation strategy, and where card data is permitted to exist. A vendor who treats this as a later-phase question has not built payment software.
2. "Walk me through a data flow diagram you produced for a previous assessment."
Not a generic diagram. One they made, for a real system, that an assessor examined.
3. "How do you handle the client-side script requirements?"
If this produces a pause, they have not been through an assessment since the future-dated requirements became mandatory. Real answers involve script inventory, authorization records, integrity mechanisms, and change monitoring.
4. "What did an assessor find in a system you built, and what did you change?"
Production scars are the only credential that matters here. Every experienced team has a finding story. Teams claiming none are telling you something unintended.
5. "How do you build evidence collection into the system?"
Logging design, infrastructure-as-code, automated scan and access-review collection, documentation cadence. Vague answers mean an annual scramble that becomes your annual scramble.
6. "How would you map shared responsibility with our payment provider?"
They should describe building a responsibility matrix during design, not assuming coverage.
7. "What would make you tell us not to build this in-house?"
Sometimes the honest answer is that a fully hosted flow serves you better than a custom implementation. A partner who says so is demonstrating exactly the judgment you're buying.
Red flags:
PCI discussed as a phase rather than an architecture constraint
No question about your payment provider or current flows before quoting
"We're PCI compliant" stated as a company property — compliance is a characteristic of a system, and the phrasing itself signals inexperience
No mention of segmentation testing
Client-side requirements treated as a marketing or frontend concern rather than a compliance one
Documentation and evidence deferred to a pre-assessment sprint
Scope is the cost driver, and scope is architecture. Two functionally identical platforms can differ by an order of magnitude in compliance burden based on decisions made in the first two sprints.
Systems enter scope without touching card data. Logging, observability agents, support tooling, CI/CD, and flat networks are the usual culprits — none of them obviously wrong at the time.
Four patterns reduce scope, and they compound: early tokenization, hosted fields or iframes, validated P2PE for card-present flows, and verified network segmentation.
v4.0.1's client-side requirements made PCI partly a frontend problem. Every script on your payment page is now a permanent annual cost. Minimal checkout surfaces pay once; crowded ones pay forever.
Payment providers reduce obligations, not eliminate them. Build a responsibility matrix during design; reconstructing one during assessment reliably surfaces an unowned gap.
Design for evidence, not just for compliance. A control that works but produces no durable artifact cannot be demonstrated — and evidence-oriented design reduces the cost of every future assessment.
Verify partner experience with findings, not claims. "What did an assessor find in your system, and what did you change?" is the question that separates practitioners from readers.
What does PCI DSS compliant software development actually mean?
It means designing a system so that the boundaries of the cardholder data environment are deliberate and minimal, the required controls are architected into the system rather than layered on, and the system continuously produces the evidence an assessor needs. It is an architecture discipline exercised from the first data model conversation — not a checklist applied before an assessment window.
Which version of PCI DSS applies in 2026?
PCI DSS v4.0.1 is the active standard, having replaced v4.0 at the end of 2024 after v3.2.1 was retired in March 2024. Critically, the future-dated requirements that were initially designated best practices became mandatory on March 31, 2025, and are now enforceable in every assessment. Organizations that validated under v3.2.1, or under v4.0 without implementing the future-dated controls, will find gaps at their next assessment.
What determines PCI DSS scope?
Scope covers systems that store, process, or transmit cardholder data — plus any system component that can affect the security of those systems. That second clause is where most scope expansion happens: jump hosts, monitoring agents, CI/CD pipelines, and identity providers are commonly in scope without ever handling card data. Systems are only out of scope if segmentation is verified and defensible, not merely assumed.
How do you reduce PCI DSS scope?
Four compounding patterns: tokenize at the earliest possible boundary so downstream systems handle tokens rather than card data; use hosted fields or payment iframes so card data never enters your application; use validated point-to-point encryption for card-present flows; and implement verified network segmentation with documented boundaries and segmentation penetration testing. The effectiveness of tokenization depends heavily on how early it occurs.
What are PCI DSS requirements 6.4.3 and 11.6.1?
They address client-side security on payment pages, responding to skimming attacks where malicious JavaScript reads card data from the browser before transmission. In engineering terms they require an inventory of every script executing on the payment page including transitively loaded ones, written authorization and justification for each, integrity assurance mechanisms, and change detection that alerts on unexpected modification of security-impacting page content.
Does using Stripe or a hosted payment page make us PCI compliant?
It reduces your obligations substantially but does not eliminate them. You remain responsible for the integrity of the page embedding the payment fields, your own access controls and authentication, your network security, monitoring your provider's compliance status, and everything about the systems consuming tokens afterward. v4.0.1 specifically clarified third-party service provider responsibility boundaries because this confusion was common. Build a written responsibility matrix during design.
Why do PCI DSS projects go over budget?
Most commonly because scope was larger than assumed — discovered when an assessor traces data flows and finds systems nobody classified. Remediating that means re-architecture rather than configuration changes, plus a delayed assessment. The second most common cause is the client-side script requirements, which frequently have the longest lead time on a remediation roadmap because they intersect with marketing and analytics tooling nobody wants to remove.
What is the customized approach in PCI DSS 4.0?
It permits implementing alternative controls that meet a requirement's security objective rather than following the defined implementation. It's genuine flexibility, but not a shortcut — it requires documenting the security objective, designing the control, performing and documenting a targeted risk analysis, and demonstrating effectiveness to an assessor. Teams reaching for it to avoid work generally find it is more work.
How early should PCI DSS be considered in a build?
Before the data model is finalized. Scope is determined by where card data is permitted to exist, how the network is segmented, and where service boundaries fall — all decisions made in the first two sprints. A compliance workstream starting later can only document what already exists, not change it.
What evidence do PCI DSS assessors actually want?
Logs of cardholder data access, administrative actions, authentication events, and configuration changes; versioned infrastructure configuration; scan and test results; access review records; accurate data flow diagrams and network topology documentation; responsibility matrices for third-party providers; and documented targeted risk analyses. A control that operates correctly but produces no durable artifact cannot be demonstrated.
How do I verify a development partner's PCI experience?
Ask what an assessor found in a system they built and what they changed afterward — every experienced team has a finding story, and teams claiming none are revealing something unintended. Then ask how they'd approach scope reduction for your specific system, and how they handle the client-side script requirements. A pause on the third question means they haven't been through an assessment since the future-dated requirements took effect.
Does PCI DSS apply to non-production environments?
Yes, wherever those environments handle cardholder data or can affect CDE security. Test systems populated with production card data and development environments with network access to the CDE are both reliable assessment findings — and both are entirely avoidable with synthetic test data and proper segmentation from the outset.
PCI DSS has a reputation as a compliance burden, and for teams who encounter it late that reputation is earned. Applied at the end of a build, it is genuinely painful: a checklist measured against an architecture that was never designed to satisfy it.
Applied at the beginning, it is something closer to ordinary engineering discipline. Decide where card data is permitted to exist. Tokenize early. Segment properly. Keep the checkout surface minimal. Instrument for evidence. Document decisions as you make them.
Teams who do that pass assessments as a routine confirmation of how the system already works. Teams who don't discover, eight months in, that a logging statement pulled half their infrastructure into scope.
The difference between those two outcomes is a handful of architectural decisions made in the first two sprints — which is precisely why the compliance conversation belongs in your first design review rather than your last one.
Book a free consultation → calendly.com/akhil-akoode/ak
A senior engineer reviews every inbound project — not an account manager. We'll look at your payment flows, where your scope boundaries currently sit, and what your architecture would need to keep them narrow.
Explore: finance and banking | SaaS product development | cloud and DevOps | custom software development | software development company in Atlanta | case studies
Aditi Sharma is Tech Leat at Akoode Technologies, a software development and AI company serving clients across the USA, UK, and India. Akoode has delivered 180+ projects across 15+ industries, including payment-adjacent platforms, SaaS products with PCI-aware architecture, and regulated systems for US clients, with 97% client retention.
This guide reflects the PCI DSS v4.0.1 standard as published by the PCI Security Standards Council, current as of August 2026, combined with delivery experience across payment-adjacent engineering engagements. It is engineering guidance, not a compliance opinion — validate your specific obligations with a Qualified Security Assessor.
Subscribe to the Akoode newsletter for carefully curated insights on AI, digital intelligence, and real-world innovation. Just perspectives that help you think, plan, and build better.