<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Headless-Cms on CSP Guide</title>
    <link>https://csp-guide.com/tags/headless-cms/</link>
    <description>Recent content in Headless-Cms on CSP Guide</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 01 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://csp-guide.com/tags/headless-cms/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CSP for Contentful and Headless CMS: A Real-World Fix</title>
      <link>https://csp-guide.com/posts/csp-for-contentful-and-headless-cms-setups/</link>
      <pubDate>Sat, 01 Aug 2026 00:00:00 +0000</pubDate>
      
      <guid>https://csp-guide.com/posts/csp-for-contentful-and-headless-cms-setups/</guid>
      
      <description>&lt;p&gt;Headless CMS setups make CSP harder in a very specific way: your page looks static, but the browser is talking to half a dozen origins you forgot about.&lt;/p&gt;
&lt;p&gt;I’ve seen this pattern a lot with Contentful, Next.js, and marketing teams that add analytics, consent banners, preview mode, embedded videos, and rich text assets over time. The app starts simple. Then one day you flip on a strict CSP and half the site breaks.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>CSP for Sanity.io and Headless Content</title>
      <link>https://csp-guide.com/posts/csp-for-sanity-io-and-headless-content/</link>
      <pubDate>Wed, 29 Jul 2026 00:00:00 +0000</pubDate>
      
      <guid>https://csp-guide.com/posts/csp-for-sanity-io-and-headless-content/</guid>
      
      <description>&lt;p&gt;If you use Sanity.io as a headless CMS, your CSP usually breaks in the same places:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sanity image CDN&lt;/li&gt;
&lt;li&gt;Sanity API requests&lt;/li&gt;
&lt;li&gt;live preview or draft content&lt;/li&gt;
&lt;li&gt;embedded content coming from editors&lt;/li&gt;
&lt;li&gt;Studio hosting on a separate origin&lt;/li&gt;
&lt;li&gt;frontend frameworks that sneak in inline scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’ve had to fix this more than once, and the main trap is assuming “headless” means your CSP can stay simple. It rarely does. Content comes from one place, images from another, previews from another, and editors eventually paste in a YouTube embed that blows up your policy.&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
