CentralCSP
FeaturesBuildersConnection-Allowlist

Review destinations

On the Review destinations step, decide which origins go into your Connection-Allowlist. Redirects, sections, site patterns, filters, and the details panel.

Last update:

The Review destinations step of the Connection-Allowlist builder lists every destination your pages tried to reach. Each row carries a decision, Add or Reject. The list on the deploy step contains only the added rows, and any script on your pages can send data to them, so allow only what you recognize.

The Review destinations step with the Redirects were likely blocked alert, the Redirects setting, a WebRTC row, and a site section where one wildcard pattern covers dimmed subdomains, one of them flagged Redirect blocked

Redirects

The Redirects card above the table decides whether the browser follows redirects at all. It offers Allow and Block, and starts on Block.

Block stops every redirected request, whatever its target. That includes a redirect to an allowed destination, and one that stays on your own origin, such as /account to /account/. An open redirect on an allowed site then cannot carry data to a site you never listed. Block is the browser's default, so it adds nothing to the list.

Allow adds redirects=allow. The browser then checks only the first request and follows every redirect, wherever it leads. Select Allow only if your pages rely on a redirect, such as a sign-in or payment step.

Blocked redirects

A blocked redirect is reported under the URL the page requested, not the redirect target. A report that names a destination your starting list already allows therefore points to a blocked redirect. With redirects blocked, the builder flags those rows Redirect blocked.

When such rows exist, a Redirects were likely blocked alert opens the step, with the number of reports behind them. To act on it:

  1. Set the flag filter to Redirect blocked.
  2. Open each row and read its Blocked URLs in the details panel.
  3. Remove the redirect from your site, or select Allow in the Redirects card if your pages need it.

If you started from a pasted list that holds redirects=allow, the card starts on Allow. Auto leaves this setting as it is.

Sections

The table groups its rows into sections, in this order:

SectionWhat it holds
Your starting listThe entries of the policy you started from, such as response-origin
WebRTCOne WebRTC connections row, when browsers reported WebRTC connections
A site, such as https://example.comThe subdomains of a site with three or more reported subdomains, led by a pattern row
Other destinationsEvery other reported destination

After Your starting list and WebRTC, the site and Other destinations sections follow their report count, the busiest first.

WebSocket destinations have no section of their own. Browsers report a WebSocket under its https: origin, so it appears with the other destinations of that origin. Inside a site section, the pattern row comes first, then the subdomains by report count.

Site pattern rows

A site gets its own section once browsers reported three or more of its subdomains on the default port. The section opens with a pattern row, such as https://*.example.com, flagged Recommended. One pattern replaces an entry for each subdomain, and it also allows any other subdomain of the site.

The pattern row starts added when three or more of those subdomains are allowed. While it is added, the subdomains it covers are locked. They show Allowed by the site pattern, stay dimmed, and their own decision cannot change. To decide on each subdomain alone, reject the pattern row.

A pattern never covers the site itself or a subdomain on another port. https://example.com and https://api.example.com:8443 keep their own rows and their own decisions, even inside the site section.

Columns

The table has one row per entry or destination, with these columns:

ColumnMeaning
SiteThe section the row belongs to
DestinationThe entry or the origin, such as https://api.example.com, or WebRTC connections
SourceWhere the row comes from, as listed in Row sources
FlagsWhat the row needs you to know, as listed in Flags
ReportsHow many reports named this destination in the period, empty for entries of your starting list
DecisionAdd to put the row in the list, or Reject to leave it out

Rejected rows stay in the table, dimmed, so you can add them back. To sort, select the Reports or Decision column header.

Row sources

The Source column shows one of three labels:

LabelMeaning
DefaultThe response-origin entry, when you started from Only your own origin
From your policyAn entry of the list you pasted, kept as it is
From reportsA destination browsers reported in the period, or a site pattern built from them

Flags

The Flags column shows these chips:

FlagMeaning
RecommendedA site pattern row, offered because three or more subdomains of the site were reported
Already allowedYour starting list already allows this destination, so nothing needs adding
Redirect blockedYour starting list allows this destination, yet browsers reported it while redirects were blocked, so the browser most likely blocked a redirect from it
Never matchesA ws:// or wss:// entry of your pasted list, which no browser matches, as WebSockets explains
Allowed by the site patternThe site pattern, or another entry of the list, allows this destination whatever its own decision
NoiseReported fewer than 10 times in the period

Default decisions

The builder decides every row before you touch it:

  • Entries of the starting list start added.
  • Reported destinations start added, including WebRTC, which then sets webrtc=allow.
  • Destinations flagged as noise start rejected, unless your starting list already allows them.
  • A site pattern starts added when three or more of its subdomains are added.

Your own decisions always win over these defaults. They also survive a change of period on the first step, so you can widen the period without losing your work.

Rejecting a destination that an entry of your starting list names exactly takes that entry out of the list too. Adding the entry back allows the destination again.

Filters

The toolbar narrows the table with a search field and three filters:

  • The search field matches the destination and the section name.
  • All sources shows one row source.
  • All flags shows one flag.
  • Any report count shows destinations with at least, or fewer than, 10, 100, or 1,000 reports, such as Only 10+ reports. Entries of your starting list have no report count, so this filter hides them.

The source and flag filters offer only the options the table holds.

Auto

The Auto button puts every row back to its default decision. The builder allows every destination that is not noise, rejects noise, restores every entry of the starting list, and turns each site pattern back to its default. A notification says how many destinations were allowed and rejected. The Redirects setting does not change.

Export

The Export button downloads the rows the filters keep as a CSV file, in table order. The file has the Site, Destination, Source, Flags, Reports, and Decision columns, with Added or Rejected as the decision. Each export is recorded in the audit log, with the row count and the active filters.

Details panel

Selecting a row opens its details panel. The panel gathers the evidence behind the row, so you can decide whether your pages really need it. For a reported destination, it holds these sections:

SectionWhat it showsWhat it tells you
Why it looks like noiseWhy the destination was flagged as noise, such as its low report countWhether the evidence is too thin to trust
Why it was suggestedHow many connections browsers blocked or reported, and what adding the row writesWhether the destination is new, already allowed, or covered by a site pattern
Your answerA yes or no question, such as whether your pages connect to that destinationYes adds the row and No rejects it, the same as the Decision column
In numbersThe report count, the share of all blocked connections, the browsers, the mode, and the last time it was reportedWhether the destination is steady traffic or a one-off
Top 10 pages where it happenedThe ten pages that triggered the most reportsWhether the connection starts from pages you know, such as your checkout
Blocked URLsThe full URLs browsers reported for this originWhich endpoint on the destination your pages call

A blocked URL with nothing after the host but /, such as https://cdn.example.net/, usually comes from a dns-prefetch or preconnect hint in your pages. The browser checks those hints against the list on their own, and the panel says so under Blocked URLs.

Your answer is absent on a row your starting list already allows, and on a subdomain a site pattern covers. On a very busy period, the page list can be replaced by This period holds too many reports to rank its pages. Pick a shorter period to see them.

A pattern row shows What this entry allows, Why it was suggested, Your answer, and Subdomains it covers, the reported subdomains with their report counts. An entry of your starting list shows What this entry allows and Why it is here.

The details drawer for the https://*.mywebsite.com pattern, explaining what it allows, why it was recommended and the four subdomains it covers

Decide whether to allow a destination

Allow a destination when your pages need it. Reject it when your pages do not need it, or when you do not know where it comes from. A rejected destination is blocked once you enforce the list, so rejecting one your pages need breaks them. Rejecting an unknown destination is how the list protects you: a skimmer on your page has nowhere to send what it collects.

Allow the destination in cases like these:

DestinationEvidence in the details panelDecision
https://api.example.comThousands of reports, from the pages that call your API, last seen todayAdd, it is your own backend on another subdomain
https://*.example.com patternSubdomains it covers lists api, assets, and cdn, which you run yourselfAdd, one pattern for your own subdomains
https://www.google-analytics.comReported across your top pages, with blocked URLs on the analytics collection pathAdd, if your team runs that analytics tag
https://chat.example.netReported on your support pages, where a chat widget opens a WebSocketAdd, it is your chat vendor, and the entry also allows wss://chat.example.net
WebRTC connectionsReported on the pages of your video consultation featureAdd, your pages make calls

Reject the destination in cases like these:

DestinationEvidence in the details panelDecision
An origin reported 3 timesFlagged as noise, from a single pageReject, the evidence is too thin
An origin you do not recognizeReported only on your checkout, with a blocked URL path you cannot explainReject, then investigate it as a possible skimmer
WebRTC connections on a site with no callsReported on pages that have no video or voice featureReject, WebRTC is a channel data can leave through
A https://*. pattern on a shared hosting domainOther customers can create subdomains under that siteReject the pattern, then add only the subdomains you use
A vendor your team removed last monthReported only in the first days of the periodReject, or pick a period that starts after the change

Do not allow a destination only to silence a report. The report may be the only sign that a script sends data there. To tell a vendor change from an injection, refer to Vendor update or injection.

Next steps

On this page