<?xml version="1.0" encoding="UTF-8" ?><!-- generator=Zoho Sites --><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="https://www.gtconsult.com/blogs/tag/script-sources/feed" rel="self" type="application/rss+xml"/><title>GTconsult - Blog #Script Sources</title><description>GTconsult - Blog #Script Sources</description><link>https://www.gtconsult.com/blogs/tag/script-sources</link><lastBuildDate>Tue, 31 Mar 2026 12:12:27 -0700</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[SharePoint Online CSP Enforcement: What Admins Need to Do Before March 1, 2026]]></title><link>https://www.gtconsult.com/blogs/post/sharepoint-online-csp-enforcement-what-admins-need-to-do-before-march-1-2026</link><description><![CDATA[<img align="left" hspace="5" src="https://www.gtconsult.com/Blog Site/Sharepoint Online Blog Thumbnail.png"/>Microsoft is enforcing CSP in SharePoint Online on March 1, 2026. Non-compliant scripts will be blocked. Here's what's changing, what's at risk, and how to prepare your environment before enforcement goes live.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_-0L9C26FTlKM51UiBo7DSg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_tUpCwpCaT4-un0uBnOvT7w" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_CZJzgAxlQHee6CTRLafcTw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_p1sUrsOHRvSNUAwVh2gqhA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p><span>Microsoft is rolling out Content Security Policy (CSP) enforcement for all SharePoint Online tenants on <strong>March 1, 2026</strong>. If you manage a SharePoint environment with custom scripts, SPFx solutions, or third-party integrations, this change could break things — and the clock is ticking.</span></p></div>
</div><div data-element-id="elm_VbhnqGDtwg7XhFqWvT8i_A" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_VbhnqGDtwg7XhFqWvT8i_A"] .zpimage-container figure img { width: 1107px !important ; height: 622px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/gif%20-1-.gif" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div></div></div></div></div><div data-element-id="elm_7oG9dzK0o94X5dWLpxUa0A" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_bcOM2sWpodbhEHuWP4orNw" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_IF49qr9KNuPMqfsmJkJ-tA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_Ykm_1d-vxrx7ViPMHUkpqQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>Here's what's changing, what's at risk, and exactly how to prepare.</span></p></div>
</div><div data-element-id="elm_-ruYHv0-QtxywY1Vhi8uVg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>What Is CSP and Why Does It Matter?</strong></h3></div>
<div data-element-id="elm_h1g4a5LpdddFnUNmbG2zwA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><p>Content Security Policy is a browser-level security standard that controls which scripts a page is allowed to load and execute. It's one of the most effective defenses against cross-site scripting (XSS), clickjacking, and code injection attacks.</p><p><br/></p><p>Until now, SharePoint Online has been running CSP in <strong>report-only mode</strong> — logging violations without actually blocking anything. That changes on<strong> 1&nbsp;</strong><strong>March&nbsp;</strong>when enforcement goes live. After that date, any script that doesn't comply with the CSP rules will be blocked by the browser, potentially breaking custom web parts, third-party tools, and SPFx solutions.</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_C63k03WpOjqVO-KUKNwxkw" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_g0pv9bUQpe9eD8VKUIMWug" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_hZZcfOgi-lonw1YMQ9PFKQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_vmS35E3ueYLV4WJyCmFAeA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Key Dates</strong><br/></h3></div>
<div data-element-id="elm_CaOcyyuPQT4LsQjI9woSRA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div></div><p></p><ul><li><strong>Now through 28 February, 2026</strong> — Report-only mode. Violations are logged but scripts still run.</li><li><strong>March 1, 2026</strong> — CSP enforcement begins. Non-compliant scripts are blocked.</li><li><strong>June 1, 2026</strong> — Extended deadline if you opt in to the 90-day delay via PowerShell.</li></ul></div>
</div></div><div data-element-id="elm_woD8kHqdhAo3VxPYhuPPoQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_0M9J7230OjOGdiEO-jD6IA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_0M9J7230OjOGdiEO-jD6IA"] .zpimage-container figure img { width: 361px !important ; height: 255px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/Calendar%20Marked.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div></div></div></div></div><div data-element-id="elm_WPWQAzI4y495fI6fleAG9A" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_H0HDD-OpjLnhxuitLMwuNw" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_JK7e0zW1ZJYs-_Yna9iPPg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_qT3GAR7oYe67mpnzACjSJw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>What Will Be Blocked?</strong></h3></div>
<div data-element-id="elm_Di8I5LhFM9_tC_LC2bXzuA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Not everything is affected. Here's a breakdown of the four common script patterns and their CSP impact:</div><br/></div><p></p><div><strong>1. SPFx bundles hosted in ClientSideAssets (default pattern)</strong></div><div><div>No action needed. These are trusted automatically.</div><br/><div><span style="font-weight:bold;">2. External CDN bundles via cdnBasePath</span></div><div>No action needed. SharePoint auto-adds the CDN domain to Trusted Script Sources when the app is installed.</div><br/><div><div><strong>3. External libraries loaded via the externals config</strong></div></div><div>No action needed. The CDN domain is auto-trusted.</div><br/><div><span style="font-weight:bold;">4. Dynamic script loading via SPComponentLoader.loadScript()</span></div><div>Action required. You must manually add the script source to the Trusted Script Sources list in SharePoint Admin Center.</div><br/><div><div><strong>5. Inline scripts (JavaScript in HTML, event handlers, innerHTML, document.write())</strong></div></div><div>These will be blocked outright. There is no nonce workaround — Microsoft has confirmed they will not expose nonce values. You must refactor inline scripts into external files and register them as trusted sources.</div></div></div>
</div></div></div></div></div><div data-element-id="elm_08S00E4fLYMYGIK5jqiYJw" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_Pkgs6i3YtJCS-RBX82DgRQ" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_7llz1067Kb24MC3Irs9gDg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_iKvunFPtTIQA7VVjoQ0lXg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span><strong>How to Audit Your Environment</strong></span></h3></div>
<div data-element-id="elm_tcqtMGfCvuWnt1bp7517GQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><h3>Step 1: Check the Browser Console</h3><p>Open any SharePoint page that uses custom solutions, press F12 to open Dev Tools, and look for CSP violation messages in the Console tab. You'll see entries like:</p><ul><li>&quot;Loading the script '&lt;url&gt;' violates the following...&quot;</li><li>&quot;Executing inline script violates the following Content Security Policy directive...&quot;</li></ul><h3><br/></h3><h3>Step 2: Use Microsoft Purview</h3><p>For a tenant-wide view, go to Microsoft Purview (purview.microsoft.com) and create an audit report filtering for the activity <strong>&quot;Violated Content Security Policy.&quot;</strong> This gives you a comprehensive list of every page and script generating violations across your environment.</p><h3><br/></h3><h3>Step 3: Review the Directives</h3><p>Pay attention to both <strong>Directive 12 (script-src)</strong> and <strong>Directive 13 (style-src)</strong> violations. Both are relevant — Directive 13 applies to inline code constructs that will also be blocked under enforcement.</p><h2></h2></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_jI1zMBxqXW7ghCQ9w3sK7w" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_UDCX-2Z1yHvnK_M5JKOQEg" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_N2DMcIrFDcPyv17bPdd03A" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_Y8M6iJtWF5fh6FB8XuAisw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_Y8M6iJtWF5fh6FB8XuAisw"] .zpimage-container figure img { width: 576.28px !important ; height: 436px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/seinfeld%20newman%20GIF%20-1-.gif" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div></div></div></div></div><div data-element-id="elm_OKcwy2FZMEcuSW2v9PYwOA" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_5ZgBdzFumTK_LxFaFc1fig" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_KJRv-IoImziWJ55OplsPyQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_titlKT_ErdkcuRHPTf7tYA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>How to Fix It</strong></h3></div>
<div data-element-id="elm_j14_P2_LnqDl3HOy2ZbiMw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><h3>Add Trusted Script Sources</h3><p>Go to <strong>SharePoint Admin Center → Advanced → Script sources</strong> and add any external domains your solutions depend on. A few things to note:</p><ul><li>You can add up to 300 entries.</li><li>Overly broad wildcards like<span style="background-color:rgba(0, 27, 76, 0.15);"><code style="color:rgb(135, 34, 34);">*</code></span>or<span style="background-color:rgba(0, 27, 76, 0.15);color:rgb(135, 34, 34);"><code>*.domain</code></span>are not allowed.</li><li>Use targeted wildcards to consolidate where possible.</li><li>If a script loads from a CDN, you need to trust that specific CDN domain.</li></ul><div><br/></div>
<h3>Refactor Inline Scripts</h3><p>This is the big one. Any JavaScript embedded directly in HTML, event handlers, or injected via<span style="background-color:rgba(0, 27, 76, 0.15);"><code style="color:rgb(135, 34, 34);">innerHTML</code></span>or<span style="background-color:rgba(0, 27, 76, 0.15);"></span><code style="background-color:rgba(0, 27, 76, 0.15);color:rgb(135, 34, 34);">document.write()</code> must be moved into external<span style="background-color:rgba(0, 27, 76, 0.15);"><code style="color:rgb(135, 34, 34);">.js</code></span>files hosted at a trusted location. There's no shortcut here —<span style="background-color:rgba(0, 27, 76, 0.15);"><code style="color:rgb(135, 34, 34);">unsafe-inline</code></span>is not permitted, and Microsoft will not provide nonce values.</p><p><br/></p><h3>Validate Auto-Trusted Sources</h3><p>If you use<span style="background-color:rgba(0, 27, 76, 0.15);"><code style="color:rgb(135, 34, 34);">cdnBasePath</code></span>without a trailing slash, the auto-generated Trusted Script Sources entry may not match correctly. Double-check these entries manually after deploying your solutions.</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_NSaiPi5kldMvoHjSX0iphw" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_fG2I96K6zzt4lNDPPj-7wQ" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_46atisbu32ScxDX4ks24dA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_mZx3fAIVJCcvxfbzg5YxYQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong><span>Buying More Time</span></strong></h3></div>
<div data-element-id="elm_R2K5gyPL-1wfhe--LBJ6kA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>If your team isn't ready by 1 March, you can delay enforcement by 90 days using the SharePoint Online Management Shell:</span></p></div>
</div><div data-element-id="elm_eRuLatFYVRbMP68-q_Zhlg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span><img src="/Wed%20Feb%2018%202026.png" alt=""/></span></p></div>
</div><div data-element-id="elm_sSY0prPm8UEgnwn563zvmQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><p>This pushes enforcement to June 1, 2026. It's a one-time delay — use it wisely and don't treat it as a permanent fix.</p><h2></h2></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_O1L1kyKQK73tTTlo3EfDXQ" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_lAQWlNPm4sKH8kaiH3v7Rg" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_4MVwe2BqHyeNiuX-7a5NBQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_sYMWDch2NsN5KIat7H36IA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>What About<span style="background-color:rgba(0, 27, 76, 0.15);color:rgb(135, 34, 34);"></span></strong><code><strong style="background-color:rgba(0, 27, 76, 0.15);color:rgb(135, 34, 34);">eval()</strong></code><strong>?</strong></h3></div>
<div data-element-id="elm_T-ejPLkKv-UXKt6nLDFk6w" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>Good news on this front: Microsoft's CSP implementation includes<span style="background-color:rgba(0, 27, 76, 0.15);color:rgb(135, 34, 34);"><code>unsafe-eval</code></span>in the<span style="background-color:rgba(0, 27, 76, 0.15);color:rgb(135, 34, 34);"><code>script-src</code></span>directive, so<span style="background-color:rgba(0, 27, 76, 0.15);color:rgb(135, 34, 34);"><code>eval()</code></span>calls in your scripts will continue to work. This was confirmed by the SharePoint team in the community discussion.</span></p></div>
</div></div></div></div></div><div data-element-id="elm_RHtr6GRGBmR3tFAIdRT6eg" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_AzVbYYv8nqrGr3bBovUNZQ" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_NPxLXBf8SLYJcY4CHZa5lA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_-EfThyyfU4tUFTy7EHbHaQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Communicate With Your Users</strong></h3></div>
<div data-element-id="elm_HzWnkATNeGVhO5HeZXLjxg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><p>Once enforcement begins, end users may see broken functionality or warning messages on pages that rely on non-compliant scripts. Get ahead of this with proactive communication:</p><ul><li>Explain that this is a security improvement, not a system failure.</li><li>Provide a clear path for users to report issues.</li><li>Coordinate with any third-party vendors whose solutions run in your SharePoint environment.</li></ul></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_dh2TSSJp2qhNc8NZtERHQw" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_VYYlFfU3nYyewCQuxO0IpQ" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_lDqanQc3_Gj8daBkZLxiHA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_ZWs-TfjCA26R208c5fKc5w" data-element-type="imageheadingtext" class="zpelement zpelem-imageheadingtext "><style> @media (min-width: 992px) { [data-element-id="elm_ZWs-TfjCA26R208c5fKc5w"] .zpimageheadingtext-container figure img { width: 500px ; height: 281.00px ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimageheadingtext-container zpimage-with-text-container zpimage-align-left zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-medium zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
            type:fullscreen,
            theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/Chicago%20Pd%20Nbc%20GIF%20by%20One%20Chicago.gif" data-src="/Blog%20Site/Chicago%20Pd%20Nbc%20GIF%20by%20One%20Chicago.gif" size="medium" data-lightbox="true"/></picture></span></figure><div class="zpimage-headingtext-container"><h3 class="zpimage-heading zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left" data-editor="true"><span><strong>Communicate With Your Users</strong></span></h3><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p>Once enforcement begins, end users may see broken functionality or warning messages on pages that rely on non-compliant scripts.&nbsp;</p><p><br/></p><p>Get ahead of this with proactive communication:</p><p><br/></p><li>​Explain that this is a security improvement, not a system failure.</li><ul><li>Provide a clear path for users to report issues. </li><li>Coordinate with any third-party vendors whose solutions run in your SharePoint environment.</li></ul><p><br/></p></div>
</div></div></div></div></div></div></div><div data-element-id="elm_3l1TsxwDj2JcLX65iyMcoQ" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_5QVIQ2sdjJLK7lYj1a0DNA" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_2rGfj-MKZ4kDJ2q1W7QK-g" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_JV9DaUbiwMhMlPuHwmt51w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Bottom Line</strong></h3></div>
<div data-element-id="elm_AT68dZubYSHhDDEj24CT7A" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>CSP enforcement is a welcome security improvement, but it requires hands-on preparation. The report-only window closes on February 28. Use the time you have to audit violations in Purview, fix inline scripts, register trusted sources, and communicate the change to your users. If you need more time, enable the 90-day delay — but start the work now.</span></p></div>
</div><div data-element-id="elm_RBLvefB5BMs5nShxZ9l-tg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h5
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Further reading:</strong></h5></div>
<div data-element-id="elm_yJb4seQ5TzGthdNCJ7D35Q" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><li><a href="https://learn.microsoft.com/en-us/sharepoint/dev/spfx/content-securty-policy-trusted-script-sources">Support for Content Security Policy (CSP) in SharePoint Online — Microsoft Learn</a></li><li><a href="https://techcommunity.microsoft.com/blog/spblog/sharepoint-online-content-security-policy-csp-enforcement-dates-and-guidance/4472662">SharePoint Online CSP: Enforcement Dates and Guidance — Microsoft Tech Community</a></li></div><p></p></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Wed, 18 Feb 2026 13:04:00 +0000</pubDate></item></channel></rss>