Verb
All free tools

Free tool

Content Security Policy checker

Quick answer

Paste your Content-Security-Policy header and the URL of a third-party script you want to embed. The checker works out which directive governs the script, its network requests and any frame it opens, after falling back to default-src, and says whether each is allowed. It also lists the policy's weak spots, such as 'unsafe-inline' without a nonce. A blocked embed fails silently except in the browser console, which is why this is worth checking first.

What it checks

  • script-src for the script itself, falling back to default-src.
  • connect-src for the requests the script makes, falling back to default-src.
  • frame-src for frames it opens, such as a bot challenge, falling back to child-src then default-src.
  • Weaknesses: unsafe-inline without a nonce, unsafe-eval, any-host sources, and missing object-src, base-uri, frame-ancestors or form-action.

Where this comes from

Switching on a bot check without adding its origin to the policy once took this site's own assistant down for visitors, while the page looked fine. The post on embedded scripts blocked by Content Security Policy tells the whole story.

Frequently asked questions

Why is my embedded script blocked by CSP?

Its origin is missing from script-src, or from default-src when there is no script-src. Widgets also make network requests and sometimes open frames, which connect-src and frame-src govern separately, so a script can load and still not work.

What does 'strict-dynamic' do to third-party scripts?

It ignores host allowlists in script-src and trusts scripts loaded by an already trusted script, one with a nonce or hash. So a host-listed script is not enough: it has to be loaded by a nonced script or carry its own nonce.

Is 'unsafe-inline' in script-src dangerous?

Yes, unless the policy also has a nonce or hash, which makes browsers ignore 'unsafe-inline'. Without one, any script an attacker injects into the page runs.

More free tools

AI agent ROI calculatorThe hours and money an AI agent saves your users each month, from your own numbers.Agent readiness checkerNine tests for whether AI assistants and agents can read and use your website, with a score and the fixes.llms.txt generatorA ready-to-publish llms.txt in the llmstxt.org format, built in your browser.llms.txt checkerValidates an llms.txt against the llmstxt.org format, line by line, pasted or live.OpenAPI to MCP toolsEvery operation in an OpenAPI 3 spec as an MCP tool definition, with read, write and destructive marked.LLM API cost calculatorWhat an AI feature costs to run on Claude, GPT and Gemini, side by side, from your own usage.AI crawler robots.txt generatorA robots.txt that blocks AI training crawlers, AI search crawlers or both, crawler by crawler.FAQ schema generatorFAQPage JSON-LD from your questions and answers, ready to paste.Organization schema generatorOrganization JSON-LD with contact point, address and profiles, ready to paste.Email signature generatorA clean HTML email signature for Gmail, Outlook and Apple Mail.Sitemap finder and checkerFinds a site's sitemaps from robots.txt and the usual paths, and checks each one.Sitemap validatorChecks a sitemap or sitemap index against the sitemaps.org protocol.XML sitemap generatorA valid XML sitemap from a pasted list of URLs.Sitemap URL extractorEvery URL in a sitemap, as text or CSV.Website URL extractorEvery link on a web page, internal and external, with anchor text.Sitemap URLs comparisonAdded, removed and shared URLs between two sitemaps.Sitemap split and mergeSplit a sitemap into parts with an index, or merge several into one.Sitemap index generatorA sitemap index that lists all your sitemaps.Sitemap analyzerURLs per section, freshness of lastmod dates, changefreq and priority in use.HTML to MarkdownClean Markdown from HTML, with tables and code blocks kept.Paste to MarkdownRich text from Docs, Word, Notion or the web as Markdown.Webpage to MarkdownAny public page's main content as clean Markdown.CSV to MarkdownA Markdown table from CSV, quoting and pipes handled.JSON to MarkdownJSON as a Markdown table or nested list.XML to MarkdownXML as a readable Markdown outline.DOCX to MarkdownA Word document as Markdown, read in your browser.Google Docs to MarkdownA shared Google Doc as Markdown, by link.

Give your SaaS its own AI agent

Anything your product can do, your users can just ask for. Verb is integrated in under an hour in most cases. Start with a free 30-day pilot, then we price it on what it actually does for your users.