Skip to content

docs: Add secure collaboration learning path#29386

Open
jhutchings1 wants to merge 9 commits into
productionfrom
jhutchings1/secure-collaboration-learning-path
Open

docs: Add secure collaboration learning path#29386
jhutchings1 wants to merge 9 commits into
productionfrom
jhutchings1/secure-collaboration-learning-path

Conversation

@jhutchings1

Copy link
Copy Markdown
Contributor

Summary

This new learning path documents a number of security best practices for customers in terms of setting up an account, inviting collaborators, creating API tokens, creating developer products, and finally securing them behind Zero Trust. This is intended to be high level and guide folks to more specific docs that already exist.

@AdamBouhmad @irvinebroque @asamborski @dcpena would love to get your thoughts on this.

Screenshots (optional)

Documentation checklist

  • Is there a changelog entry (guidelines)? If you don't add one for something awesome and new (however small) — how will our customers find out? Changelogs are automatically posted to RSS feeds, the Discord, and X.
  • The change adheres to the documentation style guide.
  • If a larger change - such as adding a new page- an issue has been opened in relation to any incorrect or out of date information that this PR fixes.
  • Files which have changed name or location have been allocated redirects.

@github-actions

github-actions Bot commented Mar 26, 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/learning-paths/ @cloudflare/pcx-technical-writing, @cloudflare/product-owners
* @cloudflare/pcx-technical-writing, @cloudflare/product-owners

@github-actions

github-actions Bot commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

Preview URL: https://42356255.preview.developers.cloudflare.com
Preview Branch URL: https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com

Files with changes (up to 15)

Original Link Updated Link
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/api-tokens/ci-cd-tokens/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/api-tokens/ci-cd-tokens/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/network-security-products/zero-trust-basics/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/network-security-products/zero-trust-basics/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/account-structure/initial-setup/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/account-structure/initial-setup/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/audit-compliance/audit-logs/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/audit-compliance/audit-logs/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/developer-resources/kv-d1-do-security/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/developer-resources/kv-d1-do-security/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/developer-resources/secrets-management/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/developer-resources/secrets-management/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/members-roles-permissions/role-selection/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/members-roles-permissions/role-selection/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/api-tokens/scoping-tokens/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/api-tokens/scoping-tokens/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/audit-compliance/alerts-notifications/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/audit-compliance/alerts-notifications/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/members-roles-permissions/member-model/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/members-roles-permissions/member-model/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/account-structure/account-hierarchy/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/account-structure/account-hierarchy/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/api-tokens/token-vs-key/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/api-tokens/token-vs-key/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/developer-resources/r2-security/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/developer-resources/r2-security/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/members-roles-permissions/sso-scim/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/members-roles-permissions/sso-scim/
https://developers.cloudflare.com/learning-paths/secure-cloudflare-account/developer-resources/pages-access/ https://jhutchings1-secure-collaboration-learning-path.preview.developers.cloudflare.com/learning-paths/secure-cloudflare-account/developer-resources/pages-access/

@jhutchings1 jhutchings1 requested a review from dcpena March 31, 2026 01:51
@github-actions

Copy link
Copy Markdown
Contributor

Hey there, we've marked this pull request as stale because there's no recent activity on it. This label helps us identify PRs that might need updates (or to be closed out by our team if no longer relevant).

@github-actions github-actions Bot added the stale label Apr 14, 2026
@marciocloudflare

Copy link
Copy Markdown
Contributor

PCX triage note — PCX team pinged the assigned reviewer on 2026-04-20. Waiting for review.

@github-actions github-actions Bot removed the stale label Apr 22, 2026
title: Account structure
pcx_content_type: overview
sidebar:
order: 1

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I would change this to 2 because it's showing up before the "Setting up CF for secure collaboration" in the nav

Comment thread src/content/docs/learning-paths/secure-cloudflare-account/index.mdx Outdated
order: 2
---

## Why this matters

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I would remove this header and skip straight to the intro sentence on line 10.

order: 4
---

## Why this matters

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Remove header

order: 2
---

## Why this matters

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Remove header

order: 3
---

## Why this matters

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Remove header

jhutchings1 and others added 7 commits April 28, 2026 15:54
…t-compliance/audit-logs.mdx

Co-authored-by: Denise Peña <75506267+dcpena@users.noreply.github.com>
…t-compliance/alerts-notifications.mdx

Co-authored-by: Denise Peña <75506267+dcpena@users.noreply.github.com>
…x.mdx

Co-authored-by: Denise Peña <75506267+dcpena@users.noreply.github.com>
…unt-structure/account-hierarchy.mdx

Co-authored-by: Denise Peña <75506267+dcpena@users.noreply.github.com>
…ork-security-products/waf-ddos.mdx

Co-authored-by: Denise Peña <75506267+dcpena@users.noreply.github.com>
…unt-structure/account-hierarchy.mdx

Co-authored-by: Denise Peña <75506267+dcpena@users.noreply.github.com>
@github-actions

github-actions Bot commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

CI run failed: build logs

@github-actions

Copy link
Copy Markdown
Contributor

Broken Links

Found 1 broken link(s) across 1 file(s).

File Link Position Error
learning-paths/secure-cloudflare-account/network-security-products/zero-trust-basics.mdx /learning-paths/replace-vpn/ 52:3 invalid link

@github-actions

Copy link
Copy Markdown
Contributor

Hey there, we've marked this pull request as stale because there's no recent activity on it. This label helps us identify PRs that might need updates (or to be closed out by our team if no longer relevant).

@github-actions github-actions Bot added the stale label May 27, 2026
@jhutchings1 jhutchings1 requested a review from a team May 27, 2026 16:57
@jhutchings1

Copy link
Copy Markdown
Contributor Author

@rianvdm do you mind having a look at this one? Stalled out in review phase. Thanks!

@jhutchings1 jhutchings1 removed the stale label May 27, 2026
@rianvdm

rianvdm commented May 27, 2026

Copy link
Copy Markdown
Collaborator

@jhutchings1 Yes, will review this today.

@rianvdm rianvdm 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.

Added a few comments but there are also some structural issues. For instance, the style guide requires description: whenever pcx_content_type is set. All 27 pages set pcx_content_type and none have a description.

Recommend a separate /review-branch-code command from inside the cloudflare docs repo, in addition to resolving all comments.

- [Get started with Zero Trust](/cloudflare-one/setup/)
- [Connect to Cloudflare Tunnel](/cloudflare-one/networks/connectors/cloudflare-tunnel/)
- [Configure an identity provider](/cloudflare-one/integrations/identity-providers/)
- [Replace your VPN learning path](/learning-paths/replace-vpn/) — a full walkthrough for teams migrating from VPN

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.

Build CI is complaining about this link. It redirects in prod but we should change it to /learning-paths/replace-vpn/concepts/ to pass validation


## Recommendations

Enable the Cloudflare Managed Ruleset and configure DDoS protection to "high" sensitivity for all public-facing zones. These are the two highest-value, lowest-effort security improvements available in the WAF, and they should be on by default for every production zone.

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.

High is the default and it can only be lowered according to docs, so maybe: "Turn on the Cloudflare Managed Ruleset and confirm DDoS protection is at the default "High" sensitivity for all public-facing zones."?

## Key considerations

- **The Cloudflare Managed Ruleset covers the OWASP Top 10 and known CVEs.** It is updated automatically as new threats emerge. Enabling it takes one click and requires no ongoing maintenance. The default action is to block, but you can set rules to log-only first if you want to observe what it would block before committing.
- **DDoS Override rules let you configure sensitivity and action per zone.** The default DDoS protection is always on and cannot be turned off, but you can tune it. For most production sites, increasing sensitivity to "high" and setting the action to "block" (rather than "challenge") is appropriate. Legitimate traffic patterns rarely trigger high-sensitivity DDoS rules.

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.

Same comment here, default is "High." Suggestion:

"The default sensitivity is High and the default action is Block — leave both as-is for most production sites. Lower the sensitivity only if you observe false positives on legitimate traffic."


## Key considerations

- **The Cloudflare Managed Ruleset covers the OWASP Top 10 and known CVEs.** It is updated automatically as new threats emerge. Enabling it takes one click and requires no ongoing maintenance. The default action is to block, but you can set rules to log-only first if you want to observe what it would block before committing.

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.

OWASP is a different different rules (docs). So maybe "The Cloudflare Managed Ruleset covers common attack techniques and known CVEs." And add "For OWASP Top 10 coverage specifically, also turn on the Cloudflare OWASP Core Ruleset."

| Team member | Recommended roles |
|---|---|
| Senior engineer or tech lead | `Administrator` (account-scoped, if truly needed) |
| Developer working on a specific domain | `DNS`, `Workers Editor` — scoped to that zone |

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.

Per Roles, Workers Editor grants access to the Workers Playground only — it does not let a member edit deployed Workers. The role for developer-platform editing is Workers Platform Admin).

title: Members, roles, and permissions
pcx_content_type: overview
sidebar:
order: 2

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.

Some renumbering needed, there is already a number 2.


## Why this matters

R2 buckets are private by default, but it is easy to accidentally make one public. A misconfigured public bucket can expose data to the entire internet. Even when public access is intentional, it needs to be controlled.

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.

Capitalize Internet


## Why this matters

DNS is the phonebook of the internet. Attackers who can tamper with your DNS records can redirect your users, intercept traffic, and issue fraudulent TLS certificates. Two of the most common DNS-based attacks, DNS cache poisoning and subdomain takeover, are preventable with straightforward configuration.

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.

Capitalize Internet

order: 5
---

Securing your account and developer resources covers the inside of your Cloudflare configuration. This module covers the products that protect what you expose to the internet: your domains, applications, and team members' access to internal tools.

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.

Capitalize Internet


### Connect your application with Cloudflare Tunnel

For self-hosted applications, Cloudflare Tunnel (`cloudflared`) is how your origin connects to Cloudflare's network without opening inbound firewall ports. The `cloudflared` daemon runs in your infrastructure and creates outbound-only connections to Cloudflare's edge. You can configure your firewall to block all inbound traffic and allow only these outbound connections, so your origin is never directly reachable from the internet.

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.

Capitalize Internet

@github-actions

Copy link
Copy Markdown
Contributor

Hey there, we've marked this pull request as stale because there's no recent activity on it. This label helps us identify PRs that might need updates (or to be closed out by our team if no longer relevant).

@github-actions github-actions Bot added the stale label Jun 11, 2026
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.

4 participants