New: export PCI DSS v4 evidence from real browser traffic.

CSP builder

The strictest CSP your site can run, built from real traffic.

A strict Content Security Policy is your best defense against cross-site scripting, and the hardest header to write by hand. CentralCSP builds yours from what real browsers report, not from a crawler's snapshot of your homepage.

  • From real traffic

    Not a crawler snapshot

  • One response header

    No agent, no page script

  • Report-only first

    Enforce when it's clean

  • Directive by directive

    Every source justified

How it works

From real reports to a policy you can enforce.

No crawl, no guesswork, no allowlist typed from memory. Your visitors' browsers do the fieldwork, and you approve the result.

  1. 01 - Collect

    Real browsers report every source

    Ship the report-only policy we generate for you. It blocks nothing, and from that moment every visitor's browser reports each script, style and connection your pages actually load.

  2. 02 - Build

    We draft the policy, directive by directive

    CentralCSP turns those reports into a Content Security Policy: script-src, connect-src, style-src and the rest, each filled with the exact sources your real traffic justifies and nothing it doesn't.

  3. 03 - Deploy

    Deploy the policy you built

    When the report-only run is clean, copy the finished header and deploy it from your CDN, proxy or framework. Serve it as enforcing and the browser blocks everything the policy doesn't allow.

You approve the policy before it ships.

Every source the builder proposes carries its evidence: how many browsers loaded it, on which pages, and when it was last seen. A real dependency is obvious, and the junk that ad blockers and password managers inject gets flagged as extension noise so it never lands in your allowlist. Keep what's real, drop the rest, one directive at a time.

  • Each source ranked by report volume
  • Browser-extension noise flagged for you
  • Keep or drop, directive by directive

It ships strict, not just working.

A crawler emits a loose allowlist that happens to load your page. A report-driven policy locks script-src to the exact hosts your traffic uses, closes connect-src to the origins you actually talk to, and sets object-src and base-uri to none. Where an inline script would force unsafe-inline, the builder flags it instead of quietly weakening the policy, so an attacker gets no XSS foothold from a loophole you never noticed.

  • script-src limited to the hosts you actually load
  • connect-src, object-src and base-uri locked down
  • Inline scripts flagged, never silently allowed

Approaches

Three ways to get a Content Security Policy.

A CSP is only as good as its coverage. Here is the honest comparison between writing one by hand, scanning a page for one, and building it from the traffic you already have.

Comparison of ways to produce a Content Security Policy
CentralCSPCrawler / scannerBy hand
Covers pages behind a loginYes: Every visited pageNo: Homepage onlyPartly: If you remember it
Sees conditional third partiesYes: Real sessions catch themNo: Missed if not triggeredPartly: Only what you know
Filters browser-extension noiseYes: Flagged by volumeNo: Not distinguishedNo: You guess
Stays current as the site changesYes: New reports show driftNo: A one-time snapshotNo: Manual rewrite
Reaches enforcement safelyYes: Report-only, then enforcePartly: Starter policy onlyNo: Days of testing

Alerting

A new source shows up? You hear about it.

The same reports that build your policy can page you. When a script loads from an origin your policy never allowed, CentralCSP posts it to Slack, Teams, Google Chat, Telegram or email before the next visitor loads the page.

  • New-origin and hash-change rules
  • Violation spikes after a deploy
  • Routed to the channel that owns the page
See alerting

Monitoring

CSP is one report. Browsers send eleven more.

Your policy only reports what it blocks. Real browsers also report network errors, crashed tabs, deprecations and integrity failures, and CentralCSP collects all twelve types on the same endpoint, deduped and classified.

  • All 12 browser report types, one endpoint
  • Deduped, grouped and searchable
  • Server-side failures the browser sees first
See monitoring

Check your headers

What does your site send today?

Two minutes, no account: scan your live headers and see whether you have a Content Security Policy at all, how strict it is, and which origins can run code on your pages right now.

Free, no account needed. Results land on a shareable page.

FAQ

Frequently asked questions

Building a policy, filtering noise and rolling it out, answered.

Start collecting today. Enforce when you're ready.

Ship one report-only header this afternoon and watch the policy draft itself from your real traffic. 14-day free trial, no agent, no page script.