PCI-DSS

PCI DSS Requirement 3: Cardholder Data Protection and Encryption

Dana Okafor found out about the database on a Tuesday morning, in the worst possible way: a Qualified Security Assessor read it back to her from a spreadsheet.

PCI DSS Requirement 3: Cardholder Data Protection and Encryption
Loading advertisement...
91

Dana Okafor found out about the database on a Tuesday morning, in the worst possible way: a Qualified Security Assessor read it back to her from a spreadsheet.

Dana was VP of Engineering at Solstice Outfitters, a mid-size outdoor apparel retailer with 84 stores, a busy e-commerce site, and a call center that took phone orders during hunting and fishing season. Solstice was a Level 1 merchant — north of six million card transactions a year — which meant an annual Report on Compliance from a QSA firm, not a self-assessment. Priya Ramaswamy, the QSA leading the engagement for Ironclad Assurance Partners, had spent two weeks running discovery scans across Solstice's network as part of the standard scoping exercise for PCI DSS validation. On day nine, her scanner flagged a SQL Server instance nobody on the current engineering team recognized.

It turned out to be a customer-service support database, spun up in 2019 for a short-lived "call center callback" integration that let support agents pull up a customer's last order without re-entering card details. The vendor who built it never fully decommissioned it after the integration was scrapped. It held 41,000 records of unmasked primary account numbers, expiration dates, and — worse — CVV2 values captured at the point of sale and retained "just in case a chargeback came in." None of it was encrypted. None of it appeared in Solstice's asset inventory. It had been quietly accumulating cardholder data for five years, reachable from three service accounts with weak, unrotated passwords.

Priya's finding triggered a mandatory forensic investigation. Solstice's acquiring bank required a PCI Forensic Investigator engagement, cost containment under the card brands' non-compliance fine schedule, and a formal incident disclosure process. By the time the dust settled — forensic fees, card brand fines, reissuance costs passed through from the issuers, a compressed remediation timeline, and six months of elevated monitoring — Solstice had spent $3.8 million on a data element it never needed to keep in the first place. The functionality the database supported could have been delivered without storing a single digit of the PAN.

That story is Requirement 3 in miniature. Nearly every organization that gets hurt by PCI DSS Requirement 3 doesn't get hurt because its encryption algorithm was weak — it gets hurt because it stored something it didn't need to store, for longer than it needed to store it, in a place nobody was watching. Requirement 3, "Protect Stored Account Data," is PCI DSS's answer to a simple truth: the cheapest, most reliable way to protect stored cardholder data is to not have it. Everything else — masking, hashing, truncation, tokenization, strong cryptography, key management — exists for the data you genuinely must retain.

Who this is for, and what you'll walk away with

This guide is for engineering leaders, security architects, database administrators, and compliance managers responsible for any system that stores primary account numbers or other account data — whether you're scoping a new payment integration, remediating a QSA finding, or building the data-retention discipline that keeps your cardholder data environment small enough to actually defend. You'll walk away with a working model of Requirement 3's structure (3.1 through 3.7), the exact rules for what you may and may not store, the four PCI-approved methods for rendering PAN unreadable, and the key-management controls that turn "we encrypted it" into something an assessor will actually accept.

Why Requirement 3 sits at the center of PCI DSS

Requirement 3 belongs to Goal 2 of PCI DSS's six goals — "Protect Account Data" — alongside Requirement 4, which protects account data in transit. Together they form the substantive data-protection core of the standard; everything else in PCI DSS (network segmentation, secure configuration, access control, logging, testing) exists to reduce the chance that Requirement 3's controls are ever tested by an attacker, and to catch it quickly if they are. If you want the full 30,000-foot view of how all twelve requirements fit together, the PCI DSS Complete Guide: Payment Card Industry Data Security Standard walks through the six goals end to end.

Goal

Requirements

Focus

1. Build & Maintain a Secure Network and Systems

Req 1–2

Network security controls, secure configurations

2. Protect Account Data

Req 3–4

Protect stored account data (this article); protect data in transit

3. Maintain a Vulnerability Management Program

Req 5–6

Anti-malware, secure development

4. Implement Strong Access Control Measures

Req 7–9

Need-to-know access, authentication, physical access

5. Regularly Monitor & Test Networks

Req 10–11

Logging, monitoring, testing

6. Maintain an Information Security Policy

Req 12

Governance and organizational policy

Requirement 3 is deliberately narrow in scope but deep in obligation. It applies to any system component that stores account data, and it breaks down into seven numbered sub-requirements, each addressing a different failure mode: undefined ownership (3.1), over-retention (3.2), storing data you're never allowed to keep (3.3), over-exposure on screen (3.4), weak or absent protection of the PAN at rest (3.5), and weak protection of the keys that make that encryption meaningful (3.6 and 3.7).

Sub-requirement

What it governs

One-line summary

3.1

Governance

Policies and procedures for protecting stored account data are defined, documented, and understood

3.2

Minimization

Storage of account data is kept to a minimum via a documented retention and disposal policy

3.3

SAD prohibition

Sensitive authentication data is not stored after authorization, even encrypted

3.4

Display control

Full PAN is masked when displayed; only personnel with a business need see it unmasked

3.5

Unreadability at rest

PAN is rendered unreadable wherever stored (hashing, truncation, tokenization, or strong cryptography)

3.6

Key protection

Cryptographic keys used to protect stored account data are secured throughout their lifecycle

3.7

Key management policy

Formal key-management policies and procedures are documented and followed

Cardholder data vs. sensitive authentication data: know the difference before you design anything

Every Requirement 3 control decision starts with correctly classifying the data element in front of you. PCI DSS draws a hard line between cardholder data (CHD), which you're permitted to store under strict conditions, and sensitive authentication data (SAD), which you're never permitted to store after authorization completes — full stop, no encryption exception. Get this classification wrong and every downstream control decision is wrong with it.

"The single most common thing I write up in a Requirement 3 finding isn't a weak cipher. It's a field in a database that shouldn't exist at all — a CVV column somebody added 'temporarily' in 2018 that's still there. Classify the data correctly and half your Requirement 3 work disappears before you write a line of encryption code." — Priya Ramaswamy, QSA, Ironclad Assurance Partners

Data element

Category

May you store it?

Conditions

Primary Account Number (PAN)

CHD

Yes

Must be rendered unreadable (3.5) if stored; masked on display (3.4)

Cardholder name

CHD

Yes

Must be protected if stored with PAN or other CHD elements per your data-retention policy

Expiration date

CHD

Yes

Must be protected if stored with PAN per your data-retention policy

Service code

CHD

Yes

Must be protected if stored with PAN per your data-retention policy

Full track data (magnetic stripe / chip equivalent)

SAD

No — never after authorization

No encryption exception; must be rendered unrecoverable

CAV2 / CVC2 / CVV2 / CID (card verification value)

SAD

No — never after authorization

No encryption exception; used once for authorization only

PIN / PIN block

SAD

No — never after authorization

No encryption exception; not even for issuers post-authorization

The primary account number is the anchor of the whole requirement: it's the one CHD element that, on its own, triggers PCI DSS applicability. Cardholder name, expiration date, and service code only need Requirement 3's protections when they're stored together with the PAN or in a way that could reconstruct it — but in practice, most systems store them together, so treat the whole record as sensitive.

3.1 — Define and document the process before you build the controls

Requirement 3.1 is often skipped over as "paperwork," but assessors treat it as the foundation the rest of Requirement 3 stands on. It requires a documented, currently-maintained data-protection policy covering all seven Requirement 3 sub-requirements, with defined roles and responsibilities, and evidence that personnel understand it — not just a PDF in a SharePoint folder nobody has opened since the last audit.

In practice, a defensible 3.1 program includes: a named data-protection policy owner (usually a security or data governance function, not engineering alone); role definitions for who can request access to unmasked PAN, who can approve new locations where account data is stored, and who owns key-management operations; and an annual review cycle tied to your broader PCI DSS documentation review under Requirement 12. Every other Requirement 3 control gets easier to test — and more likely to actually work in production — when this governance layer exists first. QSAs will ask for this documentation on day one of a Report on Compliance engagement, and a stale or missing policy is one of the fastest ways to start an assessment on the wrong foot.

3.2 — Keep stored account data to a minimum

If Requirement 3 has a philosophy, 3.2 is where it's written down: don't store account data you don't need, for longer than you need it. This is the control that would have stopped Solstice Outfitters' $3.8 million problem before it started — the callback database never should have existed past the pilot that spawned it.

Requirement 3.2.1 mandates a documented data-retention and disposal policy that limits storage to what's needed for legal, regulatory, and business requirements, defines retention requirements for each data element, and specifies secure deletion or rendering-unrecoverable when data exceeds its retention period. As of v4.0's fully-effective date, organizations must also run a quarterly process — automated or manual — to identify and securely delete stored account data that exceeds the defined retention period, or verify (and document) that none exists.

Retention policy element

What it must specify

Common gap we find in assessments

Business justification

Why each data element is stored and for which process

"We might need it someday" is not a justification

Legal/regulatory basis

Any law, regulation, or card brand rule requiring retention

Confused with unrelated statutory retention (e.g., general financial records)

Retention period

A specific, bounded duration per data element/system

Retention set to "indefinite" or left undefined

Secure disposal method

Cryptographic erasure, secure wipe, or physical destruction

Deletion relies on a soft-delete flag; data still recoverable

Quarterly purge process

Owner, frequency, and evidence of execution

Process exists on paper but hasn't run in over a year

Backup and archive coverage

Explicit inclusion of backups, snapshots, and archives

Primary database purged; last five years of backups untouched

The backup gap is the one that catches teams most often. A retention policy that dutifully purges the production database on schedule but never touches nightly backups, disaster-recovery replicas, data warehouse extracts, or a developer's local test dump hasn't actually reduced your risk — it's just moved the exposed copy somewhere less visible. Effective data classification has to tag account data at the point of creation so every downstream copy — backup, log, cache, export — inherits the same retention and disposal rules automatically, rather than relying on someone remembering to chase it down later.

Finding what you don't know you have

Retention policy is only as good as your ability to enforce it, and you can't enforce a policy against data you don't know exists. This is why every mature Requirement 3 program includes recurring PAN-discovery scanning — automated tooling that crawls databases, file shares, log files, email archives, and endpoint storage looking for PAN-shaped data (using Luhn-algorithm validation combined with pattern matching to cut down false positives from things like order numbers or phone numbers).

Discovery scanning earns its keep in three places. First, initial CDE scoping — before you can assert what's in scope, you need to know where account data actually lives, not just where you think it lives. Second, ongoing assurance — quarterly or continuous scans catch the "shadow" databases, like Solstice's callback system, that accumulate outside of change management. Third, post-incident and pre-audit sweeps — running a fresh discovery scan a few weeks before your assessment window closes gives you time to remediate findings before a QSA turns them into a Report on Compliance gap. Treat discovery scanning as a Requirement 3 control in its own right, even though it isn't a numbered sub-requirement — it's the mechanism that makes 3.2 enforceable rather than aspirational.

3.3 — Never store sensitive authentication data after authorization

This is the brightest line in all of PCI DSS. Requirement 3.3 prohibits storing sensitive authentication data after the authorization of a transaction completes — and unlike PAN, there is no "encrypt it and you're fine" escape hatch. SAD may only exist transiently, in flight, for the purpose of completing the authorization. Once that authorization response comes back, full track data, CAV2/CVC2/CVV2/CID values, and PIN/PIN blocks must be gone — not archived, not encrypted-and-parked, not retained "for fraud investigation." Gone.

"I tell every engineering team the same thing on day one: if you're asking me whether you can store the CVV encrypted, the answer is no, and the fact that you're asking means you need to redesign the flow, not find a stronger cipher." — Marcus Webb, CISO, Harborline Payments

The rule has one narrow, well-defined exception. Issuers and companies that support issuing services (think: card issuing banks, and processors that perform issuing functions on an issuer's behalf) have a legitimate, documented business need to retain SAD for legitimate issuing purposes — but even they must secure it, limit it to that specific need, and encrypt it using strong cryptography if stored electronically prior to completion of authorization (3.3.2), and apply equivalent protection for any post-authorization retention tied to issuing functions (3.3.3). Everyone else — merchants, most service providers, payment gateways acting purely as intermediaries — has zero justification for retaining any SAD element once a transaction is authorized.

SAD element

Before authorization completes

After authorization completes

Full track / equivalent chip data

May exist transiently in the authorization flow; must be rendered unrecoverable once authorization completes (3.3.1.1)

Must not be stored, under any condition, for any non-issuer entity

CAV2 / CVC2 / CVV2 / CID

May be transmitted for authorization purposes only

Must not be stored — not even encrypted (3.3.1.2)

PIN / PIN block

Processed per PCI PIN requirements during the transaction

Must not be stored — not even encrypted (3.3.1.3)

Issuer/issuing-support SAD (narrow exception)

May be stored electronically only if encrypted with strong cryptography, and only with documented business justification

Storage limited strictly to legitimate issuing need, secured, and encrypted (3.3.2 / 3.3.3)

Where this goes wrong in practice is almost never a deliberate decision to retain SAD — it's an accident of architecture. Common culprits: verbose application or transaction logs that capture full request/response payloads including CVV, unencrypted debug logs left on in production "temporarily," third-party fraud-scoring or chargeback-management tools that cache the full authorization payload, memory dumps or crash reports that capture SAD in process memory, and legacy integrations — like Solstice's — built before anyone on the current team understood the rule.

Common SAD storage failure

Why it happens

Fix

CVV logged in application or API gateway logs

Verbose logging enabled for debugging, never disabled in production

Enforce log scrubbing/masking at the ingestion point; block SAD fields from logging frameworks by schema

SAD cached by a fraud-scoring or chargeback tool

Vendor integration passes the full auth payload without redaction

Contractually and technically limit vendor payloads to CHD only; confirm vendor's own SAD-handling posture

SAD retained in crash dumps / core dumps

Memory not scrubbed after use; dumps written to disk on failure

Disable core dumps in payment-handling processes; use memory-safe handling for sensitive fields

SAD sitting in a decommissioned or forgotten database

Integration retired without a formal decommissioning/data-destruction step

Maintain a system inventory tied to change management; require data-destruction sign-off on decommission

SAD stored "for chargeback disputes"

Misunderstanding of what's needed to contest a chargeback

Chargebacks are contested with transaction metadata and CHD, not CVV/PIN/track data

Full track data retained by a POS vendor "for troubleshooting"

Vendor default configuration not reviewed before deployment

Validate POS/payment application PA-DSS or PCI SSC listing status and default logging behavior before go-live

3.4 — Mask the PAN wherever it's displayed

Requirement 3.4 governs what a human being is allowed to see on a screen, a receipt, or a report. The default state of any displayed PAN must be masked, showing at most the first six digits (the bank identification number) and the last four digits — everything in between replaced with characters that reveal nothing. Personnel or roles with a documented, legitimate business need may view the full, unmasked PAN, but that access has to be deliberate, approved, and logged — not the default state of every support agent's screen.

Requirement 3.4.2 (new in v4.0) extends this to remote-access technologies: technical controls must prevent personnel using remote access (screen sharing, remote desktop, virtual support tools) from copying or relocating PAN to local drives or removable media, unless explicit authorization exists for a defined, legitimate business need.

Role

Default PAN view

Justification required for full PAN

Call center / customer support agent

Masked (first 6 / last 4 max)

Documented exception only — e.g., specific fraud-dispute workflow

Store-level POS staff

Masked or no PAN display at all

Rarely justified; most POS workflows need no full-PAN display

Fraud and chargeback investigators

Masked by default

Case-specific justification, time-boxed access, logged

Database administrators

No standing access to unmasked PAN in production

Break-glass access only, with logging and review

PCI DSS auditors / QSAs

Masked in standard evidence; unmasked sampling under controlled, logged conditions

Assessment-scoped, time-boxed

Payment processing engine (system-to-system)

N/A — not a "display," governed by 3.5 and access control, not masking

—

Masking is a display control, not a storage control — this distinction trips up more engineering teams than any other part of Requirement 3. Masking the PAN on a support agent's screen says nothing about how that PAN is protected in the database behind that screen. Both controls are required, and they solve different problems: 3.4 limits human exposure; 3.5 limits what an attacker gets if they compromise the storage layer directly. Least privilege is the underlying principle for both — nobody, human or system, should have more visibility into raw account data than their specific job function demands.

Method

What it protects against

Reversible?

Typical use

Masking

Human over-exposure on screens, receipts, reports

N/A — display-only, original data unaffected at rest

Support UIs, reports, printed receipts

Truncation

Data-at-rest exposure if a copy is stolen; reduces PCI scope for the truncated copy

No — truncated portion is permanently discarded

Non-payment systems that only need partial PAN (e.g., loyalty lookups)

Tokenization

Data-at-rest exposure; removes real PAN from most of the environment entirely

Only within the token vault, by authorized systems

Reducing CDE scope across many downstream systems

Strong cryptography (encryption)

Data-at-rest exposure while preserving the ability to retrieve the full PAN when genuinely needed

Yes — by design, with proper key access

Systems with a genuine, ongoing business need for the full PAN

3.5 — Render the PAN unreadable wherever it's stored

Requirement 3.5 is the technical core of Requirement 3: wherever the PAN is stored — production databases, backups, logs, audit trails, exports — it must be rendered unreadable using one of four PCI SSC-approved methods. This isn't a suggestion to pick whichever is convenient; each method has specific implementation requirements, and picking the wrong one for your architecture is one of the most expensive mistakes a payments engineering team can make.

Method

How it works

Key management required?

Best fit

One-way hashing (entire PAN)

A cryptographic hash function converts the full PAN into a fixed-length, non-reversible value

Yes — as of 3.5.1.1, must be a keyed cryptographic hash

Systems that need to match/deduplicate PANs but never need to retrieve the original

Truncation

Permanently removes a segment of the PAN, keeping only an approved subset (e.g., last 4)

No

Systems that only need partial PAN for reference/lookup, never the full number

Tokenization (index tokens and pads)

Replaces PAN with a surrogate value (token) that has no mathematical relationship to the original; mapping held only in a secured token vault

Yes — for the vault's protection of the underlying PAN

Reducing scope across many systems that only need to reference, not process, the PAN

Strong cryptography

Encrypts the PAN using an approved algorithm (e.g., AES-256) so it can be decrypted by authorized processes when genuinely needed

Yes — full Requirement 3.6/3.7 key-management program

Systems with a legitimate, ongoing need to retrieve the actual PAN

A frequent point of confusion: these four methods are not mutually exclusive, and most mature environments use different methods for different copies of the same data. The production payment database might use strong cryptography because the PAN is genuinely needed for settlement; a reporting warehouse might use a truncated or tokenized copy because analysts only need the last four digits; a customer-facing "cards on file" feature might rely entirely on a payment gateway's tokenization service so the merchant never touches the real PAN at all.

Keyed cryptographic hashing (3.5.1.1) — the v4.0 tightening

One of the more consequential v4.0 changes lives in the fine print of hashing. Under v3.2.1, a strong one-way hash of the PAN (e.g., SHA-256) was broadly accepted on its own. PCI DSS v4.0's 3.5.1.1 closes a real-world weakness: PANs are highly structured 16-digit numbers with a limited, largely known set of valid BIN prefixes, which makes an unsalted, unkeyed hash vulnerable to brute-force and rainbow-table style attacks — an attacker can simply hash every plausible PAN and compare. The fix is to require a keyed cryptographic hash (an HMAC-style construction, or a hash combined with a secret key) so the hash itself cannot be reconstructed without possessing the key — and that key must then be managed under the full weight of Requirement 3.6 and 3.7, including protection from disclosure and misuse, restricted access, and a defined lifecycle.

Requirement

Detail

Hash scope

Must cover the entire PAN, not a partial or reduced representation

Hash type

Keyed cryptographic hash (e.g., HMAC-SHA-256 or equivalent), not an unkeyed general-purpose hash

Key protection

The hashing key is a cryptographic key under Requirement 3.6/3.7 — access-restricted, lifecycle-managed

Common failure

Using an unkeyed SHA-256 hash of the PAN alone, or hashing with a static, hardcoded "key" checked into source control

Typical use case

Deduplication, fraud-pattern matching, or indexing PANs across systems without retaining the reversible value

Truncation — simple, but easy to get subtly wrong

Truncation permanently discards a portion of the PAN, keeping only an approved remainder — commonly the last four digits, sometimes combined with the first six for BIN-level routing or fraud analysis. Truncation's appeal is its simplicity: there's no key to manage, and a truncated PAN, properly implemented, carries far less risk if a system holding it is compromised. Where truncation implementations fail an assessment is when a truncated version and a hashed or otherwise partially-protected version of the same PAN exist in different systems in a way that could be correlated to reconstruct the full number — PCI DSS explicitly requires that truncated and hashed formats of the same PAN not be able to be correlated to reconstruct the original.

Tokenization — removing the PAN from the equation entirely

Tokenization replaces the PAN with a surrogate value — a token — that has no exploitable mathematical relationship to the original number. The mapping between token and PAN lives in a single, tightly secured token vault (operated in-house or, far more commonly, by a payment gateway or dedicated tokenization service provider). Every downstream system that only needs to reference a card — "charge the card on file," "show the customer their saved cards," "run a recurring subscription" — can do so using the token, never touching the real PAN, and therefore falling largely outside PCI DSS scope for that specific function.

Vault architecture

Description

Scope impact

In-house tokenization

Organization operates its own token vault and generation service

Vault itself remains fully in PCI scope, including all of Requirement 3; everything else can shrink

Third-party gateway tokenization

Payment gateway or processor issues and resolves tokens; merchant never stores real PAN

Merchant's CDE can shrink dramatically; gateway carries the compliance burden for the vault

Network tokenization (card-brand token services)

Card network issues a token bound to a specific device/merchant relationship (e.g., for card-on-file, wallets)

Reduces fraud exposure and scope; tokens are network-specific, not globally reusable

Format-preserving tokenization

Token retains PAN's format (length, structure) for compatibility with legacy systems expecting a PAN-shaped value

Useful for minimizing application rework, but requires careful validation it isn't itself Luhn-valid in a way that confuses downstream systems

Tokenization is the single highest-leverage architectural decision most merchants can make under Requirement 3, because it doesn't just satisfy 3.5 — it can remove entire systems from PCI scope altogether, which cuts audit cost, assessment time, and ongoing control burden simultaneously. It is also, not coincidentally, one of the scope-reduction strategies PCI DSS itself calls out alongside network segmentation and P2PE.

Strong cryptography and the disk-encryption trap

When a genuine business need exists to retrieve the full PAN — settlement, reconciliation, recurring billing engines that aren't tokenized — strong cryptography (commonly AES-256) applied at the file, column, field, or application level is the appropriate method. The trap most engineering teams fall into is reaching for full-disk or database-partition-level encryption and treating it as sufficient on its own. Requirement 3.5.1.2 is explicit: disk-level or partition-level encryption may only be the sole PAN protection for removable electronic media (backup tapes, portable drives). For non-removable media — production servers, primary databases — disk/partition encryption alone does not satisfy Requirement 3.5.1; a second, more granular method (file, column, field-level encryption, or one of the other three approaches) must also render the PAN unreadable, because disk encryption's protection evaporates the moment the volume is mounted and the operating system is running, which is precisely when most attacks occur. Requirement 3.5.1.3 additionally requires that where disk/partition-level encryption is used, logical access to the encrypted data must be managed separately from the native operating system's authentication and access-control mechanism (no piggybacking on OS login for decryption access).

This is not a small distinction. Encryption at rest that only exists at the disk layer protects against a stolen physical drive — a genuinely rare threat model for most breaches — while leaving the far more common threat model, a compromised application or database account with the volume already mounted, completely unaddressed.

3.6 and 3.7 — Cryptographic key management: where good encryption goes to die

Here's the uncomfortable truth every experienced PCI assessor will tell you: weak encryption algorithms are rare in modern Requirement 3 findings. Weak key management is common. An organization can deploy AES-256 correctly and still fail Requirement 3 badly if the key that unlocks all that encrypted data sits in a config file next to the code, in a shared spreadsheet, or in the memory of one developer who left the company two years ago. Key management is the control that determines whether your encryption is real protection or theater.

"Show me your key rotation log before you show me your cipher suite. I can tell you more about an organization's real security posture from how it handles a compromised key than from any architecture diagram." — Tobias Lindqvist, Head of Cryptography Engineering, Northfield Bank

Requirement 3.6 governs how keys used to protect stored account data are secured — generation, distribution, storage, retrieval, rotation, and retirement — while Requirement 3.7 governs the formal policies and procedures that make 3.6 repeatable rather than ad hoc.

Key lifecycle stage

Requirement

Practical control

Generation

Keys generated using an approved, sufficiently random process (3.7.1)

Use a certified random number generator; never derive keys from predictable seeds

Distribution

Secure key distribution methods that prevent disclosure in transit (3.7.2)

Distribute via secure channels (e.g., key-wrapping, secure key-exchange protocols) — never email or chat

Storage

Keys stored securely, in the fewest possible locations and forms (3.6.1)

Centralize in an HSM or dedicated key-management service; avoid duplicating keys "for convenience"

Access restriction

Access limited to the fewest number of custodians necessary (3.6.1)

Named custodians only, tied to role, reviewed periodically

Cryptoperiod / rotation

Keys changed at the end of a defined cryptoperiod (3.7.4)

Define cryptoperiods per NIST guidance based on key type, usage volume, and algorithm strength

Retirement / replacement

Keys retired or replaced when compromised, at cryptoperiod end, or when custodians leave (3.7.5)

Formal retirement process; retired keys never reused for new encryption

Compromise response

New keys generated and redeployed on suspected or confirmed compromise (3.6.1)

Incident-response playbook includes a defined key-rotation procedure

Custodian acknowledgment

Personnel with key access formally acknowledge their responsibilities (3.7.8)

Signed custodian agreements, refreshed periodically

Split knowledge and dual control

For any manual, cleartext key-management operation — generating, storing, or entering a cleartext key component by hand — Requirement 3.7.6 requires split knowledge and dual control. Split knowledge means no single person ever possesses a complete cleartext key; the key exists only as two or more components, each held by a different custodian, none of which reveals anything about the full key on its own. Dual control means no single person can execute a sensitive key-management function alone — reconstructing a key, for instance, requires two authorized custodians to act together. This is the same principle behind segregation of duties applied specifically to cryptographic material: it exists so that no single insider, however trusted, can unilaterally compromise the keys protecting your entire stored-account-data estate.

Control

What it prevents

How it's implemented

Split knowledge

Any single person from holding a complete cleartext key

Key divided into two-plus components, held by different custodians

Dual control

Any single person from unilaterally performing a sensitive key operation

Two-person authorization required for key generation, loading, or destruction

Custodian designation

Ambiguity about who is authorized to handle key material

Formal, named list of key custodians, reviewed and updated

Component storage separation

Compromise of one location compromising the full key

Components stored in physically/logically separate secure locations

Where and how keys themselves must be stored

Requirement 3.6.1.2 specifies the approved forms for storing the secret or private keys used to protect stored account data: encrypted with a key-encrypting key that is at least as strong as the data-encrypting key it protects (and stored separately from the data-encrypting key); within a secure cryptographic device such as a hardware security module or a PCI PTS-approved point-of-interaction device; or as at least two full-length key components or key shares, consistent with split knowledge.

Approved key storage form

Description

Typical deployment

Encrypted under a stronger key-encrypting key

Data-encrypting key is itself encrypted by a separate, at-least-as-strong key

Layered key hierarchy — common in application-level encryption

Secure cryptographic device (HSM / PTS POI)

Key never leaves a hardened, tamper-resistant hardware boundary in cleartext

Enterprise key-management, payment terminals

Split into components / shares

Key exists only as two-plus components, none individually meaningful

Manual key-ceremony processes, disaster-recovery key escrow

A properly deployed HSM addresses most of Requirement 3.6 in one move: keys are generated inside the device, never exit in cleartext, and cryptographic operations (encrypt, decrypt, hash) happen inside the hardened boundary. That's why HSMs are the default recommendation for any organization handling meaningful PAN volume — the alternative, software-based key management scattered across application servers, config management, and secrets stores, multiplies the number of places a key could leak and makes the "fewest locations and forms" principle in 3.6.1 much harder to demonstrate to a QSA. Broader secrets management discipline — treating every credential and key as a first-class, access-controlled, rotated asset rather than an afterthought — is what turns Requirement 3.6/3.7 from a compliance checkbox into an actual reduction in breach impact.

Service providers carry one additional obligation under 3.6.1.1: a documented description of the cryptographic architecture itself — every algorithm, protocol, and key in use; each key's purpose and specific use; key strength and expiry dates; and the custodians responsible. Requirement 3.7.9 requires service providers to review that architecture documentation at least once every 12 months, ensuring it stays synchronized with what's actually running in production rather than describing a system that was decommissioned two audit cycles ago.

Case study: what $3.8 million buys you when you don't minimize storage

Returning to Solstice Outfitters — the forensic investigation that followed Priya Ramaswamy's discovery told a familiar story. The abandoned callback database violated three Requirement 3 sub-requirements simultaneously: it stored SAD (CVV2 values) well past authorization, a flat violation of 3.3 with no encryption exception available; it held unencrypted, unmasked PAN, failing 3.5 entirely; and it existed because Solstice's 3.2 retention and disposal program had no process for identifying and decommissioning data stores tied to retired integrations. Dana Okafor's post-incident review found the root cause wasn't a single bad decision — it was the absence of a system inventory tied to change management, so nobody was ever accountable for confirming the database's data was purged when the integration was retired.

Solstice's remediation program, built over the following two quarters, centered on three changes: a quarterly automated PAN-discovery scan across all environments (not just the declared CDE, since the whole point was that this system wasn't declared); a mandatory data-destruction sign-off as a required step in the change-management decommissioning workflow, with the security team as a hard gate; and migration of the customer-service lookup function to a tokenized "last 4 digits" reference pulled from their payment gateway, eliminating any business reason to store PAN in that system at all. Eighteen months later, Solstice's next Report on Compliance closed with zero Requirement 3 findings, and their overall CDE footprint — measured in in-scope system components — had shrunk by nearly 40%, cutting their annual assessment cost alongside their risk.

"The most expensive sentence in payments engineering is 'we might need it someday.' Nobody ever goes back and asks whether 'someday' arrived." — Dana Okafor, VP of Engineering, Solstice Outfitters

Case study: tokenization as a scope-reduction strategy, not just a security control

Cascade Processing, a mid-market payment facilitator supporting several thousand sub-merchants, faced a different problem: not a breach, but an unsustainable compliance cost curve. Cascade's CDE had grown organically over six years to include 340 distinct system components — application servers, reporting databases, analytics pipelines, customer support tools, and a half-dozen third-party integrations — nearly all of which touched raw PAN at some point in their data flow, because the original architecture simply passed the full card number to whatever downstream system needed to reference a transaction.

Renata Silva, brought in as Director of PCI Compliance specifically to address this, led an 11-month program to route every internal system through a central tokenization layer rather than the raw PAN. Any system that only needed to reference a card — dispute handling, reporting, customer support lookups, loyalty tie-ins — was re-architected to consume a token instead. Only the small set of systems with a genuine settlement or authorization function retained access to real PAN, protected under strong cryptography with HSM-backed key management.

The result: Cascade's in-scope system component count dropped from 340 to 46 — a reduction that directly shrank the population QSAs had to sample during the annual Report on Compliance, cut the assessment engagement from eleven weeks to four, and reduced Cascade's internal compliance headcount need by two full-time roles. Just as important, Cascade's actual breach exposure fell with it: an attacker who compromised any of the 294 newly out-of-scope systems would find only tokens, worthless outside Cascade's vault.

"Tokenization isn't a Requirement 3 checkbox for us anymore — it's our scope-reduction strategy, our cost-reduction strategy, and our breach-blast-radius strategy, all from one architectural decision." — Renata Silva, Director of PCI Compliance, Cascade Processing

Common Requirement 3 assessment failures

Across both case studies and the broader pattern QSAs report, the same handful of failure modes account for most Requirement 3 findings.

Failure pattern

Sub-requirement affected

Typical root cause

Undeclared/shadow systems storing account data

3.1, 3.2

No system inventory tied to change management; abandoned integrations never decommissioned

SAD found in logs or debug output

3.3

Verbose logging left enabled in production; no SAD-scrubbing at ingestion

PAN unmasked by default in support tooling

3.4

Access model defaults to "visible," requiring opt-out rather than opt-in for full PAN

Disk-level encryption treated as sufficient on its own

3.5.1.2

Misunderstanding that full-disk encryption satisfies Requirement 3.5 for non-removable media

Unkeyed hash used to "protect" PAN

3.5.1.1

Legacy hashing approach carried forward from pre-v4.0 designs without revisiting the keyed-hash requirement

Encryption keys stored alongside the data they protect

3.6.1

Keys embedded in application config, source control, or the same database as the encrypted data

No formal key-rotation or cryptoperiod defined

3.7.4

Keys generated once at launch and never revisited

Retention policy exists but backups/archives excluded

3.2.1

Policy scoped to production only; backups and DR replicas retain data indefinitely

Vendor-supplied SAD retention in POS or fraud tools

3.3

Default vendor configuration never reviewed against PCI DSS requirements before go-live

Data-at-rest protection decision flow

The following decision flow captures the logic every engineer should walk through before a single account-data element is written to persistent storage — it's the practical translation of Requirement 3.2 through 3.7 into a build-time checklist.

Requirement 3 implementation roadmap

Phase

Key activities

Primary owner

1. Discover

Run PAN-discovery scans across all environments, not just the declared CDE; build/refresh the system inventory

Security engineering

2. Classify

Tag every data store touching CHD/SAD; confirm SAD elements are flagged for immediate remediation

Data governance / security

3. Minimize

Apply the retention and disposal policy; decommission or purge anything without a documented business need

Engineering + compliance

4. Eliminate SAD

Remove all post-authorization SAD storage; fix logging, fraud-tool, and POS configurations

Application engineering

5. Mask and restrict display

Implement default-masked PAN display; build a logged, time-boxed exception process for full-PAN access

Application engineering

6. Render PAN unreadable

Select and implement hashing, truncation, tokenization, or strong cryptography per system need

Security architecture

7. Stand up key management

Deploy HSM or equivalent; document cryptoperiods, rotation, split knowledge/dual control

Cryptography / infrastructure

8. Validate

Internal testing, discovery re-scan, QSA readiness assessment

Compliance + QSA

9. Sustain

Quarterly retention purges, annual policy review, ongoing discovery scanning

Security operations

Where Requirement 3 connects to the rest of your compliance program

Requirement 3 doesn't operate in isolation. It's the second half of PCI DSS's "Protect Account Data" goal, paired directly with PCI DSS Requirement 4: Encrypted Data Transmission Over Open Networks, which governs the same account data the moment it leaves storage and moves across a network — the two requirements together are what most people mean when they say "we encrypt cardholder data." If you're building your Requirement 3 program from scratch, it's worth stepping back to the PCI DSS Complete Guide first, so the retention, masking, and key-management decisions you make here are consistent with how you've scoped your CDE overall.

The same underlying discipline — minimize what you store, render sensitive data unreadable at rest, and manage your cryptographic keys with the same rigor you manage physical access — shows up across every framework, not just PCI DSS. Organizations pursuing SOC 2 alongside PCI DSS will recognize this territory in the SOC 2 guidance on encryption for data at rest and in transit, and ISO 27001-certified organizations will find the same principles codified in ISO 27001's Annex A control on the use of cryptography. None of these frameworks substitute for PCI DSS validation if you handle card data, but a mature cryptography and key-management program built for one tends to satisfy most of the technical expectations of the others.

Requirement 3 as a business opportunity, not just an audit line item

It's tempting to treat Requirement 3 purely as a compliance tax — a set of controls you build once and maintain grudgingly until the next Report on Compliance. The organizations that get the most value out of it treat it differently: every dollar spent on data minimization, tokenization, and key management is a dollar that also reduces breach blast radius, cuts cyber-insurance premiums, shrinks audit scope and cost, and — increasingly — becomes a sales differentiator when enterprise customers ask pointed questions about how you handle their customers' card data. Cascade Processing didn't just pass its next assessment faster; it turned "we tokenize everything outside a 46-system vault" into a line item its sales team used in enterprise RFPs. Solstice Outfitters didn't just close its finding; it built a discovery-and-decommissioning discipline that now catches shadow IT risks well beyond payments.

Requirement 3 rewards the same instinct good engineers already have: don't keep what you don't need, protect what you do, and make sure the keys to that protection are treated with at least as much rigor as the data itself. Get that right, and the audit becomes a formality instead of a fire drill.

If you're mapping your own Requirement 3 program, PentesterWorld's PCI DSS Scoping & CDE Worksheet is a practical starting point for identifying every place account data actually lives before you decide how to protect it, and our PCI DSS Gap Analysis Tool can help benchmark your current masking, hashing, and key-management posture against the sub-requirements covered here. For teams building out a formal key-management program, the PCI DSS Policy Pack includes retention, disposal, and key-management policy templates you can adapt rather than draft from scratch. And if a QSA finding has just landed on your desk the way it did on Dana's, PentesterWorld's assessment and remediation specialists can help you scope, prioritize, and close it before it becomes a forensic investigation.


Frequently asked questions

Does Requirement 3 apply if I use a third-party payment gateway and never touch card data myself?

If your systems genuinely never store, process, or transmit PAN or SAD — for example, a fully outsourced, redirect-based checkout — Requirement 3's storage obligations largely fall on the gateway, not you, and your own PCI DSS scope shrinks accordingly (often qualifying for a simpler SAQ). But "we use a gateway" isn't automatically true outsourcing — confirm your integration method doesn't pass raw PAN through your own servers first.

Can we ever store a CVV if it's encrypted?

No. Requirement 3.3.1.2 prohibits storing CAV2/CVC2/CVV2/CID after authorization regardless of whether it's encrypted. Encryption is not an exception for SAD the way it is for PAN.

Is masking the same thing as encryption?

No. Masking is a display control (Requirement 3.4) that limits what a human sees on screen; it says nothing about how the underlying data is protected in storage. Requirement 3.5 (rendering PAN unreadable at rest) is the separate, mandatory storage control. Both are required, independently.

Does full-disk encryption satisfy Requirement 3.5?

Only for removable media. For non-removable media like production database servers, disk or partition-level encryption alone does not satisfy 3.5.1 — you need an additional method (file, column, field-level encryption, hashing, truncation, or tokenization) layered on top, per Requirement 3.5.1.2.

What changed for hashing under PCI DSS v4.0?

Requirement 3.5.1.1 now requires a keyed cryptographic hash of the entire PAN, not a plain, unkeyed hash. This closes the brute-force weakness of hashing a highly structured, largely predictable 16-digit number, but it also means the hashing key itself must be managed under full Requirement 3.6/3.7 key-management controls.

How long can we retain cardholder data?

There's no single PCI-mandated number — Requirement 3.2.1 requires you to define your own retention period based on legal, regulatory, and legitimate business need, document it, and enforce it, including a quarterly process to purge or verify the absence of data exceeding that period.

Does tokenization take our systems out of PCI DSS scope entirely?

It can significantly reduce scope for systems that only ever handle the token, not the real PAN — but the token vault itself (whether you operate it or a provider does) remains fully in scope, and your own scope reduction depends on correctly implementing tokenization so no system outside the vault ever touches raw PAN, even transiently.

Who is responsible for split knowledge and dual control — do small merchants really need this?

Split knowledge and dual control (3.7.6) apply specifically to manual cleartext key-management operations. Many smaller merchants avoid this burden entirely by using a fully managed key-management service or HSM where manual cleartext key handling never happens — which is often the more practical answer than building a two-person key ceremony in-house.

91

About the author

Cybersecurity Expert

Satish Kumar writes about cybersecurity, offensive security, and practical defense strategies on PentesterWorld.

Related Articles

Comments (0)

No comments yet. Be the first to share your thoughts!