Skip to content

[SSL] expand PCI DSS compliance guide - #33160

Merged
ngayerie merged 1 commit into
productionfrom
dee-3623-pci-dss-compliance-guide
Sep 14, 2026
Merged

ngayerie merged 1 commit into
productionfrom
dee-3623-pci-dss-compliance-guide

Conversation

@ngayerie

@ngayerie ngayerie commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Expands the SSL/TLS PCI DSS compliance documentation to address a gap identified in the SSL/TLS Clarity Report (theme 11).

DEE-3623

Changes

  • /ssl/reference/compliance-and-vulnerabilities/: rewritten as a complete how-to guide covering minimum TLS 1.2, PCI DSS cipher suite profile, TLS 1.3 (recommended), configuration verification, Cloudflare Pages limitation, PCI DSS v4 client-side requirements summary, ASV scan behaviour, and known scanner false positives

Note: the /client-side-security/reference/pci-dss/ changes were split to a separate PR (#33199) which was closed pending legal review of the requirements mapping. That scope is not included here.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 1, 2026

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://dee-3623-pci-dss-compliance-guide.previews.developers.cloudflare.com (commit 9c6aefa)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://11e49549.previews.developers.cloudflare.com 9c6aefa 2026-09-14T18:56:47.724Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://6635c217.previews.developers.cloudflare.com 8e8db75 2026-09-13T10:24:25.750Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://cb4c3fd6.previews.developers.cloudflare.com d6c67d0 2026-09-05T09:58:52.735Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://77b1402b.previews.developers.cloudflare.com 2d1e82b 2026-09-04T12:02:11.411Z Visit the dashboard ↗
  • Build: Failed ❌

View logs ↗
be54822 2026-09-04T11:35:41.462Z View logs ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://641a99ee.previews.developers.cloudflare.com 40e0d35 2026-09-03T06:37:16.211Z Visit the dashboard ↗
  • Build: In progress 🔵

View logs ↗
f4dccf3 2026-09-03T06:17:36.579Z View logs ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://85fd0956.previews.developers.cloudflare.com 52e1f49 2026-09-01T13:24:20.586Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://439c4358.previews.developers.cloudflare.com 504df72 2026-09-01T11:04:57.672Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://4da580d2.previews.developers.cloudflare.com 31595e3 2026-09-01T10:35:59.553Z Visit the dashboard ↗

View all previews: View all previews ↗

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

This pull request requires reviews from CODEOWNERS as it changes files that match the following patterns:

Pattern Owners
/src/content/docs/ssl/ @baubuchon-cf, @lgarofalo, @cloudflare/appsec-reviewers, @cloudflare/product-owners

@ngayerie ngayerie changed the title docs(ssl): expand PCI DSS compliance guide [SSL] expand PCI DSS compliance guide Sep 1, 2026
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

@ngayerie
ngayerie marked this pull request as ready for review September 1, 2026 09:25
@cloudflare-docs-bot

cloudflare-docs-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Review

⚠️ 2 warnings, 💡 3 suggestions found in commit 9c6aefa.

👉 Fix in your agent 👈
Fix the following review findings in PR #33160 (https://github.com/cloudflare/cloudflare-docs/pull/33160).

Before making changes, review each finding and present a brief summary table:
- For each finding, state whether you agree, disagree, or need clarification
- If you disagree (e.g. the fix requires disproportionate effort for minimal benefit,
  or the finding is factually incorrect), explain why
- If you need clarification before deciding, ask those questions
- Then share your plan for which issues to tackle and in what order

After triaging, follow this order:
1. Post a comment on this PR for any findings you are skipping, with the finding ID and your reasoning.
2. Then commit the fixes for the legitimate findings.

The comment must come before the commit — the bot reads PR comments when a new
push triggers a review, so skip comments posted after the push will be missed.

---

## Style Guide Review

### Warnings (2)

#### SG-d324f00840c8 · Deprecated jargon: enable/disable (for toggles)
- **File:** `src/content/docs/ssl/reference/compliance-and-vulnerabilities.mdx` line 93
- **Issue:** Line 93 adds `2. Enable **TLS 1.3**.` — TLS 1.3 is a dashboard toggle
- **Fix:** Use `Turn on TLS 1.3` instead of `Enable TLS 1.3`

#### SG-acfc7105e3cb · Deprecated jargon: enable/disable (for toggles)
- **File:** `src/content/docs/ssl/reference/compliance-and-vulnerabilities.mdx` line 61
- **Issue:** Line 61 adds `When you [enable TLS 1.3](...)` — TLS 1.3 is a dashboard toggle
- **Fix:** Use `turn on TLS 1.3` instead of `enable TLS 1.3`

### Suggestions (3)

#### SG-4ebca7c5973d · Consolidate repeated admonitions
- **File:** `src/content/docs/ssl/reference/compliance-and-vulnerabilities.mdx` line 60
- **Issue:** Lines 56–63 add two `:::note` admonitions in the same Step 2 section
- **Fix:** Consolidate the two notes into one or integrate the content into prose

#### SG-3a5f55dae80a · Bullet list with fewer than three items
- **File:** `src/content/docs/ssl/reference/compliance-and-vulnerabilities.mdx` line 105
- **Issue:** Lines 105–106 add a bullet list with only two items (SSL Labs and SSL Shopper)
- **Fix:** Consider writing the two options as prose instead of a bullet list

#### SG-5700f0c068ea · Bullet list with fewer than three items
- **File:** `src/content/docs/ssl/reference/compliance-and-vulnerabilities.mdx` line 191
- **Issue:** Lines 191–192 add a bullet list with only two items
- **Fix:** Consider writing the two items as prose instead of a bullet list

Code Review

This code review is in beta and may not always be helpful — use your judgment.

No code review issues found.

Conventions

No convention issues found.

Style Guide Review

Warnings (2)
File Issue
ssl/reference/compliance-and-vulnerabilities.mdx line 93 Deprecated jargon: enable/disable (for toggles) — Line 93 adds 2. Enable \*\*TLS 1.3\*\*. — TLS 1.3 is a dashboard toggle Fix: Use Turn on TLS 1.3 instead of Enable TLS 1.3
ssl/reference/compliance-and-vulnerabilities.mdx line 61 Deprecated jargon: enable/disable (for toggles) — Line 61 adds When you [enable TLS 1.3](...) — TLS 1.3 is a dashboard toggle Fix: Use turn on TLS 1.3 instead of enable TLS 1.3
Suggestions (3)
File Issue
ssl/reference/compliance-and-vulnerabilities.mdx line 60 Consolidate repeated admonitions — Lines 56–63 add two :::note admonitions in the same Step 2 section Fix: Consolidate the two notes into one or integrate the content into prose
ssl/reference/compliance-and-vulnerabilities.mdx line 105 Bullet list with fewer than three items — Lines 105–106 add a bullet list with only two items (SSL Labs and SSL Shopper) Fix: Consider writing the two options as prose instead of a bullet list
ssl/reference/compliance-and-vulnerabilities.mdx line 191 Bullet list with fewer than three items — Lines 191–192 add a bullet list with only two items Fix: Consider writing the two items as prose instead of a bullet list
Commands

Only codeowners can run commands. Post a comment with the command to trigger it.

Command Description
/review Runs a review now. Incremental if a prior review exists, full if not.
/full-review Re-reviews the entire PR diff from scratch, ignoring incremental history. Useful after a rebase, when you want a fresh review, or if the bot gets out of sync and reports issues that no longer exist.
/ignore-review-limit Permanently lifts the 2-review automatic limit for this PR. Future pushes will trigger reviews as normal.
/disable-auto-review Stops automatic reviews from triggering on future pushes to this PR. Codeowners can still run /review or /full-review manually.
/rebase Rebases the PR branch against production. On conflict, attempts to resolve automatically using AI. Stops with an explanation if confidence is not high enough.

ngayerie commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

Skipping CR-31043405b1be (Incorrect technical claim about certificate redeployment).

The claim that "Updating cipher suites triggers certificate redeployment" is not an error introduced by this PR — it is sourced verbatim from the existing /ssl/edge-certificates/additional-options/cipher-suites/customize-cipher-suites/api.mdx documentation, which states: "Updating the cipher suites will result in certificates being redeployed." This PR preserves that established fact. If the underlying product behaviour has changed, a separate PR against api.mdx would be the right place to correct it.

Comment thread src/content/docs/ssl/reference/compliance-and-vulnerabilities.mdx Outdated
Comment thread src/content/docs/ssl/reference/compliance-and-vulnerabilities.mdx
Comment thread src/content/docs/client-side-security/reference/pci-dss.mdx Outdated
Comment thread src/content/docs/client-side-security/reference/pci-dss.mdx Outdated
@ngayerie
ngayerie force-pushed the dee-3623-pci-dss-compliance-guide branch from 40e0d35 to be54822 Compare September 4, 2026 11:34
@baubuchon-cf

Copy link
Copy Markdown
Collaborator

I think the rebase (be54822) may have dropped the pci-dss.mdx changes — not seeing that file in the current diff, but the description and @zeinjaber's approvals reference it. Could you check?

A vulnerability in the use of the Triple DES (3DES) encryption algorithm in the Transport Layer Security (TLS) protocol. Sweet32 is currently a proof of concept attack, there are no known examples of this in the wild. Cloudflare has manually mitigated the vulnerability for TLS 1.0 in the following manner:
If a scanner flags Sweet32, verify that TLS 1.0 is disabled on your zone. Refer to [Set minimum TLS version to 1.2](#step-1-set-minimum-tls-version-to-12) for steps. With TLS 1.0 disabled, the 3DES cipher suites where Sweet32 applies are not in use and the finding does not apply to your environment.

### `_cfuvid` cookie missing Secure flag

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I couldn't find a source for the '_cfuvid flagged for missing Secure flag' false positive. Could you link one, or maybe soften the claim if there isn't one?

Keep the WAF exception as narrow as possible — scoped to the scanner's IP range only. Remove it as soon as scanning is complete.
:::

Cloudflare's WAF may block attack-pattern traffic used by ASV scanners. If scanning is impacted, work with your ASV and QSA to determine the appropriate exception handling.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this section repeats itself — the opening line and the one after :::caution both say the WAF blocks ASV scanner traffic. Might be worth trimming one.


### TCP source port behavior

Some ASV tools report a **TCP Source Port Pass Firewall** finding against Cloudflare-proxied IP addresses. This is a false positive caused by how source port selection works in Cloudflare's reverse proxy infrastructure, not a vulnerability in your environment.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not blocking, but I believe the real mechanism is DNS source port 53 + NOTRACK, not general 'source port selection.' Up to you if you want more precision here.

| Requirement | Description | Cloudflare feature |
| --- | --- | --- |
| **6.4.3** | Maintain an inventory of all scripts on payment pages, with authorization and integrity checks | Client-Side Security Advanced |
| **11.6.1** | Detect and alert on unauthorized changes to HTTP security headers and payment page content | Client-Side Security Advanced |

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think Cloudflare's PCI mapping doc attributes this to Page Shield, not Client-Side Security Advanced. Probably the same thing under current branding, but might be worth a quick check.

@zeinjaber
zeinjaber self-requested a review September 10, 2026 07:19

Copy link
Copy Markdown
Collaborator Author

[AI] To address Bryan's note and Zein's inline threads on pci-dss.mdx:

The client-side-security/reference/pci-dss.mdx changes were intentionally split to a separate PR (#33199) to facilitate independent review. #33199 was subsequently closed by Zein pending legal review of the PCI DSS requirements mapping table. Those changes are not in scope of this PR and the description has been updated accordingly.

Zein's inline comments on pci-dss.mdx (the consumeruser's browser threads) apply to the closed PR, not to this one.

@xmflsct xmflsct removed their assignment Sep 13, 2026
@xmflsct
xmflsct removed their request for review September 13, 2026 14:13

@baubuchon-cf baubuchon-cf left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
Verified against published docs and internal wiki. Core PCI compliance guidance is correct.
Approved.

@ngayerie
ngayerie force-pushed the dee-3623-pci-dss-compliance-guide branch from 8e8db75 to 9c6aefa Compare September 14, 2026 18:50
@ngayerie
ngayerie enabled auto-merge (squash) September 14, 2026 18:52
@ngayerie
ngayerie merged commit 3cb481b into production Sep 14, 2026
16 checks passed
@ngayerie
ngayerie deleted the dee-3623-pci-dss-compliance-guide branch September 14, 2026 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants