<?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/author/boitumelo/feed" rel="self" type="application/rss+xml"/><title>GTconsult - Blog by Boitumelo</title><description>GTconsult - Blog by Boitumelo</description><link>https://www.gtconsult.com/blogs/author/boitumelo</link><lastBuildDate>Thu, 21 May 2026 08:38:13 -0700</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[Same Pattern, Different Week: Why 1,370 SharePoint Servers Are Still Sitting Exposed]]></title><link>https://www.gtconsult.com/blogs/post/sharepoint-servers-still-exposed</link><description><![CDATA[<img align="left" hspace="5" src="https://www.gtconsult.com/Blog Site/spoofing_vs_rcef.png"/>Same Pattern, Different Week: Why 1,370 SharePoint Servers Are Still Sitting Exposed]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_2S7WBcYcQvOqqP243XL6bg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_TKEMlNmST-GL2JptI1nXFA" 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_zpvBveN-TYi279pwnJDahw" 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_GHB0uiMHRwOuCU9DBH0afA" 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></p><div><p style="margin-bottom:8pt;">A week ago, we sat down with our Security Analyst, Kyle Farr, to talk about a critical SharePoint Remote Code Execution vulnerability that was being actively exploited. The intention was to alert our audience, give them a sense of the severity, and walk them through what to do.</p><p style="margin-bottom:8pt;"></p><div><p style="margin-bottom:8pt;">This week, we are sitting down again. Same topic. Same platform. Different CVE.</p><p style="margin-bottom:8pt;">If it feels like SharePoint vulnerabilities are starting to look less like isolated incidents and more like a recurring pattern, you are not imagining it. And the numbers behind this latest one tell a story every business owner running on-premises SharePoint needs to hear.</p></div><p></p></div><p></p></div>
</div><div data-element-id="elm_vw6ExujVuKmQ3vYjXLd4EQ" data-element-type="video" class="zpelement zpelem-video "><style type="text/css"> @media (max-width: 767px) { [data-element-id="elm_vw6ExujVuKmQ3vYjXLd4EQ"].zpelem-video iframe.zpvideo{ width:560px !important; height:315px !important; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_vw6ExujVuKmQ3vYjXLd4EQ"].zpelem-video iframe.zpvideo{ width:560px !important; height:315px !important; } } </style><div class="zpvideo-container zpiframe-align-center zpiframe-mobile-align-center zpiframe-tablet-align-center"><iframe class="zpvideo " width="560" height="315" src="https://www.youtube.com/embed/vFon9S5pISI?si=zilheSXGjTQBKB48" frameborder="0" allowfullscreen></iframe></div>
</div></div></div></div></div><div data-element-id="elm_BW18iODA37KsTWcs8-4txA" 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_gOJGHKs0QKpOFZsF14uAYw" 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_aGcylLrOoMkPumBze88XMQ" 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_3d0Oy6kih4Zi26mC6irjdw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong>What is happening this time?</strong></span></h2></div>
<div data-element-id="elm_z79t4gPARlKxHOHpU6I9Uw" 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 style="margin-bottom:8pt;">Microsoft has disclosed a new spoofing vulnerability affecting SharePoint Enterprise Server 2016, 2019, and Subscription Edition. CISA added it to their Known Exploited Vulnerabilities catalogue the same day the patch was released, and ordered US federal agencies to patch by 28 April 2026.</p><p style="margin-bottom:8pt;">As of this week, researchers have identified 1,370 SharePoint servers still publicly exposed and unpatched, more than a week after Microsoft released the fix.</p><p style="margin-bottom:8pt;">And as Kyle pointed out in our conversation, that number is almost certainly understated.</p></div><p></p></div>
</div><div data-element-id="elm_-DYSyWLBqSW9Xri04gbwwQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_-DYSyWLBqSW9Xri04gbwwQ"].zpelem-text { border-style:solid; border-color:rgba(0,0,0,0.08) !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:4px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border-width:medium;border-style:none;padding:0px;"><p><span><i><span><br/></span></i></span></p><p><span><i><span>&quot;The numbers are maybe a little under-reported, because as much as they picked up 1,370 publicly available servers, there's still going to be a lot more out there that are publicly available. They just have one or two extra levels of protection. So they're not allowed to be found by these automatic scanners.&quot;&nbsp;</span></i></span>— Kyle Farr, Security Analyst at GTconsult</p><p><span><i><span><br/></span></i></span></p></blockquote></div>
</div></div></div></div></div><div data-element-id="elm_IzCk1Cee5iIjy4rlSZbGOQ" 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_0bKQbt89tGuasKTfhowMbQ" 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_AyYtPrmAAkUB05SrYb3sSw" 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_zq5Q9B9GsR4F2ELTNJ_lXw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong>Spoofing vs Remote Code Execution: what is the difference?</strong></span></h2></div>
<div data-element-id="elm_WNCeeUTqIdGJRTAb0672MA" 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 style="margin-bottom:8pt;">The previous vulnerability was a Remote Code Execution flaw, which means an attacker could run any code they wanted on the system. Last week's vulnerability is described as a spoofing vulnerability, which sounds less alarming, but is worth understanding properly.</p></div><p></p></div>
</div><div data-element-id="elm_KRl4yUN7AO6uJDvsPS3ENQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_KRl4yUN7AO6uJDvsPS3ENQ"] .zpimage-container figure img { width: 1110px !important ; height: 627px !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/spoofing_vs_rcef.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_FHEsOBa4vh7TfeIJvDrjSQ" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_FHEsOBa4vh7TfeIJvDrjSQ"] .zpimagetext-container figure img { width: 480px !important ; height: 270px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original 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/Spying%20Jane%20Austen%20GIF%20by%20Hallmark%20Channel.gif" size="original" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p style="margin-bottom:8pt;">Spoofing is when an attacker disguises something to appear as a legitimate source. The most familiar example is an email that looks like it came from Microsoft, with the right branding, the right tone, and a subtly altered domain that the human eye glosses over. In the case of a SharePoint server, spoofing means an attacker can impersonate a legitimate user without actually being one.</p><p style="margin-bottom:8pt;">This particular CVE has a CVSS score of 6.5, which sits in the medium severity bracket. Compared to last week's 9.8, it might feel like one to relax about. But Kyle was clear that the severity score reflects how easy the attack is to pull off in isolation, not the damage it can cause when combined with other exposures.</p></div><p></p></div>
</div></div><div data-element-id="elm_n6kCu6ukpBZ8JoZ729YdNA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_n6kCu6ukpBZ8JoZ729YdNA"].zpelem-text { border-style:solid; border-color:rgba(0,0,0,0.08) !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:4px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border-width:medium;border-style:none;padding:0px;"><p><span><i><span><br/></span></i></span></p><p><span><i><span></span></i></span></p><div><div style="margin-left:18pt;"><p style="margin-bottom:10pt;"><i><span>&quot;It's not instantly taking control, but it's allowing people to do things they shouldn't be able to do, which can lead to them getting control.&quot;</span></i><span> — Kyle Farr</span></p></div></div></blockquote></div>
</div></div></div></div></div><div data-element-id="elm_Z_71k8dkXLUzQO9rAy_HQA" 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_78NPcnV6PqKIWVn3M2H8Ag" 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_UL-xjGG0nYTK9YY9sGZ81A" 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_6GGfDDZe2u2QgkSpJEoMyQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong>Why are so many servers still unpatched?</strong></span></h2></div>
<div data-element-id="elm_QSi2-aaXF14vJTGnwJICOQ" 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 style="margin-bottom:8pt;">It is tempting to look at 1,370 unpatched servers and assume those organisations are simply not paying attention. The reality is more nuanced.</p><p style="margin-bottom:8pt;">For organisations running large or complex SharePoint environments, applying a patch is not a single click. It often involves a structured release process: testing the patch in a staging environment, validating that it does not break existing integrations, and pushing it through a formal change management board for approval. In heavily regulated industries, that approval chain alone can take weeks.</p><p style="margin-bottom:8pt;"></p><div><p style="margin-bottom:8pt;">That does not mean exposure is acceptable. It means the patching window is a known risk that needs interim controls, not a comfortable excuse.</p></div><p></p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_Udz4mXRh7fYmb4tr81N3yQ" 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_F56UVMCxtb8u7rqcPJ062w" 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_r6M0EMmO_Mm7x21jp3wCFQ" 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_q_q2kwXR8GWL3CqDBD4dWw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong>Who is actually at risk?</strong></span></h2></div>
<div data-element-id="elm_RJ4NkvVh66zf45m6YQYc9g" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_RJ4NkvVh66zf45m6YQYc9g"] .zpimagetext-container figure img { width: 480px !important ; height: 270px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original 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/Are%20You%20Okay%20Season%205%20GIF%20by%20Paramount-.gif" size="original" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p style="margin-bottom:8pt;">As with last week's vulnerability, this one only affects SharePoint On-Premises deployments. SharePoint Online customers are not affected because Microsoft manages the underlying infrastructure and applies patches centrally.</p><p style="margin-bottom:8pt;">Within the on-premises group, the highest-risk environments are those with SharePoint servers exposed directly to the public internet. If a SharePoint site is reachable from outside the corporate network, automated scanners are already finding it. Internal-only servers are less exposed in practice, because attackers would need to be inside the network first, but they are not safe.</p></div><p></p></div>
</div></div></div></div></div></div><div data-element-id="elm_1GzcY5YXlTI-TIJu9TTkwA" 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_4Wx7FNrbKoiUC3OL5Jkz4g" 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_-0dQAc2VnyCgFZKWGtOOZQ" 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_U5Yf4gAsqWZHT-RjJaJOfQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong>Why does SharePoint keep coming up?</strong></span></h2></div>
<div data-element-id="elm_nQQr21ATddcwZKlLe9IJ6A" 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 style="margin-bottom:8pt;">This is the question we asked Kyle directly, and his answer is one every business leader should sit with for a moment. SharePoint is not a particularly insecure platform. It sits behind multiple layers of defence and integrates tightly with Active Directory and Microsoft Entra ID.</p><p style="margin-bottom:8pt;">What has changed is that SharePoint has become a far more valuable target. Since SharePoint 2016, the platform has matured significantly, and many of the largest organisations in the world now run mission-critical environments on it. Larger, more valuable deployments mean attackers have a stronger commercial incentive to invest time in finding ways in.</p><p style="margin-bottom:8pt;">There is also a second factor: artificial intelligence. AI tools are helping attackers analyse code paths and chain together small, individually low-severity vulnerabilities into something far more dangerous.</p></div><p></p></div>
</div><div data-element-id="elm_ySrGI-gcd5qoeQcL_o2WQg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_ySrGI-gcd5qoeQcL_o2WQg"].zpelem-text { border-style:solid; border-color:rgba(0,0,0,0.08) !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:4px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border-width:medium;border-style:none;padding:0px;"><p><span><i><span><br/></span></i></span></p><p><span><i><span><span><i><span>&quot;If you use this CVE and that CVE and that CVE in a certain order, then suddenly it's as if you were using a 9.5 CVE, because now you've used these small, very unlikely to break anything issues to give you full access to the system.&quot;&nbsp;</span></i></span></span></i></span>— Kyle Farr, Security Analyst at GTconsult</p><p><span><i><span><br/></span></i></span></p></blockquote></div>
</div><div data-element-id="elm_r-Qc_mveQREHRQfticzaGQ" 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 style="margin-bottom:8pt;">In other words, you cannot only worry about the headline-grabbing CVEs. The medium-severity ones matter too, because attackers are increasingly stitching them together.</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_AS25xZeCe-3lK4x8LZTdlA" 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_VYbQydijFT0vuhamTULxwA" 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_042u5z5cK401ueTsInQ7Fw" 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_yHlHQoG841Epgp_fSXMwkA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong><span>The 14 July 2026 deadline is now the priority conversation</span></strong></span></h2></div>
<div data-element-id="elm_l7GThYTEbrutvTIYe9A4Mw" 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 style="margin-bottom:8pt;">SharePoint Server 2016 reaches end of extended support on 14 July 2026. After that date, Microsoft will no longer issue security patches for SharePoint 2016. Whatever vulnerabilities exist in the code, including ones not yet discovered, will remain there permanently.</p></div><p></p></div>
</div><div data-element-id="elm_jAIcJG0UkK8_WjfeAsgnfQ" 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><i><span>Watch our full webinar on the SharePoint 2016 end-of-support deadline and your migration options.</span></i></span></p></div>
</div><div data-element-id="elm_vurXeuzAbg7xWZ_4VP7xYg" data-element-type="video" class="zpelement zpelem-video "><style type="text/css"> @media (max-width: 767px) { [data-element-id="elm_vurXeuzAbg7xWZ_4VP7xYg"].zpelem-video iframe.zpvideo{ width:560px !important; height:315px !important; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_vurXeuzAbg7xWZ_4VP7xYg"].zpelem-video iframe.zpvideo{ width:560px !important; height:315px !important; } } </style><div class="zpvideo-container zpiframe-align-center zpiframe-mobile-align-center zpiframe-tablet-align-center"><iframe class="zpvideo " width="560" height="315" src="https://www.youtube.com/embed/9XcQwM-k0P8?si=vAqAaBeHUvBlrMo6" frameborder="0" allowfullscreen></iframe></div>
</div><div data-element-id="elm__in410kgEva0BlXYNYS7YQ" 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 style="margin-bottom:8pt;">If you are running SharePoint 2016 and you have not yet started a migration conversation, this is the signal to start. The migration path is not a single jump. Organisations on 2016 cannot move directly to SharePoint Subscription Edition. They need to upgrade to 2019 first, then to Subscription Edition, or rebuild the environment and migrate the data across using a migration tool.</p><p style="margin-bottom:8pt;">Both options take time. Three months out from the deadline, that time is now the constraint.</p></div><p></p></div>
</div><div data-element-id="elm_gSNXAXquxTGaSNljpGAHyw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong>What every business should do this ASAP</strong></span></h2></div>
<div data-element-id="elm_67ZDi-RNZSQMLIfu38lz_A" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_67ZDi-RNZSQMLIfu38lz_A"] .zpimagetext-container figure img { width: 378px !important ; height: 473px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/checklist.png" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p style="margin-bottom:5pt;margin-left:36pt;">1.<span>&nbsp; </span><b>Verify your patch status. </b>Confirm with your IT team or managed service provider that the latest SharePoint security updates have been applied. Do not assume. Ask for verification.</p><p style="margin-bottom:5pt;margin-left:36pt;"><br/></p><p style="margin-bottom:5pt;margin-left:36pt;">2.<span>&nbsp; </span><b>Audit your public-facing exposure. </b>If your SharePoint server is reachable from the public internet, evaluate whether it needs to be. Where direct exposure is necessary, place it behind a reverse proxy or web application firewall that can analyse incoming traffic before it reaches the server.</p><p style="margin-bottom:5pt;margin-left:36pt;"><br/></p><p style="margin-bottom:5pt;margin-left:36pt;">3.<span>&nbsp; </span><b>Review your patching process. </b>If applying a critical patch takes more than two weeks in your environment, that is a process problem to solve before the next vulnerability lands, not after.</p><p style="margin-bottom:5pt;margin-left:36pt;"><br/></p><p style="margin-bottom:5pt;margin-left:36pt;">4.<span>&nbsp; </span><b>Start the migration conversation if you are on 2016. </b>Three months is a tight runway for a SharePoint migration. The conversation needs to start now, not in June.</p><p style="margin-bottom:5pt;margin-left:36pt;"><br/></p><p style="margin-bottom:5pt;margin-left:36pt;">5.<span>&nbsp; </span><b>If you don't have a security function, get one. </b>Whether that is an internal hire, an outsourced partner, or a hybrid arrangement, organisations running on-premises Microsoft infrastructure cannot operate without dedicated security oversight in 2026.</p></div><p></p></div>
</div></div><div data-element-id="elm_0JbgUg71I7ilagX9xlww6Q" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong><span>How GTconsult can help</span></strong></span></h2></div>
<div data-element-id="elm_Dxd_rtCRIy0l_LPQd4YGVw" 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 style="margin-bottom:8pt;">If you are not sure whether your SharePoint environment is patched, exposed, or ready for the July 2026 deadline, our team can help you find out. We offer SharePoint security assessments, vulnerability scans, penetration testing, patch verification, and full migration planning for SharePoint 2016 environments.</p><p style="margin-bottom:8pt;">Reach out to us and we will walk through your environment with you.&nbsp;</p></div><p></p></div>
</div><div data-element-id="elm_ujUmFX6E33kWBWgykK0Ang" data-element-type="codeSnippet" class="zpelement zpelem-codesnippet "><div class="zpsnippet-container"><script src="https://cdn01.jotfor.ms/static/prototype.forms.js" type="text/javascript"></script><script src="https://cdn02.jotfor.ms/static/jotform.forms.js?3.3.32365" type="text/javascript"></script><script defer src="https://cdnjs.cloudflare.com/ajax/libs/punycode/1.4.1/punycode.js"></script><script type="text/javascript">	JotForm.newDefaultTheme = true;
	JotForm.extendsNewTheme = false;
	JotForm.newPaymentUIForNewCreatedForms = true;
	JotForm.newPaymentUI = true;
	JotForm.clearFieldOnHide="disable";
	JotForm.submitError="jumpToFirstError";

	JotForm.init(function(){
	/*INIT-START*/
      JotForm.alterTexts(undefined);
	/*INIT-END*/
	});

   JotForm.prepareCalculationsOnTheFly([null,null,{"name":"submit2","qid":"2","text":"Submit","type":"control_button"},{"description":"","name":"name","qid":"3","text":"Name","type":"control_fullname"},{"description":"","name":"email","qid":"4","subLabel":"example@example.com","text":"Email","type":"control_email"}]);
   setTimeout(function() {
JotForm.paymentExtrasOnTheFly([null,null,{"name":"submit2","qid":"2","text":"Submit","type":"control_button"},{"description":"","name":"name","qid":"3","text":"Name","type":"control_fullname"},{"description":"","name":"email","qid":"4","subLabel":"example@example.com","text":"Email","type":"control_email"}]);}, 20); 
</script><style type="text/css">@media print{.form-section{display:inline!important}.form-pagebreak{display:none!important}.form-section-closed{height:auto!important}.page-section{position:initial!important}}</style><link type="text/css" rel="stylesheet" href="https://cdn01.jotfor.ms/themes/CSS/5e6b428acc8c4e222d1beb91.css?themeRevisionID=5f7ed99c2c2c7240ba580251"/><link type="text/css" rel="stylesheet" href="https://cdn02.jotfor.ms/css/styles/payment/payment_styles.css?3.3.32365"/><link type="text/css" rel="stylesheet" href="https://cdn03.jotfor.ms/css/styles/payment/payment_feature.css?3.3.32365"/><form class="jotform-form" action="https://submit.jotform.com/submit/220934229578060/" method="post" name="form_220934229578060" id="220934229578060" accept-charset="utf-8" autocomplete="on"><input type="hidden" name="formID" value="220934229578060"/><input type="hidden" id="JWTContainer" value=""/><input type="hidden" id="cardinalOrderNumber" value=""/><div role="main" class="form-all"><style> .form-all:before { background: none;} </style><ul class="form-section page-section"><li class="form-line" data-type="control_fullname" id="id_3"><label class="form-label form-label-top form-label-auto" id="label_3" for="first_3"> Name </label><div id="cid_3" class="form-input-wide" data-layout="full"><div data-wrapper-react="true"><span class="form-sub-label-container" style="vertical-align:top;" data-input-type="first"><input type="text" id="first_3" name="q3_name[first]" class="form-textbox" data-defaultvalue="" autoComplete="section-input_3 given-name" size="10" value="" data-component="first" aria-labelledby="label_3 sublabel_3_first"/><label class="form-sub-label" for="first_3" id="sublabel_3_first" style="min-height:13px;" aria-hidden="false"> First Name </label></span><span class="form-sub-label-container" style="vertical-align:top;" data-input-type="last"><input type="text" id="last_3" name="q3_name[last]" class="form-textbox" data-defaultvalue="" autoComplete="section-input_3 family-name" size="15" value="" data-component="last" aria-labelledby="label_3 sublabel_3_last"/><label class="form-sub-label" for="last_3" id="sublabel_3_last" style="min-height:13px;" aria-hidden="false"> Last Name </label></span></div>
</div></li><li class="form-line" data-type="control_email" id="id_4"><label class="form-label form-label-top form-label-auto" id="label_4" for="input_4"> Email </label><div id="cid_4" class="form-input-wide" data-layout="half"><span class="form-sub-label-container" style="vertical-align:top;"><input type="email" id="input_4" name="q4_email" class="form-textbox validate[Email]" data-defaultvalue="" style="width:310px;" size="310" value="" data-component="email" aria-labelledby="label_4 sublabel_input_4"/><label class="form-sub-label" for="input_4" id="sublabel_input_4" style="min-height:13px;" aria-hidden="false"> example@example.com </label></span></div>
</li><li class="form-line" data-type="control_button" id="id_2"><div id="cid_2" class="form-input-wide" data-layout="full"><div data-align="auto" class="form-buttons-wrapper form-buttons-auto jsTest-button-wrapperField"><button id="input_2" type="submit" class="form-submit-button submit-button jf-form-buttons jsTest-submitField" data-component="button" data-content=""> Submit </button></div>
</div></li><li style="display:none;"> Should be Empty: <input type="text" name="website" value=""/></li></ul></div>
<script>
  JotForm.showJotFormPowered = "0";
  </script><script>
  JotForm.poweredByText = "Powered by Jotform";
  </script><input type="hidden" class="simple_spc" id="simple_spc" name="simple_spc" value="220934229578060"/><script type="text/javascript">
  var all_spc = document.querySelectorAll("form[id='220934229578060'] .si" + "mple" + "_spc");
for (var i = 0; i < all_spc.length; i++)
{
  all_spc[i].value = "220934229578060-220934229578060";
}
  </script></form><script src="https://cdn.jotfor.ms//js/vendor/smoothscroll.min.js?v=3.3.32365"></script><script src="https://cdn.jotfor.ms//js/errorNavigation.js?v=3.3.32365"></script></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 21 May 2026 10:46:20 +0000</pubDate></item><item><title><![CDATA[InfoPath Retires on 14 July 2026. Here’s How to Find and Replace Your Forms Before They Break.]]></title><link>https://www.gtconsult.com/blogs/post/infopath-retires-on-14-july-2026.-here-s-how-to-find-and-replace-your-forms-before-they-break.</link><description><![CDATA[<img align="left" hspace="5" src="https://www.gtconsult.com/Blog Site/Migration Tools Write Up Thumbnail n.png"/>Microsoft InfoPath retires on 14 July 2026. No extensions, no workarounds. Here’s how to find every InfoPath form in your environment and migrate them before the deadline.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_EsydhnE-SXyQi7x4VfFQ_w" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_Jk-8mCzlTLKv8Tm-C17hVA" 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_fUmvZhI2S6uyv1Mc2wk15Q" 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_MlF94W5yRk6jh1fdUd8Y_A" 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></p><div><p style="margin-bottom:10pt;">Here’s a question that nobody in your IT team wants to hear: how many InfoPath forms are still running in your SharePoint environment right now?</p><p style="margin-bottom:10pt;">If the answer is “I don’t know,” you’re not alone. And that’s the problem.</p></div><p></p></div>
</div><div data-element-id="elm_Isk2S5auVotE9xkcNF0JrQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_Isk2S5auVotE9xkcNF0JrQ"] .zpimage-container figure img { width: 835px !important ; height: 438px !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/01_hero_infopath.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_EgMr-tNAPhPUOO8guR4LGw" 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 style="text-align:center;">On 14 July 2026, Microsoft officially retires InfoPath. InfoPath Forms Services in SharePoint Online will stop working. InfoPath Client 2013 reaches end of extended support on the same date. There is no extension. There is no second delay. After that date, forms will no longer open, submit, or publish in SharePoint Online lists, libraries, or content types.</p><p style="text-align:center;"><br/></p><p style="text-align:center;">For organisations running SharePoint on-premises, the picture is slightly different but no less urgent. Support ends. Security patches stop. You’ll be running forms on a platform that Microsoft has walked away from.</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_WSpNwlkl2JnScIXWIiy3QQ" 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_80C5yoo0JB8fqSTW84avFQ" 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_-QIhyz6bH4P1TGxshsuSIw" 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_rDTuWg5EYXpr9_CPYTvkAg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong>Wait, people still use InfoPath?</strong></span></h2></div>
<div data-element-id="elm_rvsmoyY9Qszcij2JWHsHlg" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_rvsmoyY9Qszcij2JWHsHlg"] .zpimagetext-container figure img { width: 259px !important ; height: 259px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/wait%20what%20GIF.gif" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p style="margin-bottom:10pt;">More than you’d think. InfoPath was Microsoft’s go-to tool for creating electronic forms in SharePoint for more than a decade. HR onboarding forms. Purchase order approvals. Compliance checklists. Leave requests. Expense claims. IT service requests. If your organisation has been on SharePoint since 2010 or earlier, there’s a strong chance InfoPath is still embedded somewhere in your day-to-day operations.</p><p style="margin-bottom:10pt;">The challenge is that these forms are often invisible. They were built years ago by someone who may no longer work at the company. They’re tied to workflows, permissions, and data sources that nobody has documented. And because they’ve been quietly doing their job, nobody has questioned whether they’re still supported.</p><p style="margin-bottom:10pt;">Until now.</p></div><p></p></div>
</div></div><div data-element-id="elm_PuagN8Y0fhoGZYP8f2fr5w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong><span>What actually happens on 15 July?</span></strong></span></h2></div>
<div data-element-id="elm_3oC6-ltYthsHPRnqmtdFbg" 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 style="margin-bottom:10pt;"></p><div><p style="margin-bottom:10pt;">For SharePoint Online users, InfoPath forms stop functioning. You will not be able to create or edit forms. Existing forms will not accept new submissions. You’ll still be able to view and export historical data, but the forms themselves are done.</p></div><p></p><p style="margin-bottom:10pt;">For SharePoint on-premises users, the retirement means Microsoft stops providing support, updates, and security patches. The forms may continue to function, but you’re operating on borrowed time with unsupported software. That creates real risk across three areas:</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_rU7nmbX4MnLPQhoxFFS96g" 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_1WLNQVOhLNKNWYqf5QuO9A" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_HiLpq5Fum_QyucIATDigUA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_-79qv4JIQ17vABbu2pF25g" data-element-type="iconHeadingText" class="zpelement zpelem-iconheadingtext "><style type="text/css"></style><div class="zpicon-container zpicon-align-center zpicon-align-mobile-center zpicon-align-tablet-center "><style></style><span class="zpicon zpicon-common zpicon-anchor zpicon-size-md zpicon-style-none "><svg viewBox="0 0 512 512" height="512" width="512" aria-label="hidden" xmlns="http://www.w3.org/2000/svg"><path d="M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z"></path></svg></span><h3 class="zpicon-heading " data-editor="true"><span><b><span>Security</span></b></span></h3><div class="zpicon-text-container " data-editor="true"><p></p><div><p style="margin-bottom:10pt;">Unsupported components become increasingly difficult to secure and justify during audits.</p></div>
<p></p></div></div></div></div><div data-element-id="elm_yR_an8gK2gGJyfVTgoLE4Q" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_OrVBQXho8nR1swEpp9nwCw" data-element-type="iconHeadingText" class="zpelement zpelem-iconheadingtext "><style type="text/css"></style><div class="zpicon-container zpicon-align-center zpicon-align-mobile-center zpicon-align-tablet-center "><style></style><span class="zpicon zpicon-common zpicon-anchor zpicon-size-md zpicon-style-none "><svg viewBox="0 0 576 512" height="576" width="512" aria-label="hidden" xmlns="http://www.w3.org/2000/svg"><path d="M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z"></path></svg></span><h3 class="zpicon-heading " data-editor="true"><span><b><span>Compliance</span></b></span></h3><div class="zpicon-text-container " data-editor="true"><p></p><div><p style="margin-bottom:10pt;">Many regulatory frameworks require organisations to run on supported platforms. InfoPath after July 2026 doesn’t meet that bar.</p></div>
<p></p></div></div></div></div><div data-element-id="elm_MKXp689-tXO6c01gFkAZZw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_zN4FRvV7fNgOXAPgbguWzw" data-element-type="iconHeadingText" class="zpelement zpelem-iconheadingtext "><style type="text/css"></style><div class="zpicon-container zpicon-align-center zpicon-align-mobile-center zpicon-align-tablet-center "><style></style><span class="zpicon zpicon-common zpicon-anchor zpicon-size-md zpicon-style-none "><svg viewBox="0 0 512 512" height="512" width="512" aria-label="hidden" xmlns="http://www.w3.org/2000/svg"><path d="M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"></path></svg></span><h3 class="zpicon-heading " data-editor="true"><span><b><span>Operations</span></b></span></h3><div class="zpicon-text-container " data-editor="true"><p></p><div><p style="margin-bottom:10pt;">If a critical form breaks, your remediation options are limited and expensive. There’s no support ticket to open.</p></div>
<p></p></div></div></div></div></div></div></div><div data-element-id="elm_l08YoUmoeBb59X0-s63oVg" 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_m6uzDgHb-YQTORLDIaFeEQ" 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_fFcJvpgA4ENiu-zT_D5A3w" 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_i7GpSoMu_L6XCtBiMAI8WA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong>Step one: find them all</strong></span></h2></div>
<div data-element-id="elm_yeHy3DpHi8md_jzbmz0eRg" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_yeHy3DpHi8md_jzbmz0eRg"] .zpimagetext-container figure img { width: 389px !important ; height: 292px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/list%20GIF.gif" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p style="margin-bottom:10pt;">Before you can migrate anything, you need to know what you’re dealing with. Most organisations underestimate how many InfoPath forms are still in use. Here are a few practical ways to identify them:</p></div><p></p><li>Run the Microsoft 365 Assessment Tool. It’s designed to scan your SharePoint environment and flag InfoPath form usage across your sites.</li><div><ul><li>Check your SharePoint libraries. If you see .xsn files in form libraries or InfoPath Form Web Parts on pages, those are InfoPath forms.</li></ul><ul><li>Talk to your teams. Ask department heads whether their approval processes, request forms, or data capture tools were built using InfoPath. You’d be surprised how many business-critical processes are running on forms nobody has reviewed in years.</li></ul><p style="margin-bottom:10pt;"><strong>A useful rule of thumb: if a form predates your Power Platform strategy, it should be reviewed.</strong></p></div></div>
</div></div></div></div></div></div><div data-element-id="elm_OyEZf_5OqDb4DdIKPp59nQ" 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_UxtA5oZzL7-yta6a0aqb7w" 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_g-yiR-1Vq561nk72UNge_A" 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_ZXMR5yShkkygdZVrl6cg5w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong><span style="font-size:24px;">Step two: decide what replaces them</span></strong></h2></div>
<div data-element-id="elm_LaaU0y0YQF0wkaqSHi0aAA" 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 style="margin-bottom:10pt;">This is where organisations often get stuck. Not every InfoPath form should be rebuilt the same way. The right replacement depends on what the form does and how complex it is.</p><p style="margin-bottom:10pt;">For forms that are part of broader business processes and need rich integration with other systems, Power Apps is often the right direction. It’s Microsoft’s official successor to InfoPath, tightly integrated with SharePoint, Teams, and the wider Power Platform. For workflows, Power Automate replaces what SharePoint Designer used to do.</p><p style="margin-bottom:10pt;">But here’s the honest truth: Power Apps isn’t always the fastest path for straightforward SharePoint list forms. Some forms don’t need the full Power Platform treatment. They need a modern, responsive form that works natively in SharePoint without the overhead of a canvas app build.</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_MMCBinJPMfxmB3Tc7FiwoQ" 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_ktV1FMpeHSlcg3cn8lAsBw" 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_TpuaNgypwg7xjEaNDYdAyQ" 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_Ndbqwo1ruwfd6rPtgbqbDA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-size:24px;"><strong>The migration doesn’t have to be painful</strong></span></h2></div>
<div data-element-id="elm_JdWWWPCnYDNyReyGkD8DVg" 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 is where it gets practical. One of the biggest headaches with InfoPath migration is the manual effort. Reading form designs, recreating layouts, reconnecting data sources, rebuilding logic. For organisations with dozens or hundreds of forms, that’s months of work.</p><p><br/></p><p>GTconsult partners with Lightning Tools, whose Form Migrator is purpose-built for exactly this problem. The tool scans your SharePoint environment, detects InfoPath forms, reads the form design including layout, images, repeating tables, and logic, and lets you preview the form before publishing it to a SharePoint list.</p></div><p></p></div>
</div><div data-element-id="elm_uLIApVb9uZP3HmRbF2-sbg" data-element-type="video" class="zpelement zpelem-video "><style type="text/css"> @media (max-width: 767px) { [data-element-id="elm_uLIApVb9uZP3HmRbF2-sbg"].zpelem-video iframe.zpvideo{ width:560px !important; height:315px !important; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_uLIApVb9uZP3HmRbF2-sbg"].zpelem-video iframe.zpvideo{ width:560px !important; height:315px !important; } } </style><div class="zpvideo-container zpiframe-align-center zpiframe-mobile-align-center zpiframe-tablet-align-center"><iframe class="zpvideo " width="560" height="315" src="https://www.youtube.com/embed/22-vb9MjdUg?si=W1CWB0oT0aBl8zbN" frameborder="0" allowfullscreen></iframe></div>
</div><div data-element-id="elm_C2BuJRlAhGt2NlYaPcM2SQ" 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>From there, you have flexible options. You can migrate to Power Apps for forms that need standalone app capabilities. Or you can migrate to Lightning Forms for SharePoint-native forms with conditional formatting, cross-site lookups, and automation built in. The Form Migrator handles both form design and data migration, preserving field values, attachments, metadata, and relationships.</p><p>The entire process runs locally on your workstation. No form data leaves your environment. For security-conscious organisations, that matters.</p><p>Lightning Tools also includes an ROI calculator within the tool, so you can see exactly what the migration saves you compared to rebuilding forms from scratch.</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_DzRy-XZQmqtn8PkrAJI4Ug" 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_RaQ2DvSaW_KOaH8Nn_dDgw" 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_Hw8jtj_MponKq959vXGD7A" 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_0bYoKGWvaXvXvZsYGw6PmA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong><span style="font-size:24px;">Don’t wait for July</span></strong></h2></div>
<div data-element-id="elm_eTiFuF6BeiPA1xjiiLqgnQ" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_eTiFuF6BeiPA1xjiiLqgnQ"] .zpimagetext-container figure img { width: 273px !important ; height: 273px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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%20by%20Sage%20Goddess.gif" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p style="margin-bottom:10pt;">InfoPath migration projects take time. Auditing forms, prioritising critical workflows, testing replacements, training teams, and rolling out in phases. For a large environment, you’re looking at weeks to months depending on complexity.</p><p style="margin-bottom:10pt;">The organisations that handle this well are the ones that start early, run the audit now, migrate the most critical forms first, and work through the rest methodically.</p><p style="margin-bottom:10pt;">The ones that wait? They discover a broken approval workflow on 16 July and spend the next month in crisis mode.</p></div><p></p></div>
</div></div><div data-element-id="elm_Fy3x9w4oLNBQq1xs6NqXsg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong><span style="font-size:24px;"><span>How GTconsult can help</span></span></strong></h2></div>
<div data-element-id="elm_wTXrE6i5GPcSyw9CIjgygw" 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>We’ve been helping organisations modernise their SharePoint environments for 15 years. We know where InfoPath forms hide, how they connect to workflows and permissions, and how to plan a migration that doesn’t disrupt your operations.</div><br/><div>As a Lightning Tools partner, we can run the Form Migrator across your environment, assess your forms, and build a migration plan that matches your timeline and complexity. Whether you’re dealing with five forms or five hundred, we can help you get to the other side of 14 July with everything working.</div></div><p></p></div>
</div><div data-element-id="elm_Ec6YLC1NROZK8BNZw7aUnQ" 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 style="margin-bottom:5pt;"><b><span>Need help with your InfoPath migration?</span></b></p><p style="margin-bottom:5pt;"><b><span>Chat to GTconsult. Let’s assess your environment and build a plan before the deadline.</span></b></p></div><p></p></div>
</div><div data-element-id="elm_8w6ViBs1rTrLtUuMdkuAIw" data-element-type="codeSnippet" class="zpelement zpelem-codesnippet "><div class="zpsnippet-container"><iframe
 id="JotFormIFrame-260819383656569" title="Migration Assessment Booking" onload="window.parent.scrollTo(0,0)" allowtransparency="true" allow="geolocation; microphone; camera; fullscreen; payment" src="https://form.jotform.com/260819383656569" frameborder="0" style="min-width:100%;max-width:100%;height:539px;border:none;" scrolling="no"></iframe><script src='https://cdn.jotfor.ms/s/umd/latest/for-form-embed-handler.js'></script><script>window.jotformEmbedHandler("iframe[id='JotFormIFrame-260819383656569']", "https://form.jotform.com/")</script></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Wed, 20 May 2026 15:15:16 +0000</pubDate></item><item><title><![CDATA[Your SharePoint Could Be an Open Door. Here's What Every Business Leader Needs to Know.]]></title><link>https://www.gtconsult.com/blogs/post/your-sharepoint-could-be-an-open-door.-here-s-what-every-business-leader-needs-to-know.</link><description><![CDATA[<img align="left" hspace="5" src="https://www.gtconsult.com/Blog Site/CVE thumbnail.png"/>SharePoint On-Premises has been under active attack since July 2025. Multiple critical vulnerabilities. A patch deadline approaching in 83 days. Here is what every business leader needs to know right now.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_xSxL1OCpQB-o6_lOHACRyg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_lvTJY2NlSYKRuLUv-c-qiw" 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_REcAT4n3TgCGGFQZTtYOKw" 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_qAs52JE8TnKJM7gqHtW38Q" 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>If your organisation runs SharePoint On-Premises, this is not a drill.</span></p><p><span><br/></span></p><p><span></span></p><p style="margin-bottom:8pt;">Over the past several months, a series of critical vulnerabilities have been discovered and actively exploited in on-premises Microsoft SharePoint environments. These are not theoretical risks sitting in a security researcher's lab. They are real attacks against real organisations, happening right now.</p><p style="margin-bottom:8pt;"><br/></p><p style="margin-bottom:8pt;">And if you haven't acted yet, you may already be exposed.</p><p></p></div>
</div><div data-element-id="elm_qNw11k9MK17HsN5jHp_VrQ" data-element-type="video" class="zpelement zpelem-video "><style type="text/css"> @media (max-width: 767px) { [data-element-id="elm_qNw11k9MK17HsN5jHp_VrQ"].zpelem-video iframe.zpvideo{ width:560px !important; height:315px !important; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_qNw11k9MK17HsN5jHp_VrQ"].zpelem-video iframe.zpvideo{ width:560px !important; height:315px !important; } } </style><div class="zpvideo-container zpiframe-align-center zpiframe-mobile-align-center zpiframe-tablet-align-center"><iframe class="zpvideo " width="560" height="315" src="https://www.youtube.com/embed/q2uThhTkZv4?si=gd01pzu9ug07GwZ2" frameborder="0" allowfullscreen></iframe></div>
</div></div></div></div></div><div data-element-id="elm_3xdX2APRKybdZG6ugqnhew" 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_1h-AaPr4bLSDM7etVvHFNw" 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_DYlxv0yPX9jP8I2T1cJJcg" 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_3wW0YCRbY2uopejomQDnMw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong style="color:rgb(0, 27, 76);"><span style="font-size:24px;">What's actually happening?</span></strong></h2></div>
<div data-element-id="elm_4WGbpj-slkhNNRwnr4RPtQ" 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 style="margin-bottom:8pt;">In July 2025, Microsoft disclosed a critical vulnerability known as ToolShell (CVE-2025-53770), rated 9.8 out of 10 on the severity scale (where 10 is the most dangerous possible). This vulnerability affected all supported versions of SharePoint On-Premises: SharePoint Server 2016, 2019, and Subscription Edition.</p><p style="margin-bottom:8pt;">What made this particularly alarming was that attackers didn't need a password or any prior access to your system. If they could reach your SharePoint server, they could get in.</p><p style="margin-bottom:8pt;">Before Microsoft could fully patch the issue, more than 400 organisations globally had already been compromised, including US government agencies. Chinese state-sponsored threat actors were among those identified, alongside ransomware groups who exploited the same vulnerability for financial gain.</p><p style="margin-bottom:8pt;">That was 2025. In 2026, the attacks have continued.</p></div><p></p></div>
</div><div data-element-id="elm_-tjbo6fAdyzaw3zrzSebFQ" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_-tjbo6fAdyzaw3zrzSebFQ"] .zpimagetext-container figure img { width: 481.9px !important ; height: 271px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/cybercriminal-using-ai-machine-learning-to-develop-2026-03-19-02-08-53-utc.jpg" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p style="margin-bottom:8pt;">In January 2026, Microsoft disclosed a new critical SharePoint vulnerability (CVE-2026-20963, also rated 9.8) affecting all supported on-premises versions. By March 2026, CISA (the US Cybersecurity and Infrastructure Security Agency) added it to their Known Exploited Vulnerabilities catalogue, confirming it was being actively used in attacks. Federal agencies were ordered to patch immediately.</p><p style="margin-bottom:8pt;">Then, just this month in April 2026, Microsoft's Patch Tuesday (the largest in Microsoft's history by CVE count) included yet another actively exploited SharePoint zero-day: CVE-2026-32201. This is a spoofing vulnerability that allows an unauthenticated attacker to inject malicious scripts into SharePoint pages, potentially stealing session tokens, redirecting users to malicious content, or enabling broader phishing and ransomware campaigns. It was being exploited in the wild before today's patch was available.</p><p style="margin-bottom:8pt;">And there is one more date that SharePoint Server 2016 and 2019 customers need to know: 14 July 2026. That is when both versions reach end of support. After that date, Microsoft will no longer release security patches for SharePoint Server 2016 or 2019, meaning any vulnerability discovered after July 2026 will remain permanently unpatched on those versions. SharePoint Server Subscription Edition is not affected by this deadline and remains supported under Microsoft's Modern Lifecycle Policy with no fixed end date.</p></div><p></p></div>
</div></div><div data-element-id="elm_pVVSsTsV-qsi4hT1BeRTGg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_pVVSsTsV-qsi4hT1BeRTGg"].zpelem-text { background-color:#001B4C; background-image:unset; border-style:solid; border-color:#A6CE39 !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:5px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border-width:medium;border-style:none;padding:0px;"><p></p><div><pre style="margin-bottom:28px;"><br/><span style="color:rgb(166, 206, 57);"><span>In less than 12 months, SharePoint On-Premises has been the subject of multiple critical, actively exploited vulnerabilities. <br/>This is not a one-off event. It is a pattern. And for SharePoint Server 2016 and 2019 customers specifically, the safety net <br/>of Microsoft security patches disappears entirely in 90 days.</span><br/></span></pre></div><p></p></blockquote></div>
</div><div data-element-id="elm_V8uaWuQAqbk-pMKSidcvEQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong style="color:rgb(0, 27, 76);"><span style="font-size:24px;"><span>Why should a business leader care?</span></span></strong></h2></div>
<div data-element-id="elm_kysX3KtF6qo4jtjRZm2KXw" 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 style="margin-bottom:8pt;">SharePoint is not just a file storage system. For many organisations, it is the central nervous system of the business, holding sensitive documents, running workflows, storing employee data, and connecting to other Microsoft services like Teams, Outlook, and OneDrive.</p></div><p></p></div>
</div><div data-element-id="elm__t6vAPzzPlhGDmnDgrhgUQ" 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 style="margin-bottom:8pt;">When an attacker gets into SharePoint, they don't just see your files. They can:</p></div><p></p></div>
</div><div data-element-id="elm_e1JZkGenFpWoXZwtjfrO3Q" 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 style="margin-bottom:5pt;margin-left:36pt;">•<span>&nbsp; </span>Move laterally across your entire Microsoft environment</p><p style="margin-bottom:5pt;margin-left:36pt;">•<span>&nbsp; </span>Access sensitive business and personal data</p><p style="margin-bottom:5pt;margin-left:36pt;">•<span>&nbsp; </span>Install backdoors that persist even after patches are applied</p><p style="margin-bottom:5pt;margin-left:36pt;">•<span>&nbsp; </span>Deploy ransomware across your network</p><p style="margin-bottom:5pt;margin-left:36pt;">•<span>&nbsp; </span>Steal credentials and impersonate trusted users</p></div><p></p></div>
</div><div data-element-id="elm_C7dIolRxMTehnBd7-XR6FA" 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 style="margin-bottom:8pt;">And here is the part that should concern every business leader most: you may not know it has happened. These attacks are designed to be quiet. By the time you notice something is wrong, the attacker may have been inside your systems for weeks or months.</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_9PxxXHNnuhwB_nQssOEGSg" 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_D2Eq4IFW2ngG20PkFWH-1g" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_gXlRZ8ew2dK1Y64DMnDVEg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_rjMKp4B0n3CAccf3GSj6jg" data-element-type="iconHeadingText" class="zpelement zpelem-iconheadingtext "><style type="text/css"></style><div class="zpicon-container zpicon-align-center zpicon-align-mobile-center zpicon-align-tablet-center "><style></style><span class="zpicon zpicon-common zpicon-anchor zpicon-size-md zpicon-style-none "><svg viewBox="0 0 576 512" height="576" width="512" aria-label="hidden" xmlns="http://www.w3.org/2000/svg"><path d="M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z"></path></svg></span><h3 class="zpicon-heading " data-editor="true"><span style="font-size:14px;"><span style="font-weight:bold;">Do you run SharePoint On-Premises&nbsp;</span><strong>(not SharePoint Online)</strong><span style="font-weight:bold;"><strong>?</strong></span></span><span></span></h3><div class="zpicon-text-container " data-editor="true"><p><span>If yes, read on.</span></p></div>
</div></div></div><div data-element-id="elm_EqGu-1m-g-HPaoCC7JZbDg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_NKV6vGLxnAcd56rSUcao9A" data-element-type="iconHeadingText" class="zpelement zpelem-iconheadingtext "><style type="text/css"></style><div class="zpicon-container zpicon-align-center zpicon-align-mobile-center zpicon-align-tablet-center "><style></style><span class="zpicon zpicon-common zpicon-anchor zpicon-size-md zpicon-style-none "><svg viewBox="0 0 512 512" height="512" width="512" aria-label="hidden" xmlns="http://www.w3.org/2000/svg"><path d="M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z"></path></svg></span><h3 class="zpicon-heading " data-editor="true"><span style="font-size:14px;"><b>When last did your IT team apply Microsoft security patches</b></span></h3><div class="zpicon-text-container " data-editor="true"><p></p><div><p style="margin-bottom:5pt;margin-left:36pt;"><span>to your SharePoint servers?</span></p></div>
<p></p></div></div></div></div><div data-element-id="elm_sFmqdjkps2JJ-nJ-uEkhlA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_GRmKkNLHfGzAT90NDIjnOw" data-element-type="iconHeadingText" class="zpelement zpelem-iconheadingtext "><style type="text/css"></style><div class="zpicon-container zpicon-align-center zpicon-align-mobile-center zpicon-align-tablet-center "><style></style><span class="zpicon zpicon-common zpicon-anchor zpicon-size-md zpicon-style-none "><svg viewBox="0 0 512 512" height="512" width="512" aria-label="hidden" xmlns="http://www.w3.org/2000/svg"><path d="M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z"></path></svg></span><h3 class="zpicon-heading " data-editor="true"><span style="font-size:14px;"><b>Is your SharePoint accessible from outside your office network</b></span></h3><div class="zpicon-text-container " data-editor="true"><p><span>(via VPN or directly)?</span></p></div>
</div></div></div></div></div></div><div data-element-id="elm_t2Rqxi-pfb9DWll1ZyGpyw" 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_b-Lwv88h6QUi2F7zpg7Ljw" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_ItxD1TjeF4UnAZHNQAUz1g" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_mZS65SC0jk5rfsrfVbTfJw" data-element-type="iconHeadingText" class="zpelement zpelem-iconheadingtext "><style type="text/css"></style><div class="zpicon-container zpicon-align-center zpicon-align-mobile-center zpicon-align-tablet-center "><style></style><span class="zpicon zpicon-common zpicon-anchor zpicon-size-md zpicon-style-none "><svg viewBox="0 0 512 512" height="512" width="512" aria-label="hidden" xmlns="http://www.w3.org/2000/svg"><path d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path></svg></span><h3 class="zpicon-heading " data-editor="true"><span style="font-size:14px;"><b>Do you have monitoring in place</b></span><br/><span style="font-size:14px;">​</span></h3><div class="zpicon-text-container " data-editor="true"><p><span>to detect unusual activity on your SharePoint environment?</span></p></div>
</div></div></div><div data-element-id="elm_DAn60WCFShuHyifXO3mAhg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_fAwKXy3DRcj-GTQx9J8dPQ" data-element-type="iconHeadingText" class="zpelement zpelem-iconheadingtext "><style type="text/css"></style><div class="zpicon-container zpicon-align-center zpicon-align-mobile-center zpicon-align-tablet-center "><style></style><span class="zpicon zpicon-common zpicon-anchor zpicon-size-md zpicon-style-none "><svg viewBox="0 0 384 512" height="384" width="512" aria-label="hidden" xmlns="http://www.w3.org/2000/svg"><path d="M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z"></path></svg></span><h3 class="zpicon-heading " data-editor="true"><span style="font-size:14px;"><b>Has your team assessed whether you may have been compromised</b></span></h3><div class="zpicon-text-container " data-editor="true"><p><span><span>during the 2025 or early 2026 attack waves?</span></span></p></div>
</div></div></div></div><div data-element-id="elm_2-cKzdN0dlqiYzoeJb-Z4Q" 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_ysy6XtDtFGRPnVa1LFnCUA" 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_HficLhP8lwsw47CTz8VKTA" 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 style="margin-bottom:8pt;">If you answered yes to the first question and no to any of the others, your organisation is carrying unnecessary risk.</p></div><p></p></div>
</div><div data-element-id="elm_xK-Cw2M34IoOZHoegZ7clw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_xK-Cw2M34IoOZHoegZ7clw"].zpelem-text { background-color:#001B4C; background-image:unset; border-style:solid; border-color:#A6CE39 !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:5px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border-width:medium;border-style:none;padding:0px;"><p></p><div><pre style="margin-bottom:28px;"><br/><span style="color:rgb(166, 206, 57);"><span><span>Important note: If you run SharePoint Online (part of Microsoft 365), you are not affected. Microsoft patches cloud <br/>environments automatically. This risk applies specifically to organizations hosting their own SharePoint servers.</span></span><br/></span></pre></div><p></p></blockquote></div>
</div><div data-element-id="elm_fORsdSuON-YLp1_bK1Q72w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong style="color:rgb(0, 27, 76);"><span style="font-size:24px;"><span>Why should a business leader care?</span></span></strong></h2></div>
<div data-element-id="elm_2z0ywloizUREnawrb3rtXQ" 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 style="margin-bottom:8pt;">This is not a moment for a committee to review and report back in 30 days. The following actions need to be on your IT team's desk this week:</p></div><p></p></div>
</div><div data-element-id="elm_OOcmkwCL3q6ly6GXwoQBLg" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_OOcmkwCL3q6ly6GXwoQBLg"] .zpimagetext-container figure img { width: 458px !important ; height: 395px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/Dog%20Math%20GIF.gif" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><h3>1. Patch immediately</h3><p style="margin-bottom:8pt;">Microsoft has released security updates for all supported SharePoint On-Premises versions. Your IT team needs to apply the latest cumulative security patches. For the Subscription Edition, this means applying January, February, and March 2026 updates in sequence, as well as the April 2026 Patch Tuesday updates released this week.</p><h3>2. Rotate your cryptographic keys</h3><p style="margin-bottom:8pt;">Patching alone is not enough. Microsoft explicitly advises that organisations rotate their SharePoint server ASP.NET machine keys and restart IIS on all SharePoint servers after patching. This closes a backdoor that attackers may have established even before you patched.</p><h3>3. Assume you may already be compromised</h3><p style="margin-bottom:8pt;">If your SharePoint was accessible from the internet at any point between July 2025 and now and you have not already conducted a compromise assessment, security experts strongly recommend you assume a breach has occurred and investigate accordingly. Patching closes the door, but it does not evict anyone already inside.</p><h3>4. Enable monitoring</h3><p style="margin-bottom:8pt;">Set up alerts for unusual activity: failed login spikes, unusual outbound traffic, PowerShell executions on SharePoint servers, and large unexpected data downloads. These are the warning signs of an active attack or a persistent threat already inside your environment.</p><h3>5. Plan for the future</h3><p style="margin-bottom:8pt;">This is not the last SharePoint vulnerability we will see. Organisations that run on-premises SharePoint need a structured, recurring patch management process, not a reactive scramble every time a critical CVE makes the news.</p></div><p></p></div>
</div></div><div data-element-id="elm_3YqvdCN4qlXmto-1DHvhkA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong style="color:rgb(0, 27, 76);"><span style="font-size:24px;"><span><span>The hard question: is On-Premises still the right choice?</span></span></span></strong></h2></div>
<div data-element-id="elm_ilHM-DRDf9lvtWsOrgd8OA" 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 style="margin-bottom:8pt;">We are not here to tell every organisation to move to the cloud. There are legitimate reasons (regulatory requirements, data sovereignty, legacy integrations) why some organisations must keep SharePoint On-Premises.</p><p style="margin-bottom:8pt;">But the security overhead is real and growing. Every critical vulnerability that Microsoft patches in the cloud automatically means nothing to an on-premises customer who hasn't applied the update. The responsibility sits squarely with your IT team, and the window between disclosure and exploitation is shrinking.</p><p style="margin-bottom:8pt;">And then there is the end-of-life reality. SharePoint Server 2016 and SharePoint Server 2019 both reach end of support on 14 July 2026, just 90 days from now. After that date, Microsoft will release no further security patches for either version. Any vulnerability discovered after July 2026 will remain permanently unpatched on those platforms. If you are running SharePoint Server Subscription Edition, you are not affected by this deadline — it remains supported with no fixed end date. But if you are on 2016 or 2019, the options are clear: migrate to SharePoint Online, upgrade to SharePoint Server Subscription Edition, or accept an ever-growing security exposure with no vendor safety net.</p><p style="margin-bottom:8pt;">If you are running On-Premises purely out of habit, inertia, or because it has always been that way: the clock is no longer just ticking. It has nearly run out.</p></div><p></p></div>
</div><div data-element-id="elm_lCN59IyvL1Ykg_F7zfSLgg" data-element-type="imageheadingtext" class="zpelement zpelem-imageheadingtext "><style> @media (min-width: 992px) { [data-element-id="elm_lCN59IyvL1Ykg_F7zfSLgg"] .zpimageheadingtext-container figure img { width: 118px !important ; height: 128.96px !important ; } } </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-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/GT_icon_gr-1.png" data-src="/Blog%20Site/GT_icon_gr-1.png" size="custom" 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"><strong style="color:rgb(0, 27, 76);">Where GTconsult can help</strong></h3><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p style="margin-bottom:8pt;">We work with organisations on exactly these challenges. Whether you need help patching and hardening your current SharePoint environment, assessing whether you have already been compromised, setting up monitoring and alerting, evaluating a migration to SharePoint Online, or conducting penetration testing and vulnerability assessments: we have the expertise to help.</p></div><p></p></div>
</div></div></div><div data-element-id="elm_uzRphCVvWGxFk1pzPKJyCQ" 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_NcWmy8sBnciHMCN-h1Sb7w" 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_ko7Mf90NMHXJTWUlKVMdXQ" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdark-section zpdark-section-bg "><style type="text/css"> [data-element-id="elm_ko7Mf90NMHXJTWUlKVMdXQ"].zpelem-box{ background-color:#001B4C; background-image:unset; } </style><div data-element-id="elm_6kLuOR6tkRjs1vkmj8fUgg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-center zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Not sure where to start?</strong><br/></h3></div>
<div data-element-id="elm__slrVE2JOkkbJA8NjiJ8-g" 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 style="text-align:center;margin-bottom:8px;"><div><p style="margin-bottom:28px;font-style:italic;"><span style="font-size:16px;">Chat to us and let's help you navigate this change.</span></p><span style="font-weight:700;"><a href="https://www.gtconsult.com/contact"></a></span></div></div><p></p></div>
</div><div data-element-id="elm_8PxlmgaRlNttSaX-sTI2HA" data-element-type="button" class="zpelement zpelem-button "><style> [data-element-id="elm_8PxlmgaRlNttSaX-sTI2HA"].zpelem-button{ margin-block-start:-5px; } </style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-roundcorner " href="https://outlook.office.com/bookwithme/user/6bd34779624c4a8ab5f3906f5e71baf7%40gtconsult.com/meetingtype/Cfseq1rTWEyZRk62iTNVAw2?anonymous&amp;ismsaljsauthenabled=true"><span class="zpbutton-content">Book a Free Consultation with Our Technical Account Manager, Trevin</span></a></div>
</div><div data-element-id="elm_TAuhsbZ6v_i4d7VgiqruIw" data-element-type="spacer" class="zpelement zpelem-spacer "><style> div[data-element-id="elm_TAuhsbZ6v_i4d7VgiqruIw"] div.zpspacer { height:30px; } @media (max-width: 768px) { div[data-element-id="elm_TAuhsbZ6v_i4d7VgiqruIw"] div.zpspacer { height:calc(30px / 3); } } </style><div class="zpspacer " data-height="30"></div>
</div></div></div></div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 23 Apr 2026 11:47:43 +0000</pubDate></item><item><title><![CDATA[SharePoint CSP: Lessons Learned After Enforcement]]></title><link>https://www.gtconsult.com/blogs/post/sharepoint-csp-lessons-learned-after-enforcement</link><description><![CDATA[<img align="left" hspace="5" src="https://www.gtconsult.com/Blog Site/ff.png"/>CSP enforcement went live 1 March 2026. Here's what actually broke, what held up fine, and what every SharePoint environment can learn from the aftermath.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_Q6SZuOenRqiDkCfrsU0N4Q" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_NmnIylMfQPqheGXhzNLHMQ" 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_L_ax5l0hR3yT5B--e0CSeA" 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_uUa3_U0GSC2E3hsu6cj1SA" 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><span>1 March came and went. Here's what actually broke, what held up fine, and what everyone who was &quot;planning to deal with it later&quot; is dealing with right now.</span></span></p></div>
</div><div data-element-id="elm_YoFmLtA41Kja8z_ERT5vNQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_YoFmLtA41Kja8z_ERT5vNQ"] .zpimage-container figure img { width: 754px !important ; height: 424px !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/ff.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_FlA9Xv0yH7eALNPgQEOKwQ" 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><span>Microsoft's SharePoint Online Content Security Policy enforcement went live on 1 March 2026. For teams that had prepared, audited their violations, refactored inline scripts, registered trusted sources: it was a non-event. For those who hadn't, it was a rough Monday morning. This post captures what we've seen in the aftermath: what broke, what didn't, and what the experience teaches us about managing security changes in a modern SharePoint environment.</span></span></p></div>
</div></div></div></div></div><div data-element-id="elm_4Uc-2ob9fuW9PZ5xgrWcSQ" 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_Q7luIxAdNeysCMZzJPxl0A" 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_b5alVDLHoQH9iRjLnTBaAg" 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_CSMKF17qOBxt4w6xsSzWjQ" 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 Actually Broke</strong></h3></div>
</div></div></div></div><div data-element-id="elm_5vbdPeSXnUrmXkJhoL_wwg" 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_SKEtigDZdosX7RqEGAx_vQ" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_zsDv8xZ2p_HFvEMhDx8Omw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_GUepag85OQ-ITOevYXbZYg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_GUepag85OQ-ITOevYXbZYg"].zpelem-text { border-style:solid; border-color:#E21D1D !important; border-block-start-width:3px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:0px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span style="color:rgb(180, 45, 45);"><br/></span></p><p><span style="color:rgb(180, 45, 45);">Commonly Affected</span></p></div>
</div><div data-element-id="elm_5q7oWbhJPBnO9i3S7CJIhA" data-element-type="imageheadingtext" class="zpelement zpelem-imageheadingtext "><style> @media (min-width: 992px) { [data-element-id="elm_5q7oWbhJPBnO9i3S7CJIhA"] .zpimageheadingtext-container figure img { width: 52px !important ; height: 52px !important ; } } @media (max-width: 767px) { [data-element-id="elm_5q7oWbhJPBnO9i3S7CJIhA"] .zpimageheadingtext-container figure img { width:50px ; height:50px ; } } </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-left zpimage-mobile-align-left zpimage-size-custom zpimage-tablet-fallback-medium zpimage-mobile-fallback-medium zpimage-text-seperate-line "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/23.png" width="50" height="50" loading="lazy" size="custom" data-lightbox="false"/></picture></span></figure><div class="zpimage-headingtext-container"><h4 class="zpimage-heading zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left" data-editor="true"><span>Inline Scripts in Content Editor Web Parts</span><br/>​</h4><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p><span><span>Classic content editor web parts with embedded JavaScript were one of the most common failure points. Many organisations had years-old scripts sitting in these parts that nobody had touched, and nobody realised were inline until they stopped working.</span></span></p></div>
</div></div></div></div><div data-element-id="elm_yPXKyKdYbIj-uxTXpO71gg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_7bCNpHgoS0Bn1euXrHX3XA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_7bCNpHgoS0Bn1euXrHX3XA"].zpelem-text { border-style:solid; border-color:#E21D1D !important; border-block-start-width:3px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:0px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span style="color:rgb(180, 45, 45);"><br/></span></p><p><span style="color:rgb(180, 45, 45);">Commonly Affected</span></p></div>
</div><div data-element-id="elm_VsLjvQMP9aFZOSOjT2qZ2Q" data-element-type="imageheadingtext" class="zpelement zpelem-imageheadingtext "><style> @media (min-width: 992px) { [data-element-id="elm_VsLjvQMP9aFZOSOjT2qZ2Q"] .zpimageheadingtext-container figure img { width: 50px !important ; height: 50px !important ; } } @media (max-width: 767px) { [data-element-id="elm_VsLjvQMP9aFZOSOjT2qZ2Q"] .zpimageheadingtext-container figure img { width:50px ; height:50px ; } } </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-left zpimage-mobile-align-left zpimage-size-custom zpimage-tablet-fallback-medium zpimage-mobile-fallback-medium zpimage-text-seperate-line "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/24.png" width="50" height="50" loading="lazy" size="custom" data-lightbox="false"/></picture></span></figure><div class="zpimage-headingtext-container"><h4 class="zpimage-heading zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left" data-editor="true"><span>Third-Party Integrations Using Dynamic Injection<br/></span></h4><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p><span><span>Analytics tools, chatbots, CRM connectors, and similar third-party solutions that inject scripts dynamically at runtime without pre-registration were blocked. Some vendors had updated their SharePoint integrations ahead of enforcement; others hadn't.</span></span></p></div>
</div></div></div></div><div data-element-id="elm_qInmHVpg5hqcmory-Of-yA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_kAdd6MxMSynBnsjmaJJZEw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_kAdd6MxMSynBnsjmaJJZEw"].zpelem-text { border-style:solid; border-color:#F1C40F !important; border-block-start-width:3px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:0px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span style="color:rgb(180, 45, 45);"><br/></span></p><p><span style="color:rgb(241, 196, 15);">Partially Affected</span></p></div>
</div><div data-element-id="elm_mRRLIBsJvobvX52pk-4DEg" data-element-type="imageheadingtext" class="zpelement zpelem-imageheadingtext "><style> @media (min-width: 992px) { [data-element-id="elm_mRRLIBsJvobvX52pk-4DEg"] .zpimageheadingtext-container figure img { width: 47px !important ; height: 47px !important ; } } @media (max-width: 767px) { [data-element-id="elm_mRRLIBsJvobvX52pk-4DEg"] .zpimageheadingtext-container figure img { width:50px ; height:50px ; } } </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-left zpimage-mobile-align-left zpimage-size-custom zpimage-tablet-fallback-medium zpimage-mobile-fallback-medium zpimage-text-seperate-line "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/25.png" width="50" height="50" loading="lazy" size="custom" data-lightbox="false"/></picture></span></figure><div class="zpimage-headingtext-container"><h4 class="zpimage-heading zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left" data-editor="true"><span>Custom SPFx Web Parts with Dynamic Loading<br/></span></h4><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p><span><span>Web parts using&nbsp; </span><code>SPComponentLoader.loadScript()</code><span>&nbsp;to pull in external libraries at runtime worked fine if those sources were pre-registered in Trusted Script Sources, and broke if they weren't. The split outcome here caught some teams off guard who assumed their SPFx solutions were automatically safe.</span></span></p></div>
</div></div></div></div></div><div data-element-id="elm_hV5ZFuicEXZdQjCvwHj7hw" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_SLhKS1VIn_LnXlY2zK91Iw" 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_SEFA-LZ5-Gpb0wrHC537uw" data-element-type="spacer" class="zpelement zpelem-spacer "><style> div[data-element-id="elm_SEFA-LZ5-Gpb0wrHC537uw"] div.zpspacer { height:33px; } @media (max-width: 768px) { div[data-element-id="elm_SEFA-LZ5-Gpb0wrHC537uw"] div.zpspacer { height:calc(33px / 3); } } </style><div class="zpspacer " data-height="33"></div>
</div></div></div><div data-element-id="elm_avkD92zJNqVyFjTKCqzluQ" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_l3PJoMyQSrujx2V-pERbAw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_Xf6kvrjtppshCMGxzixi9g" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_Xf6kvrjtppshCMGxzixi9g"].zpelem-text { border-style:solid; border-color:#A6CE39 !important; border-block-start-width:3px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:0px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span style="color:rgb(180, 45, 45);"><br/></span></p><p><span style="color:rgb(166, 206, 57);">Unaffected</span></p></div>
</div><div data-element-id="elm_micSr6onUofH0l6Xh_buSA" data-element-type="imageheadingtext" class="zpelement zpelem-imageheadingtext "><style> @media (min-width: 992px) { [data-element-id="elm_micSr6onUofH0l6Xh_buSA"] .zpimageheadingtext-container figure img { width: 52px !important ; height: 52px !important ; } } @media (max-width: 767px) { [data-element-id="elm_micSr6onUofH0l6Xh_buSA"] .zpimageheadingtext-container figure img { width:50px ; height:50px ; } } </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-left zpimage-mobile-align-left zpimage-size-custom zpimage-tablet-fallback-medium zpimage-mobile-fallback-medium zpimage-text-seperate-line "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/26.png" width="50" height="50" loading="lazy" size="custom" data-lightbox="false"/></picture></span></figure><div class="zpimage-headingtext-container"><h4 class="zpimage-heading zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left" data-editor="true"><span>Standard SPFx Bundles via cdnBasePath or externals<br/></span></h4><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p><span><span>Solutions deployed through proper SPFx packaging, bundles referenced via&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);font-family:&quot;Courier New&quot;, monospace;">&nbsp;</span></span><code style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);font-family:&quot;Courier New&quot;, monospace;">cdnBasePath&nbsp;</code><span>&nbsp;or external libraries declared in&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);font-family:&quot;Courier New&quot;, monospace;">&nbsp;</span></span><code style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);font-family:&quot;Courier New&quot;, monospace;">config.json&nbsp;</code><span>, were automatically added to Trusted Script Sources on installation and were entirely unaffected by enforcement.</span></span></p></div>
</div></div></div></div><div data-element-id="elm_RWoaloQBiSIXdiArZcHRbQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_-_4Ze6htLK7-1apUCiyN-Q" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_-_4Ze6htLK7-1apUCiyN-Q"].zpelem-text { border-style:solid; border-color:#A6CE39 !important; border-block-start-width:3px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:0px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span style="color:rgb(180, 45, 45);"><br/></span></p><p><span style="color:rgb(166, 206, 57);">Unaffected</span></p></div>
</div><div data-element-id="elm_e3HEFndZRDUhMwa6Tc1YcQ" data-element-type="imageheadingtext" class="zpelement zpelem-imageheadingtext "><style> @media (min-width: 992px) { [data-element-id="elm_e3HEFndZRDUhMwa6Tc1YcQ"] .zpimageheadingtext-container figure img { width: 50px !important ; height: 50px !important ; } } @media (max-width: 767px) { [data-element-id="elm_e3HEFndZRDUhMwa6Tc1YcQ"] .zpimageheadingtext-container figure img { width:50px ; height:50px ; } } </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-left zpimage-mobile-align-left zpimage-size-custom zpimage-tablet-fallback-medium zpimage-mobile-fallback-medium zpimage-text-seperate-line "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/27.png" width="50" height="50" loading="lazy" size="custom" data-lightbox="false"/></picture></span></figure><div class="zpimage-headingtext-container"><h4 class="zpimage-heading zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left" data-editor="true"><span>Classic SharePoint Pages</span><br/>​</h4><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p><span><span>CSP enforcement only applies to modern SharePoint pages. Organisations still running classic team sites or publishing sites were not affected, though the long-term trajectory of classic SharePoint remains what it is.</span></span></p></div>
</div></div></div></div></div><div data-element-id="elm_H0GKtjD1tr9ygt2yiS2PnQ" 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_r9SiVr8xz1BIoDk5rpUHaw" 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_yOGUyNOtBU-b-qARTuOKkQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_yOGUyNOtBU-b-qARTuOKkQ"].zpelem-text { background-color:#ECF0F1; background-image:unset; border-style:solid; border-color:#A6CE39 !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:5px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><p></p></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><span style="color:rgb(166, 206, 57);font-size:12px;"></span></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><div><span style="margin-bottom:6px;font-weight:700;color:rgb(166, 206, 57);"><br/></span></div><div><span style="margin-bottom:6px;font-weight:700;color:rgb(166, 206, 57);"></span></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><div>Still running classic SharePoint? CSP is one of many reasons the clock is ticking. Our Support Manager Barend Olivier walks through exactly what's at stake and how to move forward in our on-demand webinar, Migration &amp; Modernization: From Legacy to Modern.</div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><span><span></span></span></blockquote><div><span><span><br/></span></span></div></div>
</div><div data-element-id="elm_x0sevVGayWLJKEfb_re6sQ" data-element-type="video" class="zpelement zpelem-video "><style type="text/css"> @media (max-width: 767px) { [data-element-id="elm_x0sevVGayWLJKEfb_re6sQ"].zpelem-video iframe.zpvideo{ width:560px !important; height:315px !important; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_x0sevVGayWLJKEfb_re6sQ"].zpelem-video iframe.zpvideo{ width:560px !important; height:315px !important; } } </style><div class="zpvideo-container zpiframe-align-center zpiframe-mobile-align-center zpiframe-tablet-align-center"><iframe class="zpvideo " width="560" height="315" src="https://www.youtube.com/embed/X3b2vhnFsPI?si=11oPQW0TvV7aJPv5" frameborder="0" allowfullscreen></iframe></div>
</div></div></div></div></div><div data-element-id="elm_wujIyeaIWe3HHGkdkbi7uA" 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_Gy79vhUoZVk4Tvk9DoiKDw" 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_2lynVZF7SbwzbsK_ets-lQ" 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_8tp7cp-NYNJRiECQ6P7FlA" 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>The Common Thread in Failures</strong></h3></div>
<div data-element-id="elm_Fhxzjl2tFZYbCytcJt6sbA" 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 style="margin-bottom:20px;">Looking across the common failure patterns, there's a single theme:&nbsp;<strong>legacy script patterns that nobody had revisited in years</strong>. The solutions that broke were rarely recently built, they were older integrations, older web parts, scripts embedded when SharePoint was configured years ago and then forgotten.</p><p style="margin-bottom:20px;">CSP enforcement didn't create new problems; it surfaced old ones. That's actually the point. The report-only window from late 2025 through 28 February was designed exactly for this: a chance to audit before enforcement hit. Teams that used that window had nothing to worry about on 1 March. Teams that didn't are doing triage now.</p></div><p></p></div>
</div><div data-element-id="elm_SJMHmb6Sfh5sCO4bCl5HUw" 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>The Fix Is Usually Simpler Than It Sounds</span></strong></h3></div>
<div data-element-id="elm_f2XQpFGAV_2w3sf4yeyngw" 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>One of the more reassuring findings: for most organisations, the actual remediation work is not as complex as it sounds once you know what you're dealing with. The common fixes are:</div><div><br/></div></div><p></p><ul><li>Inline scripts: Extract into a&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);font-family:&quot;Courier New&quot;, monospace;"> .js file </span>, host it somewhere trusted, update the reference. An afternoon of work in most cases.</li><li>Untrusted external sources: Add the domain to Trusted Script Sources in SharePoint Admin Center. A few minutes per source.</li><li>Third-party vendor tools: Contact the vendor. Most major vendors had CSP-compliant updates available before enforcement, it's usually a version upgrade.</li></ul><div><div></div><br/><div>The difficulty isn't the fix itself. It's the discovery: knowing which scripts exist, where they live, and what they load. That's why the Purview audit log is so valuable, run a search for &quot;Violated Content Security Policy&quot; to get the full map.</div></div></div>
</div><div data-element-id="elm_OL9VoIPz5uQOqdghTodhTw" 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><span>What This Tells Us About Security Governance</span></span></strong></h3></div>
<div data-element-id="elm_5nmpUES4L_exdqK82aUJ7A" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_5nmpUES4L_exdqK82aUJ7A"] .zpimagetext-container figure img { width: 407px !important ; height: 271px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/laptop-with-antivirus-shield-hologram-web-safety-2026-03-26-05-09-23-utc.jpg" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p style="margin-bottom:20px;">CSP enforcement is a useful lens on a broader question: how well do organisations actually know what JavaScript is running in their SharePoint environment? For many, the honest answer before 1 March was &quot;not very well.&quot; Scripts accumulate over years of SharePoint growth, solutions built by people who've left, integrations set up for projects long since finished, vendor tools added during evaluations that never quite got removed.</p><p style="margin-bottom:20px;">CSP enforcement forced an audit that should have been happening on an ongoing basis. The silver lining: teams that went through the remediation process now have a much cleaner, better-documented picture of their SharePoint script landscape than they did before.</p></div><p></p></div>
</div></div><div data-element-id="elm_7jeMlHaduwfau0u19N-Hcg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_7jeMlHaduwfau0u19N-Hcg"].zpelem-text { background-color:#ECF0F1; background-image:unset; border-style:solid; border-color:#A6CE39 !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:5px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><p></p></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><span style="color:rgb(166, 206, 57);font-size:12px;"></span></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><div><span style="margin-bottom:6px;font-weight:700;color:rgb(166, 206, 57);"><br/></span></div><div><span style="margin-bottom:6px;font-weight:700;color:rgb(166, 206, 57);"></span></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><div><span style="margin-bottom:8px;font-weight:600;color:rgb(166, 206, 57);">If You're Still Cleaning Up</span></div></blockquote><div><div><br/></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><span><span></span></span></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><span><span>Check your Purview audit log, work through violations methodically, and use&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);font-family:&quot;Courier New&quot;, monospace;">&nbsp;</span></span><code style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);font-family:&quot;Courier New&quot;, monospace;">?csp=enforce</code><span><span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);font-family:&quot;Courier New&quot;, monospace;">&nbsp;</span> on individual pages to verify fixes. If you're on the 90-day delay, enforcement hits&nbsp;</span><a href="https://www.claudeusercontent.com/?domain=claude.ai&amp;parentOrigin=https%3A%2F%2Fclaude.ai&amp;errorReportingMode=parent&amp;formattedSpreadsheets=true#">1 June 2026</a><span>. Use the time you have.</span></span></blockquote><div><span><span><br/></span></span></div></div>
</div><div data-element-id="elm_Vkih9OF3of4bUesSpw_vow" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_Vkih9OF3of4bUesSpw_vow"].zpelem-text { background-color:#ECF0F1; background-image:unset; border-style:solid; border-color:#A6CE39 !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:5px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><p></p></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><span style="color:rgb(166, 206, 57);font-size:12px;"></span></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><div><blockquote style="margin-left:40px;border:none;"><p></p></blockquote><blockquote style="margin-left:40px;border:none;"><span style="color:rgb(166, 206, 57);font-size:12px;"></span></blockquote><blockquote style="margin-left:40px;border:none;"><div><span style="margin-bottom:6px;font-weight:700;color:rgb(166, 206, 57);"><br/></span></div><div><span style="margin-bottom:6px;font-weight:700;color:rgb(166, 206, 57);"></span></div></blockquote><blockquote style="margin-left:40px;border:none;"><div><span style="margin-bottom:6px;font-weight:700;color:rgb(0, 27, 76);">Further Reading</span></div></blockquote><div><br/></div><blockquote style="margin-left:40px;border:none;"></blockquote><blockquote style="margin-left:40px;border:none;"><a href="https://www.gtconsult.com/blogs/post/sharepoint-csp-enforcement-is-live-%E2%80%94-here-s-what-to-do-if-your-scripts-are-broken" title="SharePoint CSP Enforcement Is Live — Here's What to Do If Your Scripts Are Broken" target="_blank" rel="">SharePoint CSP Enforcement Is Live — Here's What to Do If Your Scripts Are Broken</a></blockquote><blockquote style="margin-left:40px;border:none;"><a href="https://www.gtconsult.com/blogs/post/still-on-the-90-day-csp-delay-your-1-june-deadline-is-coming" title="Still on the 90-Day CSP Delay? Your 1 June Deadline Is Coming" target="_blank" rel="">Still on the 90-Day CSP Delay? Your 1 June Deadline Is Coming</a><a href="https://www.gtconsult.com/blogs/post/still-on-the-90-day-csp-delay-your-1-june-deadline-is-coming" title="Still on the 90-Day CSP Delay? Your 1 June Deadline Is Coming" target="_blank" rel=""><br/></a></blockquote><blockquote style="margin-left:40px;border:none;"><a href="https://learn.microsoft.com/en-us/sharepoint/dev/spfx/content-securty-policy-trusted-script-sources">Support for CSP in SharePoint Online, Microsoft Learn<br/></a><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></blockquote><blockquote style="margin-left:40px;border:none;"><br/></blockquote><div><br/></div></div></blockquote></div>
</div></div></div></div></div><div data-element-id="elm_6hHgYCt7GskgrPKfG8eEeg" 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_5o9tyqS5DYa8Rs-lzUeMvg" 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_bMqOVNOWc8vB8_07M3LnoQ" 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_FgEBQeenEgCcCZdqqZW0nw" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdark-section zpdark-section-bg "><style type="text/css"> [data-element-id="elm_FgEBQeenEgCcCZdqqZW0nw"].zpelem-box{ background-color:#001B4C; background-image:unset; } </style><div data-element-id="elm_J3T9wRE7uIRA18o-Xl8dEg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-center zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Need our help?</strong><br/></h3></div>
<div data-element-id="elm_Wul5Nibzk63HvmqhW9GsWA" 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 style="text-align:center;margin-bottom:8px;"><div><p style="margin-bottom:28px;font-style:italic;"><span style="font-size:16px;">Chat to us and let's help you navigate this change.</span></p><span style="font-weight:700;"><a href="https://www.gtconsult.com/contact"></a></span></div></div><p></p></div>
</div><div data-element-id="elm_crCLYMwiUWYuNcQcqs795Q" data-element-type="button" class="zpelement zpelem-button "><style> [data-element-id="elm_crCLYMwiUWYuNcQcqs795Q"].zpelem-button{ margin-block-start:-5px; } </style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-roundcorner " href="https://outlook.office.com/bookwithme/user/6bd34779624c4a8ab5f3906f5e71baf7%40gtconsult.com/meetingtype/Cfseq1rTWEyZRk62iTNVAw2?anonymous&amp;ismsaljsauthenabled=true"><span class="zpbutton-content">Book a Free Consultation with Our Technical Account Manager, Trevin</span></a></div>
</div><div data-element-id="elm_jOXcQOq4phuaRlzAOuEquA" data-element-type="spacer" class="zpelement zpelem-spacer "><style> div[data-element-id="elm_jOXcQOq4phuaRlzAOuEquA"] div.zpspacer { height:30px; } @media (max-width: 768px) { div[data-element-id="elm_jOXcQOq4phuaRlzAOuEquA"] div.zpspacer { height:calc(30px / 3); } } </style><div class="zpspacer " data-height="30"></div>
</div></div></div></div></div></div></div> ]]></content:encoded><pubDate>Tue, 31 Mar 2026 14:28:53 +0000</pubDate></item><item><title><![CDATA[Still on the 90-Day CSP Delay? Your 1 June Deadline Is Coming]]></title><link>https://www.gtconsult.com/blogs/post/still-on-the-90-day-csp-delay-your-1-june-deadline-is-coming</link><description><![CDATA[<img align="left" hspace="5" src="https://www.gtconsult.com/Blog Site/HH.png"/>Still on the 90-day CSP delay? Your SharePoint Online enforcement deadline is 1 June 2026. Here's your 8-week action plan to audit violations, fix scripts, and test before the window closes.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_eP5YOwKNSrqbahK8CEdiQA" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_BzFHOmS6RROIhaqlaWh3nA" 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_nISarZm9R1Ckzb_WbfTitg" 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_Ub5ABqLdR9-FylpHZrx5vQ" 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><span style="font-style:italic;">If your organisation opted into Microsoft's enforcement delay back in February, the window is closing. Here's everything you need to do before 1 June, and why the time to start is now, not May</span></span></p></div>
</div><div data-element-id="elm_dBxUcpgTjzwyeUr3DX8OBQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_dBxUcpgTjzwyeUr3DX8OBQ"] .zpimage-container figure img { width: 770px !important ; height: 433px !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/HH.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div></div></div></div></div><div data-element-id="elm_WSrxBzjT5CfsxXqmDLge2g" 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_Y3FtJkZ_Fv454pKS6SQW6g" 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_vUw-S8Upiti5CapZN-fOmw" 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_TsSD7nEU3KBRCKf09eNBXA" 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 style="margin-bottom:20px;">When Microsoft announced SharePoint Online's Content Security Policy enforcement in early 2026, they included a lifeline for organisations that needed more time: a&nbsp;<code>Set-SPOTenant -DelayContentSecurityPolicyEnforcement $true</code>&nbsp;flag that pushed enforcement from 1 March to&nbsp;<span style="font-weight:600;">1 June 2026</span>. If your IT team enabled that flag, you bought yourself 90 days.</p><p style="margin-bottom:20px;">Those 90 days are now running out.</p><p style="margin-bottom:20px;">The purpose of the delay was to give organisations time to audit their environments, fix non-compliant scripts, and test changes, not to skip preparation entirely. If you haven't started yet, this post is your starting gun.</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_fHwr4ShVkzQ1UONfXB6fTA" 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_rd-85g3wcjEDxqohf_55ow" 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_ujtcD5FTjFye2mnVMw0dKQ" 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_OVixK-nTcjZKFq0mEmfDvQ" 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 Happens on 1 June</strong></h3></div>
<div data-element-id="elm_l_1rUXou8GqCdFk2Id9rag" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_l_1rUXou8GqCdFk2Id9rag"] .zpimagetext-container figure img { width: 511px !important ; height: 341px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/wooden-block-calendar-with-date-may-1-on-the-yello-2026-03-24-06-29-57-utc.jpg" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><div>On 1 June 2026, the enforcement delay expires automatically. There is no second delay option. After that date, CSP enforcement behaves exactly as it does for everyone else who went live 1 March:</div></div><p></p><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><ul><li>Inline JavaScript will be blocked on all modern SharePoint Online pages.</li><li>Scripts loaded from external sources not registered in your Trusted Script Sources list will be blocked.</li><li>Users will see broken web parts, missing functionality, and JavaScript errors with no visual warning that CSP is the cause.</li></ul></blockquote></blockquote><div><div><br/></div><div>The failure mode is silent from a user perspective: a web part just stops working. The only indication is in the browser console, which most end users will never open. That's why preparation before 1 June matters: there's no grace period, no warning message, and no automatic recovery.</div></div></div>
</div></div><div data-element-id="elm_vVTjvaYNjjqsl5c6BcpR7A" 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>Check Whether You're on the Delay</strong></h3></div>
<div data-element-id="elm_mAd6ToZty12QUOPb4HmZ-w" 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><span>If you're not certain whether your tenant enabled the delay, check it now via PowerShell:</span></span></p></div>
</div><div data-element-id="elm_ptso2aVAuT7leULuUlCsAQ" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_ptso2aVAuT7leULuUlCsAQ"].zpelem-box{ margin-block-start:-2px; } </style><div data-element-id="elm_ABsc7FG80a-u9zKgcIbeww" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_ABsc7FG80a-u9zKgcIbeww"].zpelem-text { background-color:#001B4C; background-image:unset; border-style:solid; border-color:#A6CE39 !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:5px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><p></p><div><pre style="margin-bottom:28px;"><br/><span style="color:rgb(166, 206, 57);">Get-SPOTenant | Select-Object DelayContentSecurityPolicyEnforcement</span></pre></div><p></p></blockquote></div>
</div><div data-element-id="elm_ai5wS71Rr-Uk1ajQ9Vao8Q" 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><span>If the value returns&nbsp;</span><code>True</code><span>, enforcement is delayed until 1 June. If it returns&nbsp;</span><code>False</code><span>, enforcement was already live on 1 March. Check whether anything broke in your environment around that date.</span></span></p></div>
</div></div></div></div></div></div><div data-element-id="elm_Nenw7td7E8Vcp0PxI95Gsw" 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_HQa_EGP5Krt1Yt4ShdI_cg" 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_-8aKbiND671QXMe0HXcrHA" 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_WAWdnhdvchGT3E9a1_1mnA" 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>Your Action Plan: The Next 8 Weeks</strong></h3></div>
</div></div></div></div><div data-element-id="elm_Ga_iE1bhXKzoEZZoJBSWwQ" 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_7rAiNcPZj5hm5LhADvofqg" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_xwE1mnwpbKDgLfgMRo9tXQ" 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_9CpVZvT0zpcskTlmd9JK3w" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_9CpVZvT0zpcskTlmd9JK3w"] .zpimage-container figure img { width: 540px ; height: 303.75px ; } } @media (max-width: 767px) { [data-element-id="elm_9CpVZvT0zpcskTlmd9JK3w"] .zpimage-container figure img { width:415px ; height:277.36px ; } } </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-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/wEEK%20-2-.png" width="415" height="277.36" loading="lazy" size="fit"/></picture></span></figure></div>
</div><div data-element-id="elm_CRVLL7qBZG0TooyXt6x6cA" data-element-type="box" class="zpelem-box zpelement zpbox-container zspadding-space-allside-thin zplight-section zplight-section-bg "><style type="text/css"></style><div data-element-id="elm_JExDJGFXV4mDlMT1Rarrow" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h4
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Week 1–2: Audit</strong><br/></h4></div>
<div data-element-id="elm_UUIBIka0XaVrHqODZmYf3g" 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 style="margin-bottom:20px;">Before you can fix anything, you need to know what's broken. Two tools:</p><ul><li style="margin-bottom:8px;"><span style="font-weight:600;">Microsoft Purview:</span>&nbsp;Search the audit log for&nbsp;<span style="font-weight:600;">&quot;Violated Content Security Policy&quot;</span>. This returns a tenant-wide list of every page and script source that triggered a CSP violation during the report-only window. This is your master list.</li><li style="margin-bottom:8px;"><span style="font-weight:600;">Browser console +&nbsp;<code>?csp=enforce</code>:</span>&nbsp;Append&nbsp;<code>?csp=enforce</code>&nbsp;to any modern page URL to force enforcement mode. Open Developer Tools (F12) and check the Console tab for blocked script errors. Use this to verify specific pages.</li></ul></div><p></p></div>
</div><div data-element-id="elm_m-U_DY5d4GsZVr4IipHvNQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_m-U_DY5d4GsZVr4IipHvNQ"].zpelem-text { background-color:#ECF0F1; background-image:unset; border-style:solid; border-color:#A6CE39 !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:5px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><p></p></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><span style="color:rgb(166, 206, 57);font-size:12px;"></span></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><div><span style="margin-bottom:6px;font-weight:700;color:rgb(166, 206, 57);"><br/></span></div><div><span style="margin-bottom:6px;font-weight:700;color:rgb(166, 206, 57);">Don't Skip the Audit</span></div></blockquote><div><div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><span><span>The most common mistake teams make is fixing the scripts they know about and missing the ones they don't. The Purview audit log is the only way to surface violations across your entire tenant, including pages and solutions built by people who may no longer be on the team.</span></span></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><p></p></blockquote><div><span><span><br/></span></span></div></div>
</div></div></div><div data-element-id="elm_nvIe16gcvvdn4vklKVVPyA" 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_vw0JMV39bKdHMNf9RTNh7A" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_vw0JMV39bKdHMNf9RTNh7A"] .zpimage-container figure img { width: 540px ; height: 303.75px ; } } @media (max-width: 767px) { [data-element-id="elm_vw0JMV39bKdHMNf9RTNh7A"] .zpimage-container figure img { width:415px ; height:276.67px ; } } </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-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/wEEK%20-3-.png" width="415" height="276.67" loading="lazy" size="fit"/></picture></span></figure></div>
</div><div data-element-id="elm_o89jONOBSpPXYdro9h68fQ" data-element-type="box" class="zpelem-box zpelement zpbox-container zspadding-space-allside-thin zplight-section zplight-section-bg "><style type="text/css"></style><div data-element-id="elm_H0w7H_Wmc-xHEQoQKW8BxQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h4
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Week 3–5: Fix and Register</strong><br/></h4></div>
<div data-element-id="elm_tEqIHP1EyYN0f89vzKu96g" 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 style="margin-bottom:20px;">Work through violations by type:</p><ul><li style="margin-bottom:8px;"><span style="font-weight:600;">Inline scripts:</span>&nbsp;Extract JavaScript into external&nbsp;<code>.js</code>&nbsp;files, host in a trusted location, update references. Register the hosting URL as a Trusted Script Source.</li><li style="margin-bottom:8px;"><span style="font-weight:600;">Dynamic external loads (<code>SPComponentLoader</code>):</span>&nbsp;Register each external URL manually in SharePoint Admin Center under Trusted Script Sources. The 300-entry limit applies across your entire tenant, audit before adding everything.</li><li style="margin-bottom:8px;"><span style="font-weight:600;">Third-party tools:</span>&nbsp;Contact vendors. Most major vendors have CSP-compliant versions of their SharePoint integrations available. This is a version upgrade, not a rebuild.</li></ul><div><br/></div></div><div><br/></div><div><br/></div><div><br/></div><div><br/></div><div><br/></div><p></p></div>
</div></div></div></div><div data-element-id="elm__SrALul_SN6XxXXX9tpaSA" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_aMcZQjKYkpTJuZKQsJQhdA" 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_LK3DL-8pP0f-QWTwwF6YXg" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_LK3DL-8pP0f-QWTwwF6YXg"] .zpimage-container figure img { width: 540px ; height: 303.75px ; } } @media (max-width: 767px) { [data-element-id="elm_LK3DL-8pP0f-QWTwwF6YXg"] .zpimage-container figure img { width:415px ; height:277.01px ; } } </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-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/wEEK%20-4-.png" width="415" height="277.01" loading="lazy" size="fit"/></picture></span></figure></div>
</div><div data-element-id="elm_aKTAxtAEhpxDn2YIn2LS8w" data-element-type="box" class="zpelem-box zpelement zpbox-container zspadding-space-allside-thin zplight-section zplight-section-bg "><style type="text/css"></style><div data-element-id="elm_MHpk3z_P0pkO7dZzLX2g7A" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h4
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Week 6–7: Test in Enforce Mode</strong><br/></h4></div>
<div data-element-id="elm_BHd6_CX5Z4yAdsrVxeDNgg" 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><span>Once fixes are in place, use&nbsp;</span><code>?csp=enforce</code><span>&nbsp;systematically across your critical pages to verify nothing is still breaking. Involve your end users or QA team, have them walk through their normal workflows on the pages they use most.</span></span></p><p><span><span><br/></span></span></p></div>
</div></div></div><div data-element-id="elm_oCKg2oL9zsxt1GsFB8C7oQ" 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_oJIvZG5PmjREB-dLVrVtLA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_oJIvZG5PmjREB-dLVrVtLA"] .zpimage-container figure img { width: 540px ; height: 303.75px ; } } @media (max-width: 767px) { [data-element-id="elm_oJIvZG5PmjREB-dLVrVtLA"] .zpimage-container figure img { width:415px ; height:277.01px ; } } </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-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/wEEK%20-1-.png" width="415" height="277.01" loading="lazy" size="fit"/></picture></span></figure></div>
</div><div data-element-id="elm_sGQrlkEllU0E84gm-b400w" data-element-type="box" class="zpelem-box zpelement zpbox-container zspadding-space-allside-thin zplight-section zplight-section-bg "><style type="text/css"></style><div data-element-id="elm_a0Mn5P6CGZ5ZFVFz7QyeqQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h4
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Week 8: Sign Off and Communicate</strong><br/></h4></div>
<div data-element-id="elm_FHAGcoWYx05RrdKlZwa_8A" 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><span>Before 1 June, communicate the change to relevant stakeholders. If any web part behaviour has changed as a result of refactoring (however minor), users should know what to expect. Frame it as a security improvement, because it is.</span></span></p></div>
</div></div></div></div></div></div><div data-element-id="elm_eSMUyenMKXyRu81FMBkDEQ" 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_TxXzevtdHCmJVnNT-UZf2g" 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_FLgNMnG6wZz9R8XpnEEr8w" 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_5YSBZW8ob9dmYkadUBvwYg" 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>The Risk of Waiting Until Late May</strong><br/></h3></div>
<div data-element-id="elm_QeWENosaztTQXcxdYg7Qfg" 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 style="margin-bottom:20px;">The pattern we've seen with 1 March enforcement is that the teams who struggled were the ones who started late. Trusted Script Source changes can take up to&nbsp;<span style="font-weight:600;">24 hours to propagate</span>&nbsp;across a tenant. If you're making changes on 30 May and something doesn't propagate in time, you have no margin for error.</p><p style="margin-bottom:20px;">Eight weeks sounds like plenty of time. In practice, the audit usually surfaces more than expected, vendor responses take longer than expected, and internal sign-off processes take time. Start now.</p></div><p></p></div>
</div><div data-element-id="elm_AVPOoxqcsMhuu8NExJ0hxQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_AVPOoxqcsMhuu8NExJ0hxQ"].zpelem-text { background-color:#ECF0F1; background-image:unset; border-style:solid; border-color:#A6CE39 !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:5px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><p></p></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><span style="color:rgb(166, 206, 57);font-size:12px;"></span></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><div><span style="margin-bottom:6px;font-weight:700;color:rgb(166, 206, 57);"><br/></span></div><div><span style="margin-bottom:6px;font-weight:700;color:rgb(166, 206, 57);"></span></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><div><span style="margin-bottom:6px;font-weight:700;color:rgb(0, 27, 76);">Further Reading</span></div></blockquote><div><div><br/></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><span><span></span></span></blockquote><blockquote style="margin-left:40px;border:none;"><a href="https://www.gtconsult.com/blogs/post/sharepoint-csp-enforcement-is-live-%E2%80%94-here-s-what-to-do-if-your-scripts-are-broken" title="SharePoint CSP Enforcement Is Live — Here's What to Do If Your Scripts Are Broken" target="_blank" rel="">SharePoint CSP Enforcement Is Live — Here's What to Do If Your Scripts Are Broken</a></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><span><a href="https://learn.microsoft.com/en-us/sharepoint/dev/spfx/content-securty-policy-trusted-script-sources">Support for CSP in SharePoint Online, Microsoft Learn<br/></a></span><span><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></span></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><br/></blockquote><div><span><span><br/></span></span></div></div>
</div></div></div></div></div><div data-element-id="elm_3ZbIXMp_bplALZzuFc1h1g" 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_Od3bzyBWoLtQccRrRMlQ3w" 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_nh_UJO7sxasukwhsaPYSXQ" 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_p_4CH1Hr4oUZ3mpXl5AC2w" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdark-section zpdark-section-bg "><style type="text/css"> [data-element-id="elm_p_4CH1Hr4oUZ3mpXl5AC2w"].zpelem-box{ background-color:#001B4C; background-image:unset; } </style><div data-element-id="elm_75-2iHH7WrHRnwZ5HIRglg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-center zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Not sure where to start with CSP?</strong><br/></h3></div>
<div data-element-id="elm_rH2SMxg2QFsrgy3H52qg9A" 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 style="text-align:center;margin-bottom:8px;"><div><p style="margin-bottom:28px;font-style:italic;"><span style="font-size:16px;">Chat to us and let's help you navigate this change.</span></p><span style="font-weight:700;"><a href="https://www.gtconsult.com/contact"></a></span></div></div><p></p></div>
</div><div data-element-id="elm_8uXoyqeqm52XT5S4ty3lVg" data-element-type="button" class="zpelement zpelem-button "><style> [data-element-id="elm_8uXoyqeqm52XT5S4ty3lVg"].zpelem-button{ margin-block-start:-5px; } </style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-roundcorner " href="https://outlook.office.com/bookwithme/user/6bd34779624c4a8ab5f3906f5e71baf7%40gtconsult.com/meetingtype/Cfseq1rTWEyZRk62iTNVAw2?anonymous&amp;ismsaljsauthenabled=true"><span class="zpbutton-content">Book a Free Consultation with Our Technical Account Manager, Trevin</span></a></div>
</div><div data-element-id="elm_tv732cnkGpC8RoJYpyb1BQ" data-element-type="spacer" class="zpelement zpelem-spacer "><style> div[data-element-id="elm_tv732cnkGpC8RoJYpyb1BQ"] div.zpspacer { height:30px; } @media (max-width: 768px) { div[data-element-id="elm_tv732cnkGpC8RoJYpyb1BQ"] div.zpspacer { height:calc(30px / 3); } } </style><div class="zpspacer " data-height="30"></div>
</div></div></div></div></div></div></div> ]]></content:encoded><pubDate>Tue, 31 Mar 2026 12:11:08 +0000</pubDate></item><item><title><![CDATA[SharePoint CSP Enforcement Is Live — Here's What to Do If Your Scripts Are Broken]]></title><link>https://www.gtconsult.com/blogs/post/sharepoint-csp-enforcement-is-live-—-here-s-what-to-do-if-your-scripts-are-broken</link><description><![CDATA[<img align="left" hspace="5" src="https://www.gtconsult.com/Blog Site/bROKEN sCRIPTS.png"/>SharePoint CSP enforcement broke your scripts? Learn how to diagnose CSP violations, fix inline JavaScript, and register trusted sources in SharePoint Online after the 1 March 2026 deadline.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_JlBbArKeROui0v2FXVIzqw" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm__ySjZpf_Q5m2x5H2t8DhAg" 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_iTIyUCKNQo-NNv5r6KbnXQ" 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_F5xiAV7PQhCYxliSTKGY7g" 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><span style="font-style:italic;">Microsoft flipped the switch on March 1. If your web parts or custom solutions are suddenly misbehaving, Content Security Policy enforcement is likely the culprit. Here's how to diagnose and fix it.</span></span></p></div>
</div><div data-element-id="elm_y84eyVjKieyYxHSZE9h2PA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_y84eyVjKieyYxHSZE9h2PA"] .zpimage-container figure img { width: 862px !important ; height: 484px !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/Freak%20Out%20Panic%20GIF.gif" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_0rvVra6YVcKDivZhYjlamg" 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 style="margin-bottom:20px;">On 1 March 2026, Microsoft moved SharePoint Online's Content Security Policy (CSP) from report-only mode into full enforcement. That means non-compliant scripts are no longer just being logged, they're being&nbsp;<span style="font-weight:600;">blocked</span>. If something in your environment stopped working around that date, there's a good chance CSP is the reason.</p><p style="margin-bottom:20px;">This post walks you through how to confirm CSP is the issue, understand what's being blocked and why, and fix it, without breaking anything else in the process.</p></div><p></p></div>
</div><div data-element-id="elm_hfrLBq5gAsxnSPWo9PJYUw" 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>Step 1: Confirm CSP Is the Culprit</strong></h3></div>
<div data-element-id="elm_1CtLYqPP1JHlVvtqxqQY3g" 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><span>Before diving into fixes, verify that CSP enforcement is actually what's blocking your scripts. The fastest way is through the browser console.</span></span></p></div>
</div><div data-element-id="elm_w_MBbIMF6PltojDnl-7ngQ" 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><ol><li>Open the affected SharePoint page in your browser.</li><li>Press&nbsp;<span style="font-family:&quot;Courier New&quot;, monospace;background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);"> F12&nbsp;</span> to open Developer Tools and navigate to the Console tab.</li><li>Look for errors beginning with&nbsp;&nbsp;<span style="font-family:&quot;Courier New&quot;, monospace;background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">Refused to execute script </span>&nbsp;or containing&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);"><span style="font-family:&quot;Courier New&quot;, monospace;">Content-Security-Policy&nbsp;</span></span>.</li><li>Alternatively, append&nbsp;<span style="font-family:&quot;Courier New&quot;, monospace;background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);"> ?csp=enforce </span>&nbsp;to the page URL to trigger enforcement mode explicitly and surface violations immediately.</li></ol></div>
</div><div data-element-id="elm_YGWgrTGmL6dhtuSfMdrI3Q" 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><span>If you're seeing CSP violation errors, you're in the right place. If not, the issue may be something else. Check network errors or JavaScript exceptions separately.</span></span></p></div>
</div></div></div></div></div><div data-element-id="elm__GHuxlVbA11FzHnzghrshg" 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_fKXU-l1bWvSlNefZg5cEcg" 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_KAy_qLw4wb0PbMWUTTIWVw" 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_ekM2Bw3eIr0FUiKtH2gWvA" 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>Step 2: Identify What's Being Blocked</strong></h3></div>
<div data-element-id="elm_6GI90XA0XyMCPbAwRPO26g" 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><span>CSP violations in SharePoint Online generally fall into two categories:&nbsp;</span><span style="font-weight:600;">inline scripts</span><span>&nbsp;and&nbsp;</span><span style="font-weight:600;">untrusted external sources</span><span>.</span></span></p></div>
</div><div data-element-id="elm_dACnocdr5by5gpVhmC2p0w" data-element-type="imageheadingtext" class="zpelement zpelem-imageheadingtext "><style> @media (min-width: 992px) { [data-element-id="elm_dACnocdr5by5gpVhmC2p0w"] .zpimageheadingtext-container figure img { width: 313px !important ; height: 313px !important ; } } </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-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/Looking%20Where%20Are%20You%20GIF%20by%20Pudgy%20Penguins.gif" data-src="/Blog%20Site/Looking%20Where%20Are%20You%20GIF%20by%20Pudgy%20Penguins.gif" size="custom" 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>Inline Scripts<br/></span></h3><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p><span><span>Any JavaScript written directly into a page, web part, or solution using&nbsp;<span style="font-family:&quot;Courier New&quot;, monospace;background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">&nbsp;</span></span><code><span style="font-family:&quot;Courier New&quot;, monospace;background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">innerHTML&nbsp;</span>&nbsp;</code><span>,&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">&nbsp;</span></span><code><span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);"><span style="font-family:&quot;Courier New&quot;, monospace;">document.write()</span>&nbsp;</span>&nbsp;</code><span>, or script tags without a proper source reference will be blocked. Microsoft has confirmed that&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">&nbsp;</span></span><code style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">unsafe-inline&nbsp;</code><span>&nbsp;is not permitted and that nonce values will not be exposed, so there is no workaround here. These scripts must be refactored.</span></span></p><p><span><span><br/></span></span></p><p><span><span></span></span></p><div><h3></h3></div><div><h3 style="margin-bottom:10px;">Untrusted External Sources</h3><div><span><span>Scripts loaded from external URLs (CDNs, third-party services, custom hosted libraries) that haven't been added to your SharePoint tenant's Trusted Script Sources list will also be blocked. Note that standard SPFx bundles deployed via&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">&nbsp;</span></span><code style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">cdnBasePath</code><span><span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">&nbsp;</span> or declared in&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">&nbsp;</span></span><code style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">externals</code><span><span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">&nbsp;</span> in your config are auto-trusted, it's dynamic loading via&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">&nbsp;</span></span><code style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">SPComponentLoader.loadScript()&nbsp;</code><span>&nbsp;or ad-hoc external references that need manual registration.</span></span><br/></div></div><br/><p></p></div>
</div></div></div><div data-element-id="elm_mOWsCtUcNteYCYALP4q7Ug" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_mOWsCtUcNteYCYALP4q7Ug"].zpelem-box{ background-color:#ECF0F1; background-image:unset; border-style:solid; border-color:#A6CE39 !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:5px; } </style><div data-element-id="elm_DhcfJmdwiJuT4EhTQjRgxw" 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"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><p><span><span style="margin-bottom:6px;font-weight:600;">TENANT-WIDE AUDIT</span></span></p></blockquote></div>
</div><div data-element-id="elm_rnmNIJtk6eMEAoVd_rC16Q" 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"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><p><span><span>Go to Microsoft Purview and search for&nbsp;</span><span style="margin-bottom:6px;font-weight:600;">&quot;<span style="color:rgb(166, 206, 57);">Violated Content Security Policy</span>&quot;&nbsp;</span><span>in the audit log. This gives you a full picture of which pages and scripts have triggered violations across your entire tenant, not just the one page you're looking at.</span></span></p><p><span><span><br/></span></span></p></blockquote></div>
</div></div></div></div></div></div><div data-element-id="elm_KEv-U4Ca6DQzMQczVw-bzA" 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_1rV5-ALCygGG8HRBGFd3mw" 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_c6xc0TVoOPR00Qlu21Q8dw" 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_A3BGzOhe70IyTdddyuW5RQ" 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>Step 3: Fix Inline Scripts</strong></h3></div>
<div data-element-id="elm_meag7RQcmyEJuBLU1WRWSg" 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><span>Inline scripts need to be moved into external&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">&nbsp;</span></span><code style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">.js&nbsp;</code><span>&nbsp;files and hosted in a trusted location. The typical path for SPFx solutions:</span></span></p></div>
</div><div data-element-id="elm_RCDcvwmmiQ0sFP2mC49-eA" 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><ol><li>Extract the inline JavaScript into a standalone&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);"> .js&nbsp;</span> file.</li><li>Deploy the file to a trusted location (e.g., SharePoint document library, Azure Blob Storage, your CDN).</li><li>Reference it as an external module within your SPFx solution rather than injecting it inline.</li><li>Register the script source as a Trusted Script Source (see Step 4).</li></ol></div>
</div><div data-element-id="elm_6m7EQfNHcwtUzTMpmkqK5A" 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><span>For scripts embedded directly in classic-style page layouts or content editor web parts, the same logic applies, extract, host externally, reference externally.</span></span></p></div>
</div><div data-element-id="elm_dQYvqRaWOUiT6kZc49itQg" 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>Step 4: Register Trusted Script Sources</span></strong></h3></div>
<div data-element-id="elm_dHKHl9I8fLTOXl8bjDybKA" 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><span>For any external URL your solutions load scripts from, you need to add that domain to SharePoint's Trusted Script Sources list. This is done in the SharePoint Admin Center.</span></span></p></div>
</div><div data-element-id="elm_l93duRYcaUVRZCjfjHk_og" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_l93duRYcaUVRZCjfjHk_og"] .zpimagetext-container figure img { width: 23px !important ; height: 23px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/Copy%20of%20Copy%20of%20Secure%20score%20carousel%20-2-.png" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p>Go to&nbsp;<span style="font-weight:600;">SharePoint Admin Center → Advanced → Trusted Script Sources</span>&nbsp;(or use PowerShell).</p></div><p></p></div>
</div></div><div data-element-id="elm_49oMtvAnwwXxcxf97JUX5g" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_49oMtvAnwwXxcxf97JUX5g"] .zpimagetext-container figure img { width: 23px !important ; height: 23px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/Copy%20of%20Copy%20of%20Secure%20score%20carousel%20-3-.png" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><p></p><div><p>Add the full domain or path of the external script source. Wildcards are limited, subdomains must be registered individually.</p></div><p></p><p></p></div>
</div></div><div data-element-id="elm_93me_ksQSOiaFweHBkG0IA" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_93me_ksQSOiaFweHBkG0IA"] .zpimagetext-container figure img { width: 23px !important ; height: 23px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/Copy%20of%20Copy%20of%20Secure%20score%20carousel%20-4-.png" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p><span>Note the 300 entry limit across your tenant. Audit carefully before adding everything.</span></p></div><p></p></div>
</div></div><div data-element-id="elm_i69HLMIE0ni_943ZkBfKbA" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_i69HLMIE0ni_943ZkBfKbA"] .zpimagetext-container figure img { width: 23px !important ; height: 23px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/Copy%20of%20Copy%20of%20Secure%20score%20carousel%20-5-.png" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p><span>Changes can take up to 24 hours to propagate across your tenant.</span></p></div><p></p></div>
</div></div><div data-element-id="elm_ctoXuMt9AxzU9reosTs0wQ" 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><span>Via PowerShell:</span></span></p></div>
</div><div data-element-id="elm_5U-4PfFgccroxGbhR6lGzA" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_IBJtMmV_HN0vLFAWoXTxBw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_IBJtMmV_HN0vLFAWoXTxBw"].zpelem-text { background-color:#001B4C; background-image:unset; border-style:solid; border-color:#A6CE39 !important; border-block-start-width:1px; border-inline-end-width:1px; border-block-end-width:1px; border-inline-start-width:6px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><p></p><div><pre style="margin-bottom:28px;"><span style="font-family:&quot;Courier New&quot;, monospace;"><span style="color:rgb(166, 206, 57);"><br/>Add-SPOTenantCdnOrigin -CdnType Private -OriginUrl &quot;https://yourdomain.com/scripts&quot;</span></span></pre></div><p></p></blockquote></div>
</div></div></div></div></div></div><div data-element-id="elm_Yw9Ps3j5jzQnD7q-UgWTbw" 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_WU3YlmnNnTjKkyJU_dSD4Q" 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_3cEfaDqcxWBriC9THUiCuQ" 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_m8IK40gwtTPZskTD4IxrBg" 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>Step 5: Coordinate With Third-Party Vendors</strong></h3></div>
<div data-element-id="elm_757iSwUXx5BmO6eeSeR8vA" 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 style="margin-bottom:20px;">If your SharePoint environment includes solutions from third-party vendors, analytics tools, chatbots, form builders, or similar, those vendors may need to update their products to be CSP-compliant. Reach out to them with the specific violation URLs from your Purview audit and ask for a compliance timeline.</p><p style="margin-bottom:20px;">In the meantime, you can temporarily register their script sources as trusted, but the long-term fix needs to come from their end if their solutions use inline scripting patterns.</p></div><p></p></div>
</div><div data-element-id="elm_6Ma8PrVKz7twPmSMo-JpZQ" 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>If You're Still on the 90-Day Delay</span></strong></h3></div>
<div data-element-id="elm_d0IEmWOdqxAck3bLuHJhwQ" 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><span>Some tenants enabled the 90-day enforcement delay using&nbsp;<span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">&nbsp;</span></span><code><span style="background-color:rgb(0, 27, 76);color:rgb(166, 206, 57);">Set-SPOTenant -DelayContentSecurityPolicyEnforcement $true&nbsp;</span>&nbsp;</code><span>before 1 March. If that's you, your enforcement date is&nbsp;</span><span style="font-weight:600;">1 June 2026</span><span>, and it will arrive faster than you think. Use this guide now while you still have the buffer.</span></span></p></div>
</div><div data-element-id="elm_Z1i6hqjMX6RByjb63q0h7Q" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_Z1i6hqjMX6RByjb63q0h7Q"].zpelem-box{ background-color:#ECF0F1; background-image:unset; border-style:solid; border-color:#A6CE39 !important; border-block-start-width:0px; border-inline-end-width:0px; border-block-end-width:0px; border-inline-start-width:5px; } </style><div data-element-id="elm_R3C5fVvgQJG5taBIzKKyrQ" 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"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><p><span><span style="margin-bottom:6px;font-weight:600;">FURTHER READING</span></span></p></blockquote></div>
</div><div data-element-id="elm_nQzEhkS31J4tyfCb_RlvEA" 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"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><blockquote style="margin-left:40px;border:none;"><a href="https://www.gtconsult.com/blogs/post/still-on-the-90-day-csp-delay-your-1-june-deadline-is-coming" title="Still on the 90-Day CSP Delay? Your 1 June Deadline Is Coming" target="_blank" rel="">Still on the 90-Day CSP Delay? Your 1 June Deadline Is Coming</a></blockquote><blockquote style="margin-left:40px;border:none;"><p><a href="https://learn.microsoft.com/en-us/sharepoint/dev/spfx/content-securty-policy-trusted-script-sources">Support for CSP in SharePoint Online, Microsoft Learn</a></p><p><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></p><p><br/></p></blockquote></blockquote></div>
</div></div></div></div></div></div><div data-element-id="elm_985slfZTR4k2ttRSbSmS5w" 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_xzVCl9up0AagLZJdU3YuDA" 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_OPiyNqZOORX7qw_D4WaPfg" 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_xW6xLO2np-KPSjiRwKVaEQ" 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>Still dealing with broken scripts after CSP enforcement?</span></h3></div>
</div></div></div></div><div data-element-id="elm_m1WjnY7aKkk-kIQT-FIXEg" 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_lfVophjrGg8fwbIKQtky6w" 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_aeLH76DFxhLwc7cGquF0rg" 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_-1ybMYiXbQSrXh1qhSgOIQ" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdark-section zpdark-section-bg "><style type="text/css"> [data-element-id="elm_-1ybMYiXbQSrXh1qhSgOIQ"].zpelem-box{ background-color:#001B4C; background-image:unset; } </style><div data-element-id="elm_lR9Tn2hQXp3BPbLtMeeYhg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h3
 class="zpheading zpheading-style-none zpheading-align-center zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><strong>Not sure where to start with CSP?</strong><br/></h3></div>
<div data-element-id="elm_i4q2Vzh5RsiZyQhQrjv7XQ" 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 style="text-align:center;margin-bottom:8px;"><div><p style="margin-bottom:28px;font-style:italic;"><span style="font-size:16px;">Chat to us and let's help you navigate this change.</span></p><span style="font-weight:700;"><a href="https://www.gtconsult.com/contact"></a></span></div></div><p></p></div>
</div><div data-element-id="elm__VFsH1zQMu4Icm-_Sw9O1A" data-element-type="button" class="zpelement zpelem-button "><style> [data-element-id="elm__VFsH1zQMu4Icm-_Sw9O1A"].zpelem-button{ margin-block-start:-5px; } </style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-roundcorner " href="https://outlook.office.com/bookwithme/user/6bd34779624c4a8ab5f3906f5e71baf7%40gtconsult.com/meetingtype/Cfseq1rTWEyZRk62iTNVAw2?anonymous&amp;ismsaljsauthenabled=true"><span class="zpbutton-content">Book a Free Consultation with Our Technical Account Manager, Trevin</span></a></div>
</div><div data-element-id="elm_4Y45PwLDQLXa_hn4558z0A" data-element-type="spacer" class="zpelement zpelem-spacer "><style> div[data-element-id="elm_4Y45PwLDQLXa_hn4558z0A"] div.zpspacer { height:30px; } @media (max-width: 768px) { div[data-element-id="elm_4Y45PwLDQLXa_hn4558z0A"] div.zpspacer { height:calc(30px / 3); } } </style><div class="zpspacer " data-height="30"></div>
</div></div></div></div></div></div></div> ]]></content:encoded><pubDate>Mon, 30 Mar 2026 16:25:43 +0000</pubDate></item><item><title><![CDATA["We'll Deal With It When the Time Comes" — The SharePoint Strategy That Always Backfires]]></title><link>https://www.gtconsult.com/blogs/post/we-ll-deal-with-it-when-the-time-comes-—-the-sharepoint-strategy-that-always-backfires</link><description><![CDATA[<img align="left" hspace="5" src="https://www.gtconsult.com/Blog Site/Migration Deadline Write Up Thumbnail.png"/>Why delaying your SharePoint migration could cost you more than you think — and what to do before the 2026 deadline hits.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_NiYqaGYAfTHsBENWKJpjag" 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_pffZYMWpkV3k50ekZ9oDlg" 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_FxWTgT0Q8WTlXvfibgzZWQ" 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_M9fGn0lcT-qT32wgMJiG0g" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_M9fGn0lcT-qT32wgMJiG0g"] .zpimagetext-container figure img { width: 500px !important ; height: 267px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original 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/terminator%20ill%20be%20back%20GIF.gif" size="original" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p style="margin-bottom:8pt;">Every IT leader has said some version of this at some point. You're managing a full pipeline, your team is stretched, the system is still working fine, and the deadline feels like it's far enough away to worry about later. So you shelve it.</p><p style="margin-bottom:8pt;">Until it's not later anymore. Until it's now. And by then, the timeline that would have been comfortable has become a crisis.</p><p style="margin-bottom:8pt;">We see this pattern repeatedly with SharePoint migrations. And with the July 14, 2026 end of support for SharePoint Server 2016 and 2019 fast approaching — along with an April 2 deadline for classic workflows and Add-Ins — the gap between &quot;we'll get to it&quot; and &quot;we're out of time&quot; is closing faster than most organisations realise.</p></div><p></p></div>
</div></div><div data-element-id="elm_gVFnQfWAHe7FTmHTbNq2Mw" 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>Why Migrations Take Longer Than Anyone Expects</strong></h3></div>
<div data-element-id="elm_-W6IYiA9efkn1awpAirByA" 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 style="margin-bottom:8pt;">Here's something that surprises people who haven't been through a full SharePoint migration: the actual moving of data is often not the hardest part.</p><p style="margin-bottom:8pt;">Before you migrate a single document, you need to know what you have. That means auditing every site collection, every document library, every custom permission level, every workflow, every Add-In, every integration that touches SharePoint. In environments that have been running for five or ten years, that audit alone can take weeks.</p><p style="margin-bottom:8pt;">Then comes the conversation about what to bring across, what to rebuild, and what to retire. Classic SharePoint Designer workflows won't survive the migration to SharePoint Online as-is. They need to be rebuilt in Power Automate. Add-Ins built on the retiring framework need to be redesigned using modern solutions. InfoPath forms need to be replaced.</p><p style="margin-bottom:8pt;">None of that is technically impossible. All of it takes time.</p></div><p></p></div>
</div><div data-element-id="elm_7FZuD3AVuRkuXjJm6IoEIQ" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_7FZuD3AVuRkuXjJm6IoEIQ"].zpelem-box{ background-color:#CEEBF3; background-image:unset; } </style><div data-element-id="elm_lQ-ukQ6dJ5hMdTI6Ds5pUw" 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><i><span><strong>&quot;Migrations can take 6 to 18 months depending on complexity. A last-minute migration is a recipe for budget overruns, data loss, and business disruption.&quot;</strong></span></i></p><p></p><div><div style="margin-left:18pt;margin-right:18pt;"><div style="margin-left:18pt;margin-right:18pt;"><p><i><br/></i></p></div>
</div></div></div></div></div></div></div></div></div><div data-element-id="elm_yMn2jTWc6Iud8McmntAigQ" 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_BUe_MKCQJIjV_c-_GlGUpQ" 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_SmyVbAKN2dcjjTI56kzzsg" 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_YHHwD3OFZywWw9GhlFUUCw" 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>The Two Deadlines Running in Parallel</strong></h3></div>
<div data-element-id="elm_OREoqEMVadbHLOr2xgvzJw" 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>One of the things that catches organisations off-guard is that there are effectively two separate timelines to manage, not one.</div><br/></div><p></p><div><ul><li><strong>April 2, 2026</strong>: SharePoint Add-Ins and classic SharePoint 2013 workflows retire. Any business process built on these frameworks stops working. This isn't a 'soft' retirement with a grace period — it's a hard cutoff.</li></ul></div><div><div><ul><li><span style="font-weight:bold;">July 14, 2026</span>: SharePoint Server 2016 and 2019 lose all support. Security patches stop. Bug fixes stop. Vendor-assisted support stops.</li></ul></div><br/><div>If you're planning a migration and only thinking about July, you may already be behind. If your environment has classic workflows or Add-In dependencies, April is the real pressure point.</div></div></div>
</div></div></div></div></div><div data-element-id="elm_FjWmPb3Qbv2zV9iwc4IpZw" 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_koIZ4g2B6TYLnPy3wqkA3g" 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_3pIm_s--k3qqn2OuMJOMfw" 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_CbD7tsS53qEscZzavl8pUg" 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>What a Late Start Actually Costs You</span></strong></h3></div>
<div data-element-id="elm_-fqyCXJSCuAtCtGXcpZNxw" 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 style="margin-bottom:8pt;">Let's talk about what happens when organisations start their migration planning in Q1 2026 instead of now. A few things tend to happen:</p></div><p></p></div>
</div><div data-element-id="elm_DzTrBniqMkEjoGSzFHiM5A" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_DzTrBniqMkEjoGSzFHiM5A"] .zpimagetext-container figure img { width: 480px !important ; height: 270px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original 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/This%20Is%20Fine%20GIF%20-2-.gif" size="original" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><ul><li>The migration gets compressed. Work that should take six months gets squeezed into three. Corners get cut. Testing is abbreviated. Change management gets dropped entirely because there isn't time.</li><li>Business disruption goes up. A rushed migration means more unexpected issues, more downtime, more user confusion, and more IT firefighting during the transition.</li><li>Cost increases. Emergency timelines require more resources. What would have been a measured, well-planned project becomes an expensive sprint.</li><li>Post-migration problems linger. Without proper testing and user adoption planning, teams end up with a technically completed migration and practically no adoption. You've moved the files but nobody knows how to work in the new environment.</li></ul></div>
</div></div></div></div></div></div><div data-element-id="elm__FUp_fO0pq3LaGlHsXFPVg" 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_MIyMxOuKBSjTkvPpAmQHgA" 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_xIi68-leFLdIh6vp9BsmIg" 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_5UhB3BBM4osswVWUA90Kig" 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 a Well-Planned Migration Actually Looks Like</strong></h3></div>
<div data-element-id="elm_rvyWX-6Cgre-itEAVn0EKQ" 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"><div><p style="margin-bottom:8pt;">A properly planned SharePoint migration isn't just a technical exercise. It has several distinct phases, and each one has genuine business value:</p><p style="margin-bottom:8pt;"><span></span></p><ul><li><strong>Environment assessment</strong>: Understanding exactly what you have — content, customisations, permissions, integrations, and ROT (redundant, obsolete, and trivial) content that doesn't need to move at all.</li><li><strong>Workflow and Add-In inventory</strong>: Cataloguing every automated process and identifying what needs to be rebuilt in modern tools like Power Automate and Power Apps.</li><li><strong>Migration path decision</strong>: Choosing between SharePoint Online, SharePoint Subscription Edition, or a hybrid approach based on your compliance requirements and cloud strategy.</li><li><strong>Phased execution</strong>: Running pilot migrations, validating, then executing in phases with proper testing at each stage.</li><li><strong>Change management and adoption</strong>: Making sure your users understand what's changed, why it changed, and how to work effectively in the new environment.</li></ul></div><div><p style="margin-bottom:8pt;">Start that process now and you have time to do each of those things properly. Start it in January 2026 and you're making hard choices under pressure.</p></div></div>
</div><div data-element-id="elm_iYwMbFqfWxS60QWNYOZi6A" 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>The Honest Conversation Your Team Needs to Have</strong></h3></div>
<div data-element-id="elm_F3wO511ovgmXsRegqPyH1A" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_F3wO511ovgmXsRegqPyH1A"] .zpimagetext-container figure img { width: 570.86px !important ; height: 322px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/Season%204%20Omg%20GIF%20by%20grown-ish.gif" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><div>If your organisation is still on SharePoint Server 2016 or 2019, there's a conversation that needs to happen — and it shouldn't be between the IT team and the calendar. It needs to involve business leaders, finance, compliance, and operations, because this decision affects everyone.</div><div><br/></div><div>The questions are straightforward:</div></div><p></p><ul><li>How much of our business depends on SharePoint working reliably?</li><li>What happens to our compliance posture if we're running unsupported software?</li><li>What's the real cost of disruption if something breaks post-July 2026 with no Microsoft support?</li><li>What would a controlled, planned migration cost compared to a reactive one?</li></ul><div><div><br/></div><div>Those aren't questions IT can answer alone. And the longer they stay in the IT queue without executive visibility, the more limited your options become.</div><br/><div>At GTconsult, we help organisations answer these questions before the pressure builds. An environment assessment gives you the real numbers — what you have, what it'll take to move it, what the sensible timeline looks like.</div></div></div>
</div></div><div data-element-id="elm_gQEeWwPSKLwDz8ltFIHHLQ" data-element-type="codeSnippet" class="zpelement zpelem-codesnippet "><div class="zpsnippet-container"><iframe
 id="JotFormIFrame-260819383656569" title="Migration Assessment Booking" onload="window.parent.scrollTo(0,0)" allowtransparency="true" allow="geolocation; microphone; camera; fullscreen; payment" src="https://form.jotform.com/260819383656569" frameborder="0" style="min-width:100%;max-width:100%;height:539px;border:none;" scrolling="no"></iframe><script src='https://cdn.jotfor.ms/s/umd/latest/for-form-embed-handler.js'></script><script>window.jotformEmbedHandler("iframe[id='JotFormIFrame-260819383656569']", "https://form.jotform.com/")</script></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Tue, 24 Mar 2026 03:44:10 +0000</pubDate></item><item><title><![CDATA[Microsoft 365 Support in South Africa: What a Real Engagement Session Looks Like]]></title><link>https://www.gtconsult.com/blogs/post/microsoft-365-support-in-south-africa-what-a-real-engagement-session-looks-like</link><description><![CDATA[<img align="left" hspace="5" src="https://www.gtconsult.com/Blog Site/Migration Tools Write Up Thumbnailbb.png"/>GTconsult delivers hands-on Microsoft 365 support across South Africa — from dedicated M365 consulting sessions in KwaZulu-Natal to tailored workshops for your team.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_WEOXLw74R_KrTe7FzidrYA" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_XY_J5tscRPePcUzg0LN-9w" 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_B-kQkhUZQ5mwuXqNh6p-OQ" 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_9elLLy2ZT7y4Mea-JVAG6w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h4
 class="zpheading zpheading-align-center zpheading-align-mobile-center zpheading-align-tablet-center " data-editor="true"><span style="font-size:16px;">GTconsult | Microsoft Solutions Partner | South Africa</span></h4></div>
<div data-element-id="elm_8SeeDo7X9ukA2Vp4PE2uOw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_8SeeDo7X9ukA2Vp4PE2uOw"] .zpimage-container figure img { width: 1110px ; height: 624.38px ; } } </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-fit 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/Migration%20Tools%20Write%20Up%20Thumbnailbb.png" size="fit" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_JK-pCLyuQX6hubFzwVfaIQ" 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></p><div><p style="margin-bottom:10pt;"></p><div><p style="text-align:left;margin-bottom:10pt;">When organisations across South Africa talk about Microsoft 365 support, they usually mean someone who responds to tickets. At GTconsult, we think that sets the bar too low.</p><p style="text-align:left;margin-bottom:15pt;">Real Microsoft 365 support means getting into the room (or onto the call) with your team, understanding your environment from the inside, and building a roadmap that is actually grounded in how your organisation works. That is what we do; and last week, we did exactly that in KwaZulu-Natal.</p></div><p style="margin-bottom:15pt;"></p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_Yi9GaxcnVwppPmUkh6wGxQ" 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_NBHfU7vAnDPVU8s5FxWS8g" 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_hSbctSnyV5EjcB740z0ZdA" 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_WjuBaTP90bVP6mgkcfcmpg" 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 style="color:rgb(0, 27, 76);">M365 Consulting in KwaZulu-Natal: A Session Worth Talking About</strong></h3></div>
<div data-element-id="elm_aJszjGtqWGao-jcUD-uoRw" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_aJszjGtqWGao-jcUD-uoRw"] .zpimagetext-container figure img { width: 500px ; height: 332.50px ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-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/8-1.png" size="medium" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><p style="margin-bottom:10pt;"></p><div><div>Our Support Manager Barend Olivier and Technical Account Manager Trevin Daniel Pillay, and allegedly Boitumelo behind the camera, travelled to KwaZulu-Natal for a dedicated M365 consulting engagement with one of our long-standing clients: a leading agricultural association in the region.</div><br/><div>This client is part of our A Team, GTconsult's premium support tier reserved for organisations that want more than reactive IT assistance. It is a relationship built on proactive engagement, priority access, and a genuine investment in the client's long-term technology success; this session was exactly that in action.</div><br/><div>This was not a sales call or a routine check-in. It was a focused, structured session (the kind that only becomes possible when you have the trust and history of a long-term partnership). Our goal: build a clear, honest picture of where their Microsoft 365 environment stands today, and map out the most practical path forward.</div><br/><div>For organisations in the agricultural sector operating in South Africa, digital infrastructure often takes a back seat to operational pressures. But the right Microsoft 365 setup, properly adopted and well-supported, can quietly transform how a team communicates, collaborates, and gets work done.</div></div><p style="margin-bottom:15pt;"></p></div><p></p></div>
</div></div></div></div></div></div><div data-element-id="elm_NsBb5UrDnLtP2VSZJIGEyw" 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_4W3rH6yKManRtlBr0If6-w" 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_Eu6RWre_afWql4JxPlUHAg" 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_vzQoreqjm64zqE6RE7OvOg" 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 style="color:rgb(0, 27, 76);">Why Dedicated Microsoft 365 Support Matters for South African Organisations</strong></h3></div>
<div data-element-id="elm_wxvL6Csskd9JwORc32A9Ew" 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 style="margin-bottom:10pt;">Whether you are a large association, an SME, or a sector body navigating complex stakeholder environments, the challenge with Microsoft 365 is rarely the technology itself. It is adoption; it is knowing which tools to prioritise; it is having a partner who understands your context before prescribing a solution.</p><p style="margin-bottom:10pt;">That is why our approach to IT support (for the agricultural sector in South Africa and across every industry we serve) starts with listening. We ask the hard questions: Where are the gaps? Which tools are going unused? What is creating friction for your team day-to-day? And what does a realistic, achievable roadmap actually look like for your organisation?</p><p style="margin-bottom:10pt;">For our A Team clients, this kind of session is part of the package; not an add-on, not a special occasion. It is what a premium, long-term Microsoft 365 support relationship looks like in practice.</p><p style="margin-bottom:15pt;"><i>Quietly, intentionally, and with a clear plan. No fanfare. Just the work.</i></p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_wH04GV3JTJDNklOaxBFplw" 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_Z8EdJNKEgHIk63syfQF1cg" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_610sMgtuJhR1vevg-yIRsg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_3VbR604Q_DY7DTXFGYyvNQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_3VbR604Q_DY7DTXFGYyvNQ"] .zpimage-container figure img { width: 350px ; height: 233.41px ; } } @media (max-width: 767px) { [data-element-id="elm_3VbR604Q_DY7DTXFGYyvNQ"] .zpimage-container figure img { width:415px ; height:277.36px ; } } </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-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/5-1.png" width="415" height="277.36" loading="lazy" size="fit"/></picture></span></figure></div>
</div></div><div data-element-id="elm_djPrpuI85gwV1SgkIxGOWQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_IL0MfXP5MCQQVhl4YlcTGQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_IL0MfXP5MCQQVhl4YlcTGQ"] .zpimage-container figure img { width: 350px ; height: 233.41px ; } } @media (max-width: 767px) { [data-element-id="elm_IL0MfXP5MCQQVhl4YlcTGQ"] .zpimage-container figure img { width:415px ; height:276.67px ; } } </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-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/7-1.png" width="415" height="276.67" loading="lazy" size="fit"/></picture></span></figure></div>
</div></div><div data-element-id="elm_YsYd58J-48Xw6KmQPJ71ZQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_EeGip9z3Kuuzkffg2-iGPg" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_EeGip9z3Kuuzkffg2-iGPg"] .zpimage-container figure img { width: 350px ; height: 239.53px ; } } @media (max-width: 767px) { [data-element-id="elm_EeGip9z3Kuuzkffg2-iGPg"] .zpimage-container figure img { width:415px ; height:276.67px ; } } </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-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit "><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Site/6-1.png" width="415" height="276.67" loading="lazy" size="fit"/></picture></span></figure></div>
</div></div></div></div></div><div data-element-id="elm_h4pVO2EJVuXok680DeHuNw" 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_AcsFs3aqVUfJ8XDWechYbg" 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_q-ssv7AT3V-99UMkl_myew" 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_nNt3Cgpi4j7eazQALKeDQA" 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 style="color:rgb(0, 27, 76);">Microsoft 365 Workshops in South Africa: Bringing Blue Sky to Your Organisation</strong></h3></div>
<div data-element-id="elm_AOxEaqDbZlkoMJJbULYTNg" 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 style="margin-bottom:10pt;">Not every organisation has the same needs, and that is exactly the thinking behind our Blue Sky Events. Blue Sky is GTconsult's exclusive, interactive Microsoft 365 workshop format, designed to bring certified M365 specialists directly to your team (on-site or virtually) anywhere in South Africa.</p></div><p></p></div>
</div><div data-element-id="elm_DKshjZ0bQUJk31boA8WkqA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h4
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span><span>What to Expect from a Blue Sky Event</span></span></h4></div>
<div data-element-id="elm_5n666YsXkLYdlANgXhoMfw" 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 style="margin-bottom:10pt;">Every Blue Sky session is built around your organisation's specific challenges and goals. There is no generic content, no off-the-shelf slides; just practical, hands-on learning with actionable takeaways your team can implement immediately. Whether that is streamlining collaboration in Teams, unlocking automation through Power Automate, or getting more from tools your team already has access to, we build the session around what actually matters to you.</p><p style="margin-bottom:10pt;">Blue Sky Events are open to everyone: existing GTconsult clients and organisations simply exploring what better Microsoft 365 support in South Africa could look like for them.</p></div><p></p></div>
</div><div data-element-id="elm_vxko7XfCJXOAzpKiPtRXgQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_vxko7XfCJXOAzpKiPtRXgQ"] .zpimage-container figure img { width: 1110px ; height: 411.39px ; } } </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-fit 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="/Blue%20Sky%20Events/Scribble%20-1200%20x%20630%20px-.png" size="fit" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_UNUKMNFJ6TfJe8PUp1GAnQ" 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><p><span style="font-size:12px;font-style:italic;">GTconsult Blue Sky Events bring certified M365 specialists directly to your team, on-site or virtually, anywhere in South Africa.</span></p></div>
</div><div data-element-id="elm_GNuIkPW54s0Owj6hslHU6w" 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 style="color:rgb(0, 27, 76);">Frequently Asked Questions</strong></h3></div>
<div data-element-id="elm_lS48g8UgHM_nfuzCTe411w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h4
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span><span><span>Does GTconsult offer Microsoft 365 support outside of Johannesburg?</span></span></span></h4></div>
<div data-element-id="elm_LpVB2NvGq_l2zPWZc3Pb3Q" 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 style="margin-bottom:10pt;">Yes. GTconsult provides Microsoft 365 support and M365 consulting across South Africa, including KwaZulu-Natal, the Western Cape, and beyond, both on-site and virtually.</p></div><p></p></div>
</div><div data-element-id="elm_tal2HYXCt5r-v-MnBmqTUw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h4
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span><span><span><span>What industries do you support?</span></span></span></span></h4></div>
<div data-element-id="elm_1TeJR-w4pNlXXOjuWT6R4g" 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 style="margin-bottom:10pt;">We work across sectors including agriculture, financial services, insurance, retail, and more. Our M365 consulting approach is tailored to each organisation's context; it is never a one-size-fits-all solution.</p></div><p></p></div>
</div><div data-element-id="elm_jlU-OTaB--4q39eML-2rMA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h4
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span><span><span><span><span>Do I need to be an existing client to attend a Blue Sky Event?</span></span></span></span></span></h4></div>
<div data-element-id="elm_WD3gFAR3DE6tL5p5PXnhOw" 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 style="margin-bottom:15pt;">No. Blue Sky Events are open to any organisation interested in getting more from their Microsoft 365 environment. Whether you are an existing client or brand new to GTconsult, there is a session for you.</p></div><p></p></div>
</div><div data-element-id="elm_lSfXeeIN7Q5xvlYhFOnX_Q" 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><span><b>Ready to map out your Microsoft 365 road ahead?</b></span></strong></h5></div>
<div data-element-id="elm_FsOWtloWuhVcPcCtaxYI5w" data-element-type="button" class="zpelement zpelem-button "><style></style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-roundcorner " href="https://www.gtconsult.com/blue-sky-event-registration" target="_blank" title="Blue Sky Registration"><span class="zpbutton-content">Register for a Blue Sky Event</span></a></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Fri, 20 Mar 2026 08:21:40 +0000</pubDate></item><item><title><![CDATA[If You Haven't Tested Your Security, You Don't Actually Know If It Works]]></title><link>https://www.gtconsult.com/blogs/post/if-you-haven-t-tested-your-security-you-don-t-actually-know-if-it-works</link><description><![CDATA[<img align="left" hspace="5" src="https://www.gtconsult.com/Blog Site/Pen Test Thumbnail.png"/>Most businesses have security in place. But when last did anyone test if it actually works? Discover why penetration testing is the difference between assuming you're secure and knowing you are.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_3D0Tmzb5T9Wa9Wqw-ExulQ" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_Hq-NabZSRhOrQ2_D4C9aCQ" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content- " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_FF1Im4yzRrqxJKBfEV4UTA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_4nOShi1pN_RP5cweEmltTQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_4nOShi1pN_RP5cweEmltTQ"] .zpimage-container figure img { width: 286px !important ; height: 195px !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/Fire%20Elmo%20GIF.gif" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div></div><div data-element-id="elm_5s78W04vb82nVS26UAaSng" 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_NuKHHutt3HtylAu63MvR5w" 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 style="text-align:left;">Most businesses have some form of security in place. Firewalls. Antivirus. Maybe an MFA policy that someone set up a while back. And on paper, that feels like enough.</p><p style="text-align:left;">But here's the uncomfortable question: when last did anyone actually test whether it holds up?</p><p style="text-align:left;">Not a checklist. Not a vendor assurance. An actual, deliberate attempt to break through it, the way an attacker would.</p><p style="text-align:left;">Because there's a significant difference between having security and having security that works.</p></div>
<p></p></div></div></div></div></div></div><div data-element-id="elm_AfqoiiGUNXZCXhMeWvk6Ww" 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_KoWbxoLmdRNRRxWxZeO8hQ" 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_F7yw0W46bZO-2qm96S1qgQ" 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_1fsOWuhQaHy-z_LFJQCvNQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>The gap most businesses don't see<br/></span></h2></div>
<div data-element-id="elm_jErWC9BF9UXo1DPM1hfYvA" 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> Cyber threats aren't theoretical anymore. South Africa is consistently ranked among the most targeted countries on the continent for cyber attacks (and attackers aren't just going after the big corporates). SMEs are increasingly in the crosshairs precisely because they tend to have fewer defences. </div>
<br/><div> What makes this particularly tricky is that most vulnerabilities aren't obvious. They don't announce themselves. They sit quietly in your environment, in a misconfigured permission, an unpatched API, a login page that accepts inputs it shouldn't — waiting for someone who knows what to look for. </div>
<br/><div> And the reality is, the people building and maintaining your systems are focused on making things work. That's the job. Security is a different discipline entirely, and it requires a very different mindset — one that's actively looking for what can go wrong, not just what works. </div>
</div><p></p></div></div><div data-element-id="elm_h7_XPmOop1dAnXlul-p2PA" data-element-type="dividerText" class="zpelement zpelem-dividertext "><style type="text/css"></style><style></style><div class="zpdivider-container zpdivider-text zpdivider-align-center zpdivider-align-mobile-center zpdivider-align-tablet-center zpdivider-width100 zpdivider-line-style-solid zpdivider-style-none "><div class="zpdivider-common">Most breaches don't happen because nobody checked whether the security they had was actually doing its job. businesses had no security. They happen because </div>
</div></div></div></div></div></div><div data-element-id="elm_9ItA4MuDtGsrecanMRMtZg" 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_qZUTDjG0DVI66Qli3NM6Nw" 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_AvVsSZFwptov-BJ1y_q4ew" 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_qcuU8YSR2T9ehNBL1Ztgkg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>What a penetration test actually does<br/></span></h2></div>
<div data-element-id="elm_5Lod1Tr1_OzgFZsdGH1wdQ" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_5Lod1Tr1_OzgFZsdGH1wdQ"] .zpimagetext-container figure img { width: 450px !important ; height: 302px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original 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/Magnify%20Rick%20Moranis%20GIF.gif" size="original" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p><span><span></span></span></p><div><p>A penetration test (done properly) is a controlled, authorised attempt to compromise your systems before a real attacker does.</p><p><br/></p><p>It's not a automated scan. It's not a report that lists every CVE in your environment and calls it a day. It's someone thinking the way an attacker thinks, probing for the paths that matter, and documenting exactly what they found, how they found it, and what the business impact actually is.</p><p><br/></p><p>The output isn't just a list of vulnerabilities. It's clarity. You walk away knowing:</p></div>
<p></p><p><span><span><br/></span></span></p><p><span><span>Where your real exposure is, not just theoretical risk</span><br/><span>What an attacker could realistically access or do</span><br/><span>Which fixes will have the biggest impact on actual security</span><br/><span>Whether your existing controls are doing what you think they're doing</span></span></p></div>
</div></div><div data-element-id="elm_V0gXKYsV4CDyOop0nwSGbw" 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>That last one matters more than people realise. It's not uncommon to find a control that's been in place for years, that everyone assumes is working, that a pen tester can walk straight through in under an hour.</span></p></div>
</div></div></div></div></div><div data-element-id="elm_EkVESAhlM7hptd0LjZy0ZQ" 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_Y7eeXaCjbn309i9SshO5AQ" 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_3aAiKlF3XKm_r2TCYY90lA" 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_9LJtaSe5ncL1CnUqKyPn5Q" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>The business case for testing before something goes wrong<br/></span></h2></div>
<div data-element-id="elm_J_QzvuUZxhsrM3dRBmNjGw" 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>There's a version of this conversation that happens after an incident. After a breach. After data has been exfiltrated, or systems have been locked down by ransomware, or a client calls asking why their data appeared somewhere it shouldn't.</p><p><br/></p><p>That conversation is expensive. Remediation is expensive. Reputational damage is expensive. Regulatory exposure (especially under POPIA) can be very expensive.</p><p><br/></p><p>A penetration test, run proactively, finds the same problems before they become incidents. It's the difference between fixing a lock and explaining to your clients why their data is gone.</p><p><br/></p><p>We've seen it go both ways. Businesses that test regularly catch things early and fix them quietly. Businesses that don't, often find out the hard way — and at the worst possible time.</p></div>
<p></p></div></div><div data-element-id="elm_jPwF5Oy4cAu65U_gYI7cVw" 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 style="color:rgb(166, 206, 57);"><a href="https://www.gtconsult.com/blogs/post/case-study-how-proactive-security-testing-unlocked-enterprise-growth-for-lelapa-ai" title="Read about what happens when you are proactive." target="_blank" rel="">Read about what happens when you are proactive.</a></span></p></div>
</div></div></div></div></div><div data-element-id="elm_cfdasUg-yfPur6Usg6kIKQ" 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_Z6Y28T16096t2ZlNhMEIUA" 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_NsvBFQoB3Pbe3_cH3Z-r0g" 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_yb0lhy9smTvoEKOr0xGMNw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>How often should you be testing?<br/></span></h2></div>
<div data-element-id="elm_HxsrwalybHO6W4vd5p8NAA" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_HxsrwalybHO6W4vd5p8NAA"] .zpimagetext-container figure img { width: 301px !important ; height: 301px !important ; } } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left 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/Join%20Us%20Save%20The%20Date%20GIF%20by%20Similarweb.gif" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><p></p><div><div> There's no universal answer, but a good rule of thumb: any time something significant changes in your environment, test it. New application deployed. Major infrastructure change. New cloud integration. After a security incident, even a minor one. </div>
<br/><div> Beyond that, most organisations benefit from at least an annual assessment, more frequently if you're in a regulated industry or handle sensitive data at scale. </div>
<br/><div> The point isn't to test for the sake of testing. It's to make sure that as your environment evolves, your security posture evolves with it. Because attackers aren't standing still, and neither are the techniques they use. </div>
</div><p></p></div></div></div><div data-element-id="elm_Fq2n_fgWRSt2fRcG82_noQ" data-element-type="divider" class="zpelement zpelem-divider "><style type="text/css"></style><style></style><div class="zpdivider-container zpdivider-line zpdivider-align-center zpdivider-align-mobile-center zpdivider-align-tablet-center zpdivider-width100 zpdivider-line-style-solid "><div class="zpdivider-common"></div>
</div></div><div data-element-id="elm_JeFfODD4vsNC4LokXGrKpA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Find out where your exposure actually is, before someone else does.</span></h2></div>
<div data-element-id="elm_zPLWMAlUv9dLrtDyENZYbw" 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><span>GT Consults offers penetration testing for web applications, internal networks, APIs, and cloud environments. We give you a clear picture of your real risk — and exactly what to do about it.</span></span></p></div>
</div><div data-element-id="elm_7hKyq0OpbSvPI5GQz5_jag" data-element-type="button" class="zpelement zpelem-button "><style></style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-roundcorner " href="https://outlook.office.com/bookwithme/user/6bd34779624c4a8ab5f3906f5e71baf7%40gtconsult.com/meetingtype/Cfseq1rTWEyZRk62iTNVAw2?anonymous&amp;ismsaljsauthenabled=true" target="_blank" title="Book time with our technical account manager "><span class="zpbutton-content">Book a Pen Test Consultation</span></a></div>
</div><div data-element-id="elm_EIWpnOWwc9EKOIAftLg_fg" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"></style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe " src="https://www.youtube.com/embed/e4YSke1x13o?si=FoKco4ey1ySSdg4R" width="560" height="315" align="center" allowfullscreen frameBorder="0" title="YouTube video player"></iframe></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Tue, 17 Mar 2026 10:52:00 +0000</pubDate></item><item><title><![CDATA[Your SharePoint Has an Expiry Date. It's July 14, 2026.]]></title><link>https://www.gtconsult.com/blogs/post/your-sharepoint-has-an-expiry-date.-it-s-july-14-2026.</link><description><![CDATA[<img align="left" hspace="5" src="https://www.gtconsult.com/Blog Site/Migration Tools Write Up Thumbnail.png"/>Microsoft ends support for SharePoint Server 2016 & 2019 on July 14, 2026. No more patches, no safety net. Here's what it means, what's changing in April, and what your options are before the clock runs out.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_VsOQuIEvQU-ISXx6_4Fibg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_sW0gNyldTbKe_qYX3c08oA" 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_IxkDxxpTQreYFiTtemFeCA" 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_-dWlIzZLFYnTPDchON20dA" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"></style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe giphy-embed " src="https://giphy.com/embed/dZd2D5Da1954I" width="480" height="329" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div><div data-element-id="elm_Go-LHD1KS-Wfde4Gk70EUg" 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></p><div><p align="center" style="margin-bottom:12pt;text-align:center;"></p><div><p style="margin-bottom:8pt;">Let's be honest — most people don't think about their SharePoint server the same way they think about their laptop or their phone. Those things feel personal. When they slow down or get old, you notice. SharePoint though? It quietly sits in the background, doing its job, and nobody gives it much thought.</p><p style="margin-bottom:8pt;">Until one day, it becomes a very expensive problem.</p><p style="margin-bottom:8pt;">That day is getting closer. On July 14, 2026, Microsoft officially ends support for SharePoint Server 2016 and SharePoint Server 2019. Both versions. At the same time. No extensions. No emergency patches. No safety net.</p><p style="margin-bottom:8pt;">If your organisation is still running either of those versions, and there are a lot of organisations that are, this is the conversation you need to be having right now.</p></div><p></p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_tB5XUkBUHIjHxfh9g2319A" 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_2VolEt2GoVefH0m_be3S4w" 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_12E-56ANwJFIMgRvYVHSvA" 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_Y-IlAP7gSHcfkmlce243Pw" 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 Does &quot;End of Support&quot; Actually Mean?</strong></h3></div>
<div data-element-id="elm_O92cOACOysO0lVWuZB4Xpw" 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 style="margin-bottom:8pt;">It's a fair question because the phrasing can feel a bit abstract. Here's what it means in plain language:</p><p style="margin-bottom:8pt;">After July 14, 2026, Microsoft will no longer release security updates for SharePoint Server 2016 or 2019. They won't fix bugs. They won't patch vulnerabilities. If a cyber threat specifically targets your version of SharePoint, Microsoft will not respond. You're on your own.</p><p style="margin-bottom:8pt;">Your server won't suddenly shut down. Everything will look exactly the same the morning of July 15. Files will still open. Sites will still load. But underneath that familiar interface, you'll be running a platform that no longer has anyone watching its back.</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_OYcixvHnOkz-Dl5vZ-uiIQ" 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_t4RYgUZVt-ZCmq9KAG-bVg" 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_b-aGt7FNwU4186HOrdxYRA" 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_Uz93-ASP3u2bV9y4tmLR0Q" 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>The April Deadline Most People Are Missing</strong></h3></div>
</div></div></div></div><div data-element-id="elm_wDDfC86hJJD01AuAS8jllA" 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_HYuQz_5wRs_nCK1Uq7XIFQ" 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_OsYQET7pCTGkxuutoddHBQ" 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_V8T0iGBx3RK_XhhMMRvHEA" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"></style><div class="zpiframe-container zpiframe-align-left"><iframe class="zpiframe giphy-embed " src="https://giphy.com/embed/eXo5eC1tK7cas" width="480" height="360" align="left" allowfullscreen frameBorder="0"></iframe></div>
</div></div><div data-element-id="elm_-SI3EKCoRSw9vfBmmraNSg" 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_ZyzTtbcd9cC-h1-r8UPOtQ" 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></span></p><div><p style="margin-bottom:8pt;">Here's what makes this even more urgent: July isn't the only deadline you need to worry about.</p><p style="margin-bottom:8pt;">On April 2, 2026, Microsoft is retiring the SharePoint Add-In model and classic SharePoint 2013 workflows- permanently. If your environment relies on workflows built in SharePoint Designer, approval processes tied to the Add-In framework, or third-party add-ins using Azure ACS authentication, those things will stop working before July even arrives.</p><p style="margin-bottom:8pt;">April 2, 2026. That's less than a year away as you're reading this.</p><p style="margin-bottom:8pt;">This affects more organisations than you'd think. A lot of business-critical processes, finance approvals, HR routing, records management, procurement sign-offs, were built on classic SharePoint workflows. When these retire, they don't just slow down. They break.</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_Mlwoz1FmEjOpqChY_XxiRg" 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_hF8RzuXNnYeL4rinMnMecg" 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_aZNflprInfCovz2UiD5N7Q" 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_K-GGGR_7DkdGW7u3w-o9tg" 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>The Full Timeline at a Glance</strong></h3></div>
</div></div></div></div><div data-element-id="elm_UzSGUN3s-21oM60UdFoXqg" 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_jNJ2oO8IAwpGdYxPupFuAw" 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_wVWUlUiH8i52xxlBy33peQ" 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_ramsD6ocoea5TWj9-a9ueg" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_ramsD6ocoea5TWj9-a9ueg"] .zpimage-container figure img { width: 1110px ; height: 417.12px ; } } </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-fit 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/sharepoint-version-timeline.png" size="fit" data-lightbox="true"/></picture></span></figure></div>
</div></div></div></div></div><div data-element-id="elm_ExVT3SmWPeUZlZjFALAugw" 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_0fYX4ERtW9sMBa0CBd69zA" 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_JDttaQtpTxLEcw7iRyMeDQ" 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_9Nvodbjmn7gPrABpr3CnKQ" 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>Who Should Be Concerned About This?</strong></h3></div>
<div data-element-id="elm_n9brlzqnU9nFw-5bpLFdIw" 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>You should be concerned if:</div></div><p></p><ul><li>Your organisation runs SharePoint Server 2016 or 2019 as your intranet or document management platform</li><li>You have workflows built on SharePoint Designer or classic SharePoint approval processes</li><li>Your business uses custom Add-Ins or third-party integrations built on the Add-In framework</li><li>You handle regulated or sensitive data that requires you to run supported, patched software</li><li>Your IT team manages the SharePoint environment with limited capacity to respond to incidents without vendor support</li></ul></div>
</div></div></div></div></div><div data-element-id="elm_VuUiv9FCjIDtB9RHpraR9Q" 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_9QW8AjC2nAFoqWig5TfBYw" 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_0EBuTUfgE9dH-gnifaEUWw" 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_HN9wY2ZLPdMV1-d1WaHIgQ" 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 Are Your Options?</strong></h3></div>
</div></div></div></div><div data-element-id="elm_WZJNCkMVIU6IaHjnzN7GJw" 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_pXgV3iEPMHy-ZjFLH_gx0Q" 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_9rS6RVJ27Kk1BaHODO_Q2Q" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_hgG9FnurOrYZ4Ha-LBCjLA" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"> [data-element-id="elm_hgG9FnurOrYZ4Ha-LBCjLA"].zpelem-iframe{ margin-block-start:2px; } </style><div class="zpiframe-container zpiframe-align-left"><iframe class="zpiframe giphy-embed " src="https://giphy.com/embed/Uni2jYCihB3fG" width="480" height="298" align="left" allowfullscreen frameBorder="0"></iframe></div>
</div></div><div data-element-id="elm_BkPxlR3F_jHEYuyMG8wwAw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-8 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_1KdFdmaNEtC41G7glliKsQ" 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>The good news is that you have choices. You're not being forced into one path. But each path takes time to execute properly, and that time is the thing most organisations underestimate.</div></div><p></p><ul><li><span style="font-weight:bold;">SharePoint Online (Microsoft 365)</span>: The cloud-first path. Continuous updates, automatic security patches, Copilot AI integration, and the ability for your team to collaborate from anywhere. Microsoft's preferred destination.</li></ul><div><ul><li><strong>SharePoint Server Subscription Edition (SE)</strong>: The on-premises path for organisations with compliance requirements or data sovereignty constraints. Released in 2021, it runs on Microsoft's Modern Lifecycle — no fixed end-of-life date.</li></ul></div><div><ul><li><strong>Hybrid approach</strong>: Combining on-premises SharePoint SE with SharePoint Online for organisations that need a phased transition or have specific data that must remain local.</li></ul></div></div>
</div></div></div><div data-element-id="elm_SXE86mynPj50rA57Yr3TDQ" 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_NKxxOorXlskyW1rp2szUiA" 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"> [data-element-id="elm_NKxxOorXlskyW1rp2szUiA"].zpelem-col{ margin-block-start:-36px; } </style><div data-element-id="elm_kDn-mQ-_BY3FRDjPcRKXUA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_kDn-mQ-_BY3FRDjPcRKXUA"].zpelem-text { margin-block-start:25px; } </style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>The right path depends on your environment, your data, your compliance requirements, and your team's capacity. What's universal is this: migrations of meaningful size take anywhere from three months to well over a year, depending on complexity. If you haven't started planning, the window is narrowing.</span></p></div>
</div></div></div></div></div><div data-element-id="elm_mCnsDPCJ1BS34cw9iKltiQ" 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_hoR966znlOGiZaybaSSvXA" 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_5iLwDxtnVMCjrKGnuaomoA" 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_Y-imig9MVqSvvdcO41lZLA" 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>The Question Worth Asking Right Now</strong></h3></div>
<div data-element-id="elm_z-j5z5FWZPa-D4UqvF72rg" 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 style="margin-bottom:8pt;">If your SharePoint environment went down tomorrow, not a migration, just an unplanned outage after July 2026, how long could your business operate? Who would you call? What would your IT team do without a Microsoft support ticket to open?</p><p style="margin-bottom:8pt;">That's the risk you're accepting by waiting.</p></div><p></p></div>
</div></div></div></div></div><div data-element-id="elm_uFhzZ5VglKbIhR-vPPqMmg" 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_pzbxMyql35dNFrqXF-z2Ww" 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_c7Pf6_b7umseh_t8lRHKaA" 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_XoC_tviozTw42ACT55QMzw" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"></style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe giphy-embed " src="https://giphy.com/embed/BWxCW1a0LtZSAXsQFK" width="480" height="480" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div></div></div><div data-element-id="elm_nxYNNeqEg-u9RiOjhdxpIQ" 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_-mJIzF7royT5owzR-ooPJg" 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_yimVfdh1KVDKxbhbSdaDIg" 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 style="margin-bottom:8pt;">At GTconsult, we've spent 15 years helping organisations navigate SharePoint migrations. We know what a well-planned migration looks like, and we know what a rushed one costs. The difference is almost always time — specifically, how much of it you have left when you start.</p></div><p></p></div>
</div><div data-element-id="elm_1QphmD0YKas9h9iGGpoWQA" 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>Want to estimate the cost of your migration?</strong></h3></div>
<div data-element-id="elm_Q8Xh9NcMgJ-z1YqvMGZI3A" 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 style="margin-left:18pt;margin-right:18pt;"><p align="center" style="text-align:left;"><span>Use our free Migration Cost Calculator to get an estimate based on your environment size.&nbsp;&nbsp;</span>It takes a few minutes and gives you a starting point for your planning conversations.</p></div>
</div><p></p></div></div><div data-element-id="elm_vHoxT4xjOa2EHJkCT9i2bA" data-element-type="button" class="zpelement zpelem-button "><style></style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-roundcorner " href="https://www.gtconsult.com/access-our-migration-cost-calculator" target="_blank"><span class="zpbutton-content">Access the Free Calculator</span></a></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 12 Mar 2026 14:11:22 +0000</pubDate></item></channel></rss>