Skip to content

Add Regional Services setup guides and align version naming#31507

Open
mathew-cf wants to merge 10 commits into
cloudflare:productionfrom
mathew-cf:mathew/DLS-471
Open

Add Regional Services setup guides and align version naming#31507
mathew-cf wants to merge 10 commits into
cloudflare:productionfrom
mathew-cf:mathew/DLS-471

Conversation

@mathew-cf

@mathew-cf mathew-cf commented Jun 16, 2026

Copy link
Copy Markdown
Contributor
  • Add "Ways to use Regional Services" section clarifying the three options (Regional Hostnames, Regionalized Spectrum Applications, Regionalized IP Bindings) and retiring the v1/v2/v3 labels in favor of descriptive names
  • Add Regionalized Spectrum Applications (RSv1) setup guide
  • Add Regionalized IP Bindings setup guide, including the DLS regions API
  • Add FAQ entries on partial-traffic regionalization, out-of-region handling, and Static IP/BYOIP support per option
  • Update Static IP/BYOIP compatibility footnote

Summary

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.

…ion naming

- Add "Ways to use Regional Services" section clarifying the three options
  (Regional Hostnames, Regionalized Spectrum Applications, Regionalized IP
  Bindings) and retiring the v1/v2/v3 labels in favor of descriptive names
- Add Regionalized Spectrum Applications (RSv1) setup guide
- Add Regionalized IP Bindings setup guide, including the DLS regions API
- Add FAQ entries on partial-traffic regionalization, out-of-region handling,
  and Static IP/BYOIP support per option
- Update Static IP/BYOIP compatibility footnote
Comment thread src/content/docs/data-localization/regional-services/index.mdx
Comment thread src/content/docs/data-localization/regional-services/index.mdx
Comment thread src/content/docs/data-localization/regional-services/ip-bindings.mdx Outdated
@mathew-cf mathew-cf marked this pull request as ready for review June 23, 2026 22:41
@mathew-cf mathew-cf requested review from a team and elithrar as code owners June 23, 2026 22:41
@cloudflare-docs-bot

cloudflare-docs-bot Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Review

⏸️ Automatic reviews for this PR are paused.

This PR has already received 2 automatic reviews. To run another review, a codeowner can comment /review or /full-review. To permanently lift the limit for this PR, a codeowner can comment /ignore-review-limit.

Tip: Keep PRs in draft mode until they are ready for review — the bot skips draft PRs automatically.


⚠️ 9 warnings, 💡 11 suggestions found in commit 086d9c4. ⚠️ Part of the review could not complete and will retry on the next push.

Code Review

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

❌ This review could not complete this run; results may be incomplete. It will retry on the next push.

Warnings (1)
File Issue
data-localization/regional-services/spectrum-applications.mdx line 41 Incorrect API field for BYOIP/Static IP — The step instructs users to set origin_direct to their Static IP or BYOIP address. origin_direct specifies the origin server address; BYOIP and Static IP edge addresses must be configured via edge_ips. Currently, the instruction to configure origin_direct remains in place. Fix: Change the instruction to configure edge_ips with the Static IP or BYOIP addresses (for example, edge_ips: { type: "static", ips: [...] }) and keep origin_direct for the origin server endpoint.

Style Guide Review

Warnings (8)
File Issue
data-localization/regional-services/ip-bindings.mdx line 49 Directional words — Line uses the permission groups above Fix: Replace above with a direct reference, e.g., the permission groups in Required API token permissions or the permission groups listed in the preceding table.
data-localization/how-to/cloudflare-for-saas.mdx line 34 API commands must be monospaced — Link text [API POST] uses the API command without backticks Fix: Use [POST] or [API POST] instead
data-localization/how-to/cloudflare-for-saas.mdx line 63 API commands must be monospaced — Link text [POST] is not wrapped in backticks Fix: Use [POST] instead
data-localization/how-to/cloudflare-for-saas.mdx line 65 API commands must be monospaced — Link text [PATCH] is not wrapped in backticks Fix: Use [PATCH] instead
data-localization/how-to/cloudflare-for-saas.mdx line 67 API commands must be monospaced — Link text [DELETE] is not wrapped in backticks Fix: Use [DELETE] instead
data-localization/faq.mdx line 32 No trailing punctuation in headings — Heading ends with a question mark: ## Can I apply Regional Services to only part of my traffic? Fix: Remove the trailing ?.
data-localization/faq.mdx line 36 No trailing punctuation in headings — Heading ends with a question mark: ## How is traffic from users outside the configured region handled? Fix: Remove the trailing ?.
data-localization/faq.mdx line 42 No trailing punctuation in headings — Heading ends with a question mark: ## Which Regional Services option works with Static IPs or BYOIP? Fix: Remove the trailing ?.
Suggestions (11)
File Issue
data-localization/regional-services/spectrum-applications.mdx line 11 Remove unused component importsSteps is imported from ~/components but no <Steps> tag is added in the patch. Fix: Remove Steps from the import or add the <Steps> wrapper if a numbered procedure is intended.
data-localization/regional-services/spectrum-applications.mdx line 40 Avoid semicolons between independent clauses — Added line joins two standalone sentences with a semicolon: "...zone; they all share...". Fix: Split into two sentences or use a conjunction.
data-localization/regional-services/ip-bindings.mdx line 35 see [link] — Line uses "See List available regions" Fix: Replace with "refer to List available regions"
data-localization/regional-services/ip-bindings.mdx line 162 Semicolons — Line joins two independent clauses with a semicolon: "Only the region_key can be updated; to change the CIDR..." Fix: Split into two sentences.
data-localization/regional-services/ip-bindings.mdx line 189 CURL component for Cloudflare API endpoints — Uses <CURL> for a Cloudflare API endpoint Fix: Use <APIRequest> instead of <CURL> for Cloudflare API endpoints.
data-localization/regional-services/spectrum-applications.mdx line 44 Use refer to [link] instead of see [link] — Step says See [Verify the configuration](#verify-the-configuration). Fix: Change to refer to [Verify the configuration](#verify-the-configuration)
data-localization/regional-services/index.mdx line 68 Use refer to instead of see for links — Line uses see [Get started](/data-localization/regional-services/get-started/) in prose Fix: Change to refer to [Get started](/data-localization/regional-services/get-started/)
data-localization/regional-services/index.mdx line 70 Use refer to instead of see for links — Line uses see [Regionalized Spectrum Applications](/data-localization/regional-services/spectrum-applications/) in prose Fix: Change to refer to [Regionalized Spectrum Applications](/data-localization/regional-services/spectrum-applications/)
data-localization/regional-services/index.mdx line 72 Use refer to instead of see for links — Line uses see [Regionalized IP Bindings](/data-localization/regional-services/ip-bindings/) in prose Fix: Change to refer to [Regionalized IP Bindings](/data-localization/regional-services/ip-bindings/)
data-localization/faq.mdx line 48 Use refer to [link] instead of see [link] — Line says see [Ways to use Regional Services](/data-localization/regional-services/#ways-to-use-regional-services)., Fix: Change to refer to Ways to use Regional Services.`
data-localization/compatibility.mdx line 174 Active voice — Footnote uses passive voice: "can be used" and "can also be regionalized" Fix: Rewrite in active voice, e.g., "You can use Static IP/BYOIP with Regionalized Spectrum Applications. You can also regionalize BYOIP prefixes at the IP layer with Regionalized IP Bindings."
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.

- Fix Spectrum Static IP/BYOIP setup: customer addresses go in edge_ips
  (type: static), not origin_direct (which is the origin server)
- Use 'refer to' instead of 'see' for links (style guide)
- Split semicolon-joined clause in ip-bindings into two sentences
- Use active voice in the Static IP/BYOIP compatibility footnote
Comment thread src/content/changelog/data-localization/2026-06-23-regionalized-ip-bindings.mdx Outdated
Comment thread src/content/docs/data-localization/regional-services/ip-bindings.mdx Outdated
Comment thread src/content/docs/data-localization/regional-services/spectrum-applications.mdx Outdated
Comment thread src/content/docs/data-localization/regional-services/spectrum-applications.mdx Outdated
Comment thread src/content/docs/data-localization/regional-services/spectrum-applications.mdx Outdated
Comment thread src/content/docs/data-localization/regional-services/spectrum-applications.mdx Outdated
Comment thread src/content/docs/data-localization/faq.mdx Outdated
Comment thread src/content/docs/data-localization/faq.mdx
Comment thread src/content/docs/data-localization/faq.mdx
…ervices

- Rename get-started.mdx to regional-hostnames.mdx (titled "Regional Hostnames"),
  add 301 redirect, and repoint all internal links so the three RS options each
  have a consistently named guide
- Add a 3-offering comparison table and an action-oriented "Get started" section
  to the Regional Services overview
- ip-bindings: clarify managed vs custom regions, explain the propagation window
  behavior, and document the required API token permissions (DLS Read for reads;
  DLS Write + IP Prefixes Write for binding writes)
- spectrum-applications: correct the zone model (multiple apps per zone, one region
  applies zone-wide), add Spectrum-in-contract prerequisite, document the Spectrum
  hostname limit and workarounds, emphasize account-team coordination, and link the
  shared verification guide and custom-regions blog
- faq: note Spectrum regionalization is zone-wide, link the comparison table and RS
  overview, and add a global assets.example.com example
- changelog: reword IP Bindings use case so it doesn't steer away from address maps
@mathew-cf mathew-cf requested a review from a team as a code owner June 24, 2026 20:20
Reflect that IP Bindings suit broad configurations and are fully self-serve
via address maps (no per-zone account-team setup), which many customers find
simpler than Regionalized Spectrum Applications.
A binding must become active (after propagation) before its addresses can be
added to an address map; addr-api rejects the operation otherwise. Traffic
routing is uninterrupted, but address-map management is gated on an active
binding. Add ordering guidance: create the binding first, then configure
address maps once it is active.
Establish region-support.mdx as the canonical reference with a new "Region
types" section defining managed vs custom regions, and clarify that the four
DLS region concepts are distinct:
- Managed regions: Cloudflare-defined, all RS options
- Custom regions: per-account via account team; Spectrum + IP Bindings only,
  not Regional Hostnames
- CMB: US or EU only (Global = unset, no boundary; FedRAMP uses US)
- Geo Key Manager: own country-based model

Standardize "standard region" -> "managed region", add a CMB-column legend to
the region table, cross-link all RS/CMB/GKM guides to the Region types section,
fix the CMB dashboard "Global" description, and add a managed-vs-custom FAQ
entry. No internal request processes exposed; RSv3/SNI remains undocumented.
The CMB config/API values are lowercase (eu, us); align the prose and dashboard
references to match the API examples.
- [Spectrum](/spectrum/) is included in your Enterprise contract. Spectrum is an add-on, so it must be part of your contract before it can be enabled.
- Your account has the **Regional Services** and **Spectrum** entitlements enabled. Contact your account team to enable them.
- You have a hostname proxied through Cloudflare that you want to regionalize.
- If you want to use your own addresses, you have onboarded [Static IPs](/byoip/concepts/static-ips/) or a [BYOIP](/byoip/) prefix.

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.

We should clarify here that Static IPs specifically for Spectrum are required: https://developers.cloudflare.com/spectrum/about/static-ip/


## What is the difference between managed and custom regions?

**Managed regions** are predefined regions that Cloudflare maintains (for example, `eu` or `us`) and are available to all accounts. **Custom regions** are tailored to your account, restricting processing to a specific set of data centers when the managed regions do not meet your compliance requirements. Custom regions are set up through your account team and are available for Regionalized Spectrum Applications and Regionalized IP Bindings, but not for Regional Hostnames.

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.

[nit] This is a essentially a repeat of the Region Types section. Ideally we'd have a single source for these details.

- **Customer Metadata Boundary** can be set to the **United States** or the **European Union**. By default no boundary is applied. FedRAMP customers set it to the United States.
- **Geo Key Manager** controls where TLS private keys are stored using its own set of locations.

The tables below show which managed regions each feature supports.

@aberglund-cf aberglund-cf Jun 25, 2026

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.

More consistent with the table description.

Suggested change
The tables below show which managed regions each feature supports.
The tables below show which managed regions each product supports.


| Offering | How traffic is addressed | Granularity | Static IP / BYOIP | API | Availability | Best for |
| ------------------------------------------------------------------------------------- | ------------------------------ | ---------------------------------- | ------------------------ | ---------------------------- | ------------ | -------------------------------------------------------------- |
| [Regional Hostnames](/data-localization/regional-services/regional-hostnames/) | Cloudflare shared anycast IPs | Per hostname | Not supported | Regional Hostnames API | GA | Most deployments; regionalizing specific proxied hostnames |

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.

[nit] All methods use anycast, noting it here raises the question if the other aren't.

Suggested change
| [Regional Hostnames](/data-localization/regional-services/regional-hostnames/) | Cloudflare shared anycast IPs | Per hostname | Not supported | Regional Hostnames API | GA | Most deployments; regionalizing specific proxied hostnames |
| [Regional Hostnames](/data-localization/regional-services/regional-hostnames/) | Cloudflare shared IPs | Per hostname | Not supported | Regional Hostnames API | GA | Most deployments; regionalizing specific proxied hostnames |

| ------------------------------------------------------------------------------------- | ------------------------------ | ---------------------------------- | ------------------------ | ---------------------------- | ------------ | -------------------------------------------------------------- |
| [Regional Hostnames](/data-localization/regional-services/regional-hostnames/) | Cloudflare shared anycast IPs | Per hostname | Not supported | Regional Hostnames API | GA | Most deployments; regionalizing specific proxied hostnames |
| [Regionalized Spectrum Applications](/data-localization/regional-services/spectrum-applications/) | Dedicated IP via Spectrum app | Per zone (all Spectrum HTTP/S apps) | Static IPs and BYOIP | Spectrum API | GA | Traffic addressed by IP that needs Static IPs or BYOIP |
| [Regionalized IP Bindings](/data-localization/regional-services/ip-bindings/) | BYOIP prefix at the IP layer | Per CIDR / IP prefix (scales to whole prefixes) | BYOIP only | Data Localization Suite API | GA | Broad, self-serve regionalization managed simply via address maps |

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.

Suggested change
| [Regionalized IP Bindings](/data-localization/regional-services/ip-bindings/) | BYOIP prefix at the IP layer | Per CIDR / IP prefix (scales to whole prefixes) | BYOIP only | Data Localization Suite API | GA | Broad, self-serve regionalization managed simply via address maps |
| [Regionalized IP Bindings](/data-localization/regional-services/ip-bindings/) | BYOIP prefix at the IP layer | Per CIDR / IP prefix (scales to whole prefixes) | BYOIP only | Data Localization Suite API | GA | Broad, self-serve regionalization managed via address maps |


- **Regionalized Spectrum Applications** — Regionalize [Spectrum](/spectrum/) HTTP/S applications. Spectrum applications use a separate regionalization mechanism from the Regional Hostnames API, and work with both [Static IPs](/byoip/concepts/static-ips/) and [Bring Your Own IP (BYOIP)](/byoip/). To set it up, refer to [Regionalized Spectrum Applications](/data-localization/regional-services/spectrum-applications/).

- **Regionalized IP Bindings** — Bind a [BYOIP](/byoip/) prefix to a region so that traffic destined for those IP addresses is processed in-region. Because bindings are managed through the API as address maps, this option is well suited to broad configurations (whole prefixes, zones, or accounts) and is fully self-serve once entitlements are enabled — many customers find it simpler to manage than Regionalized Spectrum Applications. This option requires the Regional Services and Regional Services for BYOIP entitlements. To set it up, refer to [Regionalized IP Bindings](/data-localization/regional-services/ip-bindings/).

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.

[nit] Seems unnecessary, the use cases are well described.

Suggested change
- **Regionalized IP Bindings** — Bind a [BYOIP](/byoip/) prefix to a region so that traffic destined for those IP addresses is processed in-region. Because bindings are managed through the API as address maps, this option is well suited to broad configurations (whole prefixes, zones, or accounts) and is fully self-serve once entitlements are enabled — many customers find it simpler to manage than Regionalized Spectrum Applications. This option requires the Regional Services and Regional Services for BYOIP entitlements. To set it up, refer to [Regionalized IP Bindings](/data-localization/regional-services/ip-bindings/).
- **Regionalized IP Bindings** — Bind a [BYOIP](/byoip/) prefix to a region so that traffic destined for those IP addresses is processed in-region. Because bindings are managed through the API as address maps, this option is well suited to broad configurations (whole prefixes, zones, or accounts) and is fully self-serve once entitlements are enabled. This option requires the Regional Services and Regional Services for BYOIP entitlements. To set it up, refer to [Regionalized IP Bindings](/data-localization/regional-services/ip-bindings/).

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.

5 participants