PCI DSS v4.0

Cardholder-data paths mapped to PCI requirements.

VibeReview traces cardholder data through your code, identifies in-scope services, and generates guardrails for Requirements 4, 6, 8, and 10. PR review logs evidence per requirement and sub-requirement. Mapping reports cite PCI DSS v4.0 by number.

14-day free trial · No card required

You prompting Cursor · app/api/payments/save_card.py

"Let the customer save their credit card so checkout is one click next time."

VibeReview matched 3 PCI DSS v4.0 requirements · invisibly
  • Req 3.5.1 — never store full PAN; tokenize via /pci/tokenize
  • Req 3.4.1 — strip card number from all log statements
  • Req 4.2.1 — TLS 1.2+ enforced on the gateway call
app/api/payments/save_card.py
@app.post("/payments/save-card")
def save_card(card: CardIn, user = Depends(auth)):
    token = pci_gateway.tokenize(
        card.number,    # never logged, never stored
        tls_min="1.2",
    )
    db.execute(
        "INSERT INTO payment_tokens "
        "(user_id, token, last4, brand) "
        "VALUES (?, ?, ?, ?)",
        (user.id, token, card.last4, card.brand),
    )
    audit.log("card.saved", user=user.id, last4=card.last4)

✓ Only the token and last four digits hit the database. Req 3.4, 3.5, and 4.2 satisfied on the first prompt.

MODEL

Threat model → CHD scope.

VibeReview traces credit-card patterns across services. The model names the in-scope code, the tokenization boundary, and the storage layer.

ENFORCE

Guardrails → Requirements 4, 6, 8, 10.

TLS 1.2+ enforcement, secure SDLC patterns, MFA hooks, audit logging. Each guardrail cites the PCI DSS sub-requirement it enforces.

EVIDENCE

PR review → per-requirement evidence.

Every diff that touches CHD code runs the matching guardrails. Audit log records the requirement number, the file, and the outcome.

REPORT

Mapping report → assessor-ready.

Per-requirement, per-sub-requirement coverage. Maps to the PCI DSS v4.0 reporting template your QSA will use.

WHAT'S COVERED

PCI DSS v4.0 requirements and the VibeReview controls behind them.

Coverage is scope-dependent. Your mapping report names the requirements enforced for your CDE.

  • Requirement 3 — Protect stored account data: Tokenization gateway enforcement, no PAN in logs or temp storage, key rotation rules per crypto module.
  • Requirement 4 — Protect cardholder data in transit: TLS 1.2+ enforcement, cipher allow-lists, certificate validation, no fallback to cleartext.
  • Requirement 6 — Secure systems and software: Secure SDLC patterns, dependency pinning, input validation, output encoding, secure-by-default frameworks.
  • Requirement 7 — Restrict access to system components: Role-based access enforcement, least-privilege patterns, object-level authorization.
  • Requirement 8 — Identify users and authenticate access: MFA hooks, password complexity rules, session lifetime ceilings, credential rotation.
  • Requirement 10 — Log and monitor: Audit-event coverage, structured logging, no PAN in logs, log-injection mitigation, time-source enforcement.
  • Requirement 11 — Test security: PR review acts as a recurring per-change test. Findings logged per requirement.
  • Requirement 12 — Information security policy: Guardrails-as-code make policy a Git artifact. Diffs and approvals serve as policy-change evidence.

Get the PCI DSS mapping report for your CDE.

Bring your QSA to the briefing. We walk through CHD scope, control coverage, and evidence export.