<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CSW Solutions</title>
	<atom:link href="http://cswsolutions.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://cswsolutions.com</link>
	<description></description>
	<lastBuildDate>Wed, 28 Oct 2026 19:25:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://cswsolutions.com/wp-content/uploads/2026/02/cropped-CSW-SQ-270x270-1-150x150.png</url>
	<title>CSW Solutions</title>
	<link>https://cswsolutions.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>AEO &#124; A Practical Guide to Answer Engine Optimization</title>
		<link>https://cswsolutions.com/blog/posts/2026/11/answer-engine-optimization/</link>
					<comments>https://cswsolutions.com/blog/posts/2026/11/answer-engine-optimization/#respond</comments>
		
		<dc:creator><![CDATA[CSW Solutions Team]]></dc:creator>
		<pubDate>Thu, 05 Nov 2026 18:59:00 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AEO]]></category>
		<category><![CDATA[AI Agents]]></category>
		<category><![CDATA[Answer Engine Optimization]]></category>
		<category><![CDATA[Artificial Intelligence AI Agents]]></category>
		<category><![CDATA[Bing Search]]></category>
		<category><![CDATA[Chat GPT]]></category>
		<category><![CDATA[CSW Solutions Guide]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[Google AI]]></category>
		<category><![CDATA[Microsoft Copilot]]></category>
		<category><![CDATA[OpenAI]]></category>
		<category><![CDATA[Perplexity]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SMBs]]></category>
		<guid isPermaLink="false">https://cswsolutions.com/?p=2024</guid>

					<description><![CDATA[Remember when getting found online meant landing on page one of Google and wait for the phone to ring? That playbook served local businesses well for about twenty years. Then the search bar grew up, went to grad school, and started answering questions on its own. Today a buyer can ask Microsoft Copilot, ChatGPT, or [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Remember when getting found online meant landing on page one of Google and wait for the phone to ring? That playbook served local businesses well for about twenty years. Then the search bar grew up, went to grad school, and started answering questions on its own.</p>



<p class="wp-block-paragraph">Today a buyer can ask Microsoft Copilot, ChatGPT, or Google&#8217;s AI Mode something like &#8220;Who&#8217;s a good IT partner for a 40-person manufacturer in the Chicago suburbs?&#8221; and get a tidy, confident paragraph back. No ten blue links. No scrolling. Just an answer, with a few sources tucked underneath.</p>



<p class="wp-block-paragraph">The businesses named in that answer win the conversation. Everyone else is invisible, no matter how well they rank on any search engine. That shift is why answer engine optimization, or AEO, has essentially become the new SEO. Answer engine optimization is the practice of structuring your content so AI systems understand it, trust it, and cite it when they answer a question.</p>



<p class="wp-block-paragraph">The good news? AEO isn&#8217;t a reinvention of everything you know. It&#8217;s SEO with better manners. It has clearer answers, cleaner structure, and proof that you know what you&#8217;re talking about. In this guide we&#8217;ll cover what AEO is, why it matters right now, what Microsoft itself says about how AI picks sources, a few real-world cases, and a practical playbook any small or midsize business can start by the end of this quarter.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="576" src="https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-buyer-asks-ai-1024x576.webp" alt="Woman at a laptop asking Microsoft Copilot to recommend Chicago IT firms, showing answer engine optimization in action" class="wp-image-2030" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-buyer-asks-ai-1024x576.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-buyer-asks-ai-300x169.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-buyer-asks-ai-768x432.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-buyer-asks-ai-1536x864.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-buyer-asks-ai-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">What Is Answer Engine Optimization?</h2>



<p class="wp-block-paragraph">An answer engine is any tool that responds to a question with a synthesized answer instead of a list of links. Microsoft Copilot, Copilot Search in Bing, ChatGPT search, Perplexity, and Google&#8217;s AI Overviews all fit the bill. Answer engine optimization is how you earn a spot inside those answers.</p>



<p class="wp-block-paragraph">You&#8217;ll also hear GEO (generative engine optimization) and &#8220;AI search optimization.&#8221; Marketers love a fresh acronym the way Chicagoans love arguing about deep dish, but they all point at the same goal: be the source the machine quotes.</p>



<h3 class="wp-block-heading">AEO vs SEO: What Actually Changes</h3>



<p class="wp-block-paragraph">Traditional SEO ranks whole pages. AEO competes at the passage level. Microsoft put it plainly in its October 2025 guidance: AI search is &#8220;less about ordering entire pages and more about which pieces of content earn a place in the final answer&#8221; (<a target="_blank" rel="noopener" href="https://about.ads.microsoft.com/en/blog/post/october-2025/optimizing-your-content-for-inclusion-in-ai-search-answers">Microsoft Advertising</a>). Here&#8217;s how that plays out.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<style>
.csw-table-wrap{overflow-x:auto;margin:32px 0;border-radius:16px;box-shadow:0 12px 32px rgba(17,17,17,.08);border:1px solid #C2C3C4}
.csw-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;color:#111111;min-width:620px;background:#ffffff}
.csw-table caption{caption-side:top;text-align:left;font-weight:800;font-size:18px;color:#111111;padding:18px 20px 12px;background:#ffffff;border-bottom:3px solid #f49422}
.csw-table thead th{background:#111111;color:#ffffff;font-weight:800;text-align:left;padding:16px 20px;font-size:15px;letter-spacing:.04em;text-transform:uppercase}
.csw-table thead th.csw-hl{background:linear-gradient(90deg,#f49422,#F4B642);color:#111111}
.csw-table tbody th{background:#f4f4f4;color:#343434;font-weight:700;text-align:left;padding:16px 20px;width:24%;border-right:1px solid #C2C3C4}
.csw-table tbody td{padding:16px 20px;border-top:1px solid #e3e3e3;vertical-align:top}
.csw-table tbody tr:nth-child(even) td{background:#fafafa}
.csw-table tbody tr:nth-child(even) th{background:#ececec}
.csw-table tbody td.csw-hl{background:#fff4e6;font-weight:600;border-left:3px solid #f49422}
.csw-table tbody tr:nth-child(even) td.csw-hl{background:#ffe9cf}
.csw-table tbody tr:hover td,.csw-table tbody tr:hover th{filter:brightness(.97)}
@media (max-width:640px){.csw-table{font-size:15px}.csw-table thead th,.csw-table tbody th,.csw-table tbody td{padding:12px 14px}}
</style>
<div class="csw-table-wrap">
<table class="csw-table">
<caption>AEO vs SEO: what actually changes</caption>
<thead><tr><th scope="col">Factor</th><th scope="col">Classic SEO</th><th scope="col" class="csw-hl">Answer engine optimization</th></tr></thead>
<tbody>
<tr><th scope="row">Unit that competes</th><td>The whole page</td><td class="csw-hl">A paragraph, list, or table inside the page</td></tr>
<tr><th scope="row">Win condition</th><td>A top-three ranking</td><td class="csw-hl">Being cited or named in the AI answer</td></tr>
<tr><th scope="row">Main metric</th><td>Clicks and sessions</td><td class="csw-hl">Citations, mentions, and quality of the visits you do get</td></tr>
<tr><th scope="row">What gets rewarded</th><td>Keywords, backlinks, technical health</td><td class="csw-hl">All of that, plus clear direct answers, structure, and verifiable facts</td></tr>
<tr><th scope="row">Where buyers see you</th><td>Search results page</td><td class="csw-hl">Copilot, ChatGPT, AI Overviews, voice assistants</td></tr>
</tbody>
</table>
</div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Notice the &#8220;what gets rewarded&#8221; row starts with &#8220;all of that.&#8221; AEO sits on top of SEO. If AI crawlers can&#8217;t reach your pages, or your site is a slow, tangled mess, no amount of clever FAQ writing will save you. Think of SEO as the foundation and AEO as the floor plan that makes the house easy to walk through.</p>



<h2 class="wp-block-heading">Why AEO Matters Right Now</h2>



<p class="wp-block-paragraph">This isn&#8217;t a someday problem. The numbers have already moved, and Microsoft has rebuilt its own search experience around answers.</p>



<h3 class="wp-block-heading">Search Engines Became Answer Engines</h3>



<p class="wp-block-paragraph">In April 2025 Microsoft launched <a target="_blank" rel="noopener" href="https://blogs.bing.com/search/April-2025/Introducing-Copilot-Search-in-Bing">Copilot Search in Bing</a>, which blends traditional results with generative summaries. Microsoft says it &#8220;cites its sources prominently, so you know exactly where the information came from.&#8221; That&#8217;s the opportunity in one sentence. Those cited sources are the new page one.</p>



<p class="wp-block-paragraph">The same pattern runs through Copilot in Windows, Edge, and Microsoft 365. For a lot of your buyers, especially the ones already living in Outlook and Teams all day, the first &#8220;search&#8221; of a research project now happens inside a Copilot prompt.</p>



<h3 class="wp-block-heading">Fewer Clicks, Higher Stakes</h3>



<p class="wp-block-paragraph">When an AI summary shows up, people click less. A <a target="_blank" rel="noopener" href="https://www.pewresearch.org/short-reads/2025/07/22/google-users-are-less-likely-to-click-on-links-when-an-ai-summary-appears-in-the-results/">Pew Research Center study</a> of 68,879 real Google searches found users clicked a traditional result in 8% of visits when an AI summary appeared, versus 15% without one. Only 1% clicked a link inside the summary itself. Users also ended their browsing session 26% of the time after seeing a summary, compared with 16% without.</p>



<p class="wp-block-paragraph">Gartner saw this coming. Back in February 2024 it <a target="_blank" rel="noopener" href="https://www.gartner.com/en/newsroom/press-releases/2024-02-19-gartner-predicts-search-engine-volume-will-drop-25-percent-by-2026-due-to-ai-chatbots-and-other-virtual-agents">predicted traditional search engine volume would drop 25% by 2026</a> as AI chatbots and virtual agents took a bigger share of the questions.</p>



<h3 class="wp-block-heading">The Visitors You Do Get Are Worth More</h3>



<p class="wp-block-paragraph">Here&#8217;s the twist that makes AEO worth your time. AI referrals are small in volume but big in intent. <a target="_blank" rel="noopener" href="https://clarity.microsoft.com/blog/ai-traffic-converts-at-3x-the-rate-of-other-channels-study/">Microsoft Clarity analyzed more than 1,200 publisher and news sites</a> and found AI referrals were under 1% of traffic, yet grew 155.6% over eight months. In the month measured, visitors from AI platforms signed up at 1.66%, compared with 0.15% from search and 0.46% from social.</p>



<p class="wp-block-paragraph">That makes sense when you think about it. By the time someone clicks through from a Copilot answer, the AI has already done the comparison shopping. They show up pre-qualified, a little like a referral from a trusted friend at the bar after a Cubs game.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="576" src="https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-ai-visitor-signup-chart-1024x576.webp" alt="AEO chart: AI assistant visitors sign up at 1.66% vs 0.46% social, 0.15% search and 0.13% direct, per Microsoft Clarity" class="wp-image-2032" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-ai-visitor-signup-chart-1024x576.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-ai-visitor-signup-chart-300x169.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-ai-visitor-signup-chart-768x432.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-ai-visitor-signup-chart.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Real-World Cases: Who&#8217;s Winning and Who&#8217;s Feeling It</h2>



<p class="wp-block-paragraph">Theory is nice. Receipts are better. Here are two very different outcomes from the shift to AI answers.</p>



<h3 class="wp-block-heading">Chegg: When the Answer Replaces the Visit</h3>



<p class="wp-block-paragraph">Chegg built a business on students searching for homework help and landing on its pages. In February 2025 the company <a target="_blank" rel="noopener" href="https://searchengineland.com/google-sued-by-chegg-over-ai-overviews-hurting-traffic-and-revenue-452518">sued Google over AI Overviews</a>, reporting that its non-subscriber traffic fell 49% in January 2025, compared with an 8% decline in Q2 2024. Chegg said AI Overviews were &#8220;materially impacting our acquisitions, revenue, and employees.&#8221; Its Q4 2024 revenue dropped 24% year over year, and the company began exploring strategic options, including a sale.</p>



<p class="wp-block-paragraph">Google disputes the cause, and the case is Chegg&#8217;s claim, not a court finding. But the lesson for any business is clear. If your value is answering simple questions, and an AI can answer them on the results page, the visit disappears. You need content that earns the citation, not just the click.</p>



<h3 class="wp-block-heading">Ahrefs: Tiny Traffic, Outsized Revenue</h3>



<p class="wp-block-paragraph">On the other side of the ledger is Ahrefs, the SEO software company. In its own <a target="_blank" rel="noopener" href="https://ahrefs.com/blog/chat-gpt-traffic">ChatGPT traffic analysis</a>, Ahrefs reported that AI search sent about 0.5% of its visits but produced about 12.1% of its sign-ups. That works out to roughly 23 times the conversion rate of traditional organic visitors.</p>



<p class="wp-block-paragraph">Ahrefs is quick to note that results vary by business model, and that some ecommerce referrals from ChatGPT convert worse. Still, it lines up with Microsoft Clarity&#8217;s publisher data. When AI recommends you, the people who show up are ready to talk.</p>



<h3 class="wp-block-heading">What This Looks Like for an SMB</h3>



<p class="wp-block-paragraph">Picture a 60-person accounting firm in Naperville. (This one is illustrative, not a client story.) A CFO asks Copilot, &#8220;What should a midsize firm look for in a managed IT provider for SOC 2 readiness?&#8221; Copilot pulls a checklist from a page with a clear H2, a numbered list, and a short definition of SOC 2. That firm&#8217;s IT provider gets named and linked. The provider with a prettier homepage and a vague &#8220;We do it all!&#8221; services page doesn&#8217;t get a mention.</p>



<p class="wp-block-paragraph">Same market, same buyer, completely different outcome. The difference is structure and clarity, not budget.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="577" src="https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-ai-picks-best-paragraph-1024x577.webp" alt="How answer engines like Copilot and Bing split a page into passages, score each one and cite the clearest answer" class="wp-image-2031" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-ai-picks-best-paragraph-1024x577.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-ai-picks-best-paragraph-300x169.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-ai-picks-best-paragraph-768x433.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-ai-picks-best-paragraph.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">How Answer Engines Choose What to Cite</h2>



<p class="wp-block-paragraph">Most AI platforms keep their ranking recipes close to the vest. Microsoft has been unusually open, and since Copilot runs on Bing&#8217;s index, its guidance is the closest thing to a published rulebook for answer engine optimization.</p>



<h3 class="wp-block-heading">They Read in Chunks, Not Pages</h3>



<p class="wp-block-paragraph">In <a target="_blank" rel="noopener" href="https://about.ads.microsoft.com/en/blog/post/october-2025/optimizing-your-content-for-inclusion-in-ai-search-answers">&#8220;Optimizing Your Content for Inclusion in AI Search Answers&#8221;</a>, Bing principal product manager Krishna Madhavan explains that &#8220;AI assistants don&#8217;t read a page top to bottom like a person would.&#8221; They break pages into smaller sections, evaluate each one, and stitch the best pieces into a single answer. His summary: &#8220;visibility is no longer defined by ranking position alone.&#8221;</p>



<p class="wp-block-paragraph">That means every section of your page should be able to stand on its own. If a paragraph only makes sense after reading the three above it, an AI may skip it.</p>



<h3 class="wp-block-heading">Microsoft&#8217;s Signals in Plain English</h3>



<p class="wp-block-paragraph">According to that same guidance, content that gets selected tends to be fresh, authoritative, structured, and semantically clear. Specifically, Microsoft recommends:</p>



<ul class="wp-block-list">
<li><strong>Aligned titles, H1s, and meta descriptions</strong> that all reinforce the same purpose</li>



<li><strong>Descriptive H2 and H3 headings</strong> instead of vague labels like &#8220;Overview&#8221;</li>



<li><strong>Q&amp;A blocks</strong> with a direct question and a concise answer</li>



<li><strong>Lists and tables</strong> for steps and comparisons, without bullet overload</li>



<li><strong>Schema markup</strong> (usually JSON-LD) to label FAQs, products, reviews, and events</li>



<li><strong>Concrete, measurable claims</strong> instead of fuzzy adjectives</li>



<li><strong>Simple punctuation</strong>, because heavy use of em dashes and decorative symbols &#8220;can confuse sentence structure for machines&#8221;</li>
</ul>



<p class="wp-block-paragraph">It also warns against hiding key answers in tabs, accordions, PDFs, or images, since &#8220;AI systems may not render hidden content, so key details can be skipped.&#8221; If your pricing lives in a downloadable PDF, Copilot may never see it.</p>



<h3 class="wp-block-heading">Freshness Counts, and IndexNow Helps</h3>



<p class="wp-block-paragraph">In February 2026 Microsoft introduced <a target="_blank" rel="noopener" href="https://blogs.bing.com/webmaster/February-2026/Introducing-AI-Performance-in-Bing-Webmaster-Tools-Public-Preview">AI Performance in Bing Webmaster Tools</a>, and the announcement includes a section on keeping content fresh with IndexNow. IndexNow is a free protocol that pings participating search engines the moment a page is added, updated, or removed. Microsoft notes that &#8220;regular updates help ensure AI systems reference the most current version of your content.&#8221;</p>



<p class="wp-block-paragraph">Translation: stale content is a liability. If your services page still mentions Windows 10 support plans, an AI has every reason to quote somebody else.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="576" src="https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-team-game-plan-1024x576.webp" alt="Team turning customer questions into answer engine optimization content, with the Chicago skyline in the background" class="wp-image-2033" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-team-game-plan-1024x576.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-team-game-plan-300x169.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-team-game-plan-768x432.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/answer-engine-optimization-team-game-plan.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">7 Answer Engine Optimization Moves for SMBs</h2>



<p class="wp-block-paragraph">You don&#8217;t need an enterprise marketing department to do this well. You need focus, a little discipline, and a willingness to write like a human who answers questions for a living. Here&#8217;s where we&#8217;d start.</p>



<h3 class="wp-block-heading">1. Start With the Questions Your Buyers Actually Ask</h3>



<p class="wp-block-paragraph">Pull questions from sales calls, support tickets, proposal Q&amp;As, and the stuff your team answers in email every week. Those are the exact prompts buyers type into Copilot. A list of 20 to 30 real questions beats any keyword tool, because it reflects how people in your market talk. [internal link: CSW post on AI for SMBs]</p>



<h3 class="wp-block-heading">2. Lead Every Section With the Answer</h3>



<p class="wp-block-paragraph">Put a one or two sentence answer right under each heading, then add the detail. Journalists call this the inverted pyramid. AI systems call it &#8220;easy to quote.&#8221; If someone asks &#8220;How long does a Microsoft 365 migration take?&#8221;, your first line should give a real range, not a paragraph about how every business is unique.</p>



<h3 class="wp-block-heading">3. Structure Pages So Each Chunk Stands Alone</h3>



<p class="wp-block-paragraph">Use descriptive H2s and H3s phrased the way people ask questions. Keep paragraphs short. Use numbered lists for steps and tables for comparisons. Remember Microsoft&#8217;s point about passages: every section should make sense if it were the only thing an AI read.</p>



<h3 class="wp-block-heading">4. Add Schema Markup</h3>



<p class="wp-block-paragraph">Schema tells machines what your content is. For most SMB sites, start with Organization, LocalBusiness, Service, FAQPage, and Article schema. On WordPress, Rank Math handles most of this from the post editor, so you won&#8217;t need to hand-code JSON-LD. Then validate it before you publish.</p>



<h3 class="wp-block-heading">5. Prove It With Specifics</h3>



<p class="wp-block-paragraph">AI engines favor verifiable, concrete claims. &#8220;We reduced ticket response time from 4 hours to 45 minutes for a 120-seat distributor&#8221; beats &#8220;We deliver fast, reliable support.&#8221; Add named authors with real credentials, publish dates, and outbound links to primary sources like Microsoft documentation. Expertise you can&#8217;t verify reads like marketing, and AI tends to skip marketing.</p>



<h3 class="wp-block-heading">6. Make Your Site Easy to Crawl and Fast to Refresh</h3>



<p class="wp-block-paragraph">Check that your robots.txt doesn&#8217;t accidentally block Bingbot or other AI crawlers you want visiting. Move critical information out of PDFs, image text, and collapsed accordions. Turn on IndexNow (many WordPress SEO plugins, including Rank Math, support it) so Bing hears about updates right away. Then set a calendar reminder to refresh your top pages every quarter. [internal link: CSW Azure or WordPress post]</p>



<h3 class="wp-block-heading">7. Build Your Reputation Off-Site, Too</h3>



<p class="wp-block-paragraph">Answer engines don&#8217;t only read your website. They also learn from reviews, directories, industry associations, local press, LinkedIn, and partner listings. Keep your business name, address, and service descriptions consistent everywhere. Earn mentions from Chicago business publications, chambers of commerce, and vendor partner pages. When multiple trusted sources say the same thing about you, AI gets more confident repeating it.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<style>
.csw-check-wrap{overflow-x:auto;margin:32px 0;border-radius:16px;box-shadow:0 12px 32px rgba(17,17,17,.08);border:1px solid #C2C3C4}
.csw-check{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;color:#111111;min-width:560px;background:#ffffff}
.csw-check caption{caption-side:top;text-align:left;font-weight:800;font-size:18px;color:#111111;padding:18px 20px 12px;background:#ffffff;border-bottom:3px solid #f49422}
.csw-check thead tr{background:linear-gradient(90deg,#f49422,#F4B642)}
.csw-check thead th{background:transparent;color:#111111;font-weight:800;text-align:left;padding:14px 20px;font-size:15px;letter-spacing:.04em;text-transform:uppercase}
.csw-check tbody td{padding:15px 20px;border-top:1px solid #e3e3e3;vertical-align:middle}
.csw-check tbody tr:nth-child(odd) td{background:#ffffff}
.csw-check tbody tr:nth-child(even) td{background:#fff4e6}
.csw-check .csw-num{width:64px;text-align:center}
.csw-check .csw-num span{display:inline-block;width:32px;height:32px;line-height:32px;border-radius:50%;background:#111111;color:#F4B642;font-weight:800;font-size:15px}
.csw-check .csw-task{font-weight:700;color:#111111}
.csw-check .csw-why{color:#343434}
.csw-check .csw-box{width:70px;text-align:center}
.csw-check .csw-box span{display:inline-block;width:24px;height:24px;border:2px solid #f49422;border-radius:6px;background:#ffffff}
@media (max-width:640px){.csw-check{font-size:15px}.csw-check thead th,.csw-check tbody td{padding:11px 12px}}
</style>
<div class="csw-check-wrap">
<table class="csw-check">
<caption>Quick AEO checklist</caption>
<thead><tr><th scope="col">#</th><th scope="col">Task</th><th scope="col">Why it matters</th><th scope="col">Done</th></tr></thead>
<tbody>
<tr><td class="csw-num"><span>1</span></td><td class="csw-task">Document your top 20 buyer questions</td><td class="csw-why">These are the prompts buyers type into Copilot</td><td class="csw-box"><span></span></td></tr>
<tr><td class="csw-num"><span>2</span></td><td class="csw-task">Answer in the first two sentences of each section</td><td class="csw-why">Short, direct answers are the easiest for AI to quote</td><td class="csw-box"><span></span></td></tr>
<tr><td class="csw-num"><span>3</span></td><td class="csw-task">Use descriptive, question-style H2s and H3s</td><td class="csw-why">Headings tell AI what each passage answers</td><td class="csw-box"><span></span></td></tr>
<tr><td class="csw-num"><span>4</span></td><td class="csw-task">Validate FAQ, Service, and Organization schema</td><td class="csw-why">Schema labels your content for machines</td><td class="csw-box"><span></span></td></tr>
<tr><td class="csw-num"><span>5</span></td><td class="csw-task">Move key facts out of PDFs, images, and hidden tabs</td><td class="csw-why">AI may skip content it can&#8217;t render</td><td class="csw-box"><span></span></td></tr>
<tr><td class="csw-num"><span>6</span></td><td class="csw-task">Enable IndexNow and verify Bing Webmaster Tools</td><td class="csw-why">Bing and Copilot hear about updates right away</td><td class="csw-box"><span></span></td></tr>
<tr><td class="csw-num"><span>7</span></td><td class="csw-task">Schedule a quarterly refresh of top pages</td><td class="csw-why">Fresh content is more likely to be cited</td><td class="csw-box"><span></span></td></tr>
</tbody>
</table>
</div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">How to Measure AEO Without Losing Your Mind</h2>



<p class="wp-block-paragraph">AEO measurement is younger than SEO measurement, but you&#8217;re no longer flying blind. Three tools cover most of what an SMB needs.</p>



<p class="wp-block-paragraph"><strong>Bing Webmaster Tools AI Performance.</strong> Microsoft&#8217;s <a target="_blank" rel="noopener" href="https://blogs.bing.com/webmaster/February-2026/Introducing-AI-Performance-in-Bing-Webmaster-Tools-Public-Preview">AI Performance report</a> shows how often your pages are cited in Copilot, Bing&#8217;s AI summaries, and select partner experiences. You get total citations, cited pages per day, page-level counts, and sample &#8220;grounding queries,&#8221; the phrases the AI used to pull your content. Microsoft is careful to say citation counts don&#8217;t indicate ranking or placement inside an answer, so treat them as a visibility trend, not a scoreboard.</p>



<p class="wp-block-paragraph"><strong>GA4 and Microsoft Clarity.</strong> Set up a custom channel group in GA4 for AI referrers like copilot.microsoft.com, chatgpt.com, and perplexity.ai. Microsoft Clarity now breaks out AI platform traffic too, and its session recordings show what those high-intent visitors do once they land.</p>



<p class="wp-block-paragraph"><strong>Prompt spot checks.</strong> Once a month, run your top ten buyer questions through Copilot and ChatGPT. Note who gets named, which pages get cited, and whether the description of your business is accurate. It&#8217;s low-tech, and it&#8217;s the fastest way to spot gaps.</p>



<p class="wp-block-paragraph">One more tip: add &#8220;How did you hear about us?&#8221; to your contact form with &#8220;AI assistant (Copilot, ChatGPT, etc.)&#8221; as an option. A lot of AI influence never shows up as a referral click, so ask.</p>



<h2 class="wp-block-heading">How CSW Solutions Can Help You Get Cited</h2>



<p class="wp-block-paragraph">Here&#8217;s the thing about answer engine optimization: it lives right where marketing meets technology. Half of it is writing clear, useful answers. The other half is schema, crawl access, site speed, analytics, and keeping a WordPress or Azure-hosted site healthy enough that AI crawlers actually enjoy visiting. Most SMBs have someone for one half. Very few have someone for both.</p>



<p class="wp-block-paragraph">That&#8217;s our sweet spot. CSW Solutions has spent 21 years helping Chicago-area businesses make technology pull its weight, and AEO is a natural extension of what we already do every day:</p>



<ul class="wp-block-list">
<li><strong>AI &amp; automation know-how.</strong> We work with Microsoft Copilot and Azure AI every day, so we understand how these systems read, retrieve, and summarize content.</li>



<li><strong>Website and technical cleanup.</strong> We can audit your site for crawl blockers, hidden content, missing schema, and slow pages, then fix them.</li>



<li><strong>Measurement that makes sense.</strong> We&#8217;ll set up Bing Webmaster Tools, IndexNow, GA4 AI channel groups, and Microsoft Clarity so you can see what&#8217;s working.</li>



<li><strong>Content that answers real questions.</strong> We&#8217;ll help you turn the questions your team hears every week into pages AI engines want to quote.</li>
</ul>



<p class="wp-block-paragraph">No pressure and no jargon avalanche. If you&#8217;re curious how your business shows up when a buyer asks Copilot about what you do, we&#8217;d be happy to take a look with you. Think of it as a friendly second opinion, the kind you&#8217;d get from a neighbor who happens to know a lot about search. <a target="_blank" rel="noopener" href="https://www.cswsolutions.com/contact/">Reach out to the CSW team</a> whenever you&#8217;re ready, and let&#8217;s make sure the answer engines know your name.</p>



<p class="wp-block-paragraph">Because in 2026, being the best kept secret in Chicago isn&#8217;t a compliment. It&#8217;s a missed opportunity.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cswsolutions.com/blog/posts/2026/11/answer-engine-optimization/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cybersecurity in the Age of AI &#124; What PHP2Shell Taught Us</title>
		<link>https://cswsolutions.com/blog/posts/2026/10/php2shell-cybersecurity-age-of-ai/</link>
					<comments>https://cswsolutions.com/blog/posts/2026/10/php2shell-cybersecurity-age-of-ai/#respond</comments>
		
		<dc:creator><![CDATA[CSW Solutions Team]]></dc:creator>
		<pubDate>Wed, 28 Oct 2026 15:28:00 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AI Automation]]></category>
		<category><![CDATA[Chat GPT]]></category>
		<category><![CDATA[CSW Solutions]]></category>
		<category><![CDATA[Cybersecurity]]></category>
		<category><![CDATA[Managed IT Services]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Azure]]></category>
		<category><![CDATA[Microsoft Copilot]]></category>
		<category><![CDATA[Microsoft Defender for Business]]></category>
		<category><![CDATA[Microsoft Entra ID]]></category>
		<category><![CDATA[Microsoft Partner]]></category>
		<category><![CDATA[Microsoft Security Copilot]]></category>
		<category><![CDATA[Ransomware]]></category>
		<category><![CDATA[Shadow IT]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AiTM]]></category>
		<category><![CDATA[GitHub Copilot]]></category>
		<category><![CDATA[MFA]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SMBs]]></category>
		<guid isPermaLink="false">https://cswsolutions.com/?p=2060</guid>

					<description><![CDATA[Last week the internet had the kind of Wednesday that makes IT people stare into their coffee. On October 21, 2026, the PHP project shipped emergency fixes for PHP2Shell, a pair of critical flaws in the programming language that quietly runs roughly 70% of the websites on Earth. WordPress, Drupal, Joomla, the plugin your marketing [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Last week the internet had the kind of Wednesday that makes IT people stare into their coffee. On October 21, 2026, the PHP project shipped emergency fixes for <strong>PHP2Shell</strong>, a pair of critical flaws in the programming language that quietly runs roughly 70% of the websites on Earth. WordPress, Drupal, Joomla, the plugin your marketing team installed in 2019 and forgot about, all of it sits on PHP. </p>



<p class="wp-block-paragraph">The bugs let an attacker take over a web server without a username or password. Governments told people to patch or unplug. Wikimedia, the Internet Archive and a parade of government portals went dark on purpose while they updated. And here is the twist that makes this more than another patch-Tuesday story, AI helped find the flaws, and attackers were poking at them days before the rest of us even knew they existed. That is why we think PHP2Shell is the clearest picture yet of cybersecurity in the age of AI.</p>



<p class="wp-block-paragraph">The tools that help defenders find bugs faster help attackers too, and the window between &#8220;vulnerability discovered&#8221; and &#8220;vulnerability exploited&#8221; is shrinking from weeks to hours. If you run a small or midsize business, you do not need to panic. You do need a plan that moves at machine speed. So, let&#8217;s walk through what happened, why AI changes the math, a few real-world cases worth knowing, and seven lessons you can act on this week. Grab a coffee. Chicago-strength, preferably.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="576" src="https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-age-of-ai-1024x576.webp" alt="PHP2Shell vulnerability alert and cybersecurity in the age of AI for small businesses" class="wp-image-2068" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-age-of-ai-1024x576.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-age-of-ai-300x169.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-age-of-ai-768x432.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-age-of-ai-1536x864.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-age-of-ai-2048x1152.webp 2048w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-age-of-ai-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h2 class="wp-block-heading">What Happened With PHP2Shell | The 60-Second Version</h2>



<p class="wp-block-paragraph">PHP2Shell is the nickname for two memory-safety flaws in PHP itself, tracked as CVE-2026-109618 and CVE-2026-109619. Both are rated 9.2 out of 10 under CVSS 4.0, and both allow unauthenticated remote code execution. In plain English, a stranger on the internet can send a crafted request to your website and run their own code on your server. Seriously. According to <a href="https://www.wiz.io/blog/php2shell-php-rce" target="_blank" rel="noopener">Wiz Research</a>, and we hope you&#8217;re sitting down for this, every PHP release from the last decade is affected by at least one of the bugs, going all the way back to PHP 5.4. It gets worse before it gets better. One of the flaws can leak chunks of server memory back to the attacker. Wiz notes that memory can contain passwords, tokens and API keys from other visitors&#8217; requests. So even a server that is not fully taken over can quietly spill secrets.</p>



<p class="wp-block-paragraph">The disclosure did not go to plan, either. The PHP Foundation was running a confidential embargo, giving hosting companies a head start on patches. Then details leaked. A proof-of-concept video went out early, and one vendor published patched builds ahead of schedule, which let attackers compare old and new code and reverse-engineer the fix. The Foundation moved the release up a day, to October 21. <a target="_blank" rel="noopener" href="https://thehackernews.com/2026/10/someone-tried-to-exploit-php2shell-4.html">The Hacker News reports</a> that Amazon Threat Intelligence caught an exploit attempt against its honeypots on October 17, four days before public disclosure, and Amazon said it remains unclear how the attacker got the details.</p>



<p class="wp-block-paragraph">Once the news broke, the reaction was swift:</p>



<ul class="wp-block-list">
<li><strong>Patches:</strong> fixed versions are PHP 8.2.35, 8.3.36, 8.4.27 and 8.5.12. Older branches such as 7.4, 8.0 and 8.1 are end-of-life and got source patches only, no official builds (<a href="https://en.wikipedia.org/wiki/PHP2Shell" target="_blank" rel="noreferrer noopener">Here&#8217;s the summary</a>).</li>



<li><strong>Precautionary shutdowns:</strong> Wikimedia disabled supporting services, the Internet Archive briefly went offline, and government sites in the Netherlands, Denmark, Finland, France and Canada were pulled while teams patched. <a href="https://techcrunch.com/2026/10/24/php-ocalypse-how-two-critical-web-bugs-almost-broke-the-internet/" target="_blank" rel="noopener">TechCrunch</a> adds banks, retailers, hospitals and Belgium&#8217;s Smartschool education platform to the list.</li>



<li><strong>Government warnings:</strong> the UK&#8217;s <a href="https://www.ncsc.gov.uk/news/critical-security-issue-affecting-php" target="_blank" rel="noopener">National Cyber Security Centre</a> issued an alert, and the NSA advised organizations to take sites offline if they could not update right away.</li>



<li><strong>Exploitation:</strong> Cloudflare&#8217;s CEO described an exponential rise in exploit attempts after disclosure, and by October 23 researchers at Trail of Bits reported working exploits.</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="576" src="https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-vulnerability-timeline-1024x576.webp" alt="PHP2Shell vulnerability timeline from first exploit attempt on October 17 to patches and working exploits" class="wp-image-2067" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-vulnerability-timeline-1024x576.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-vulnerability-timeline-300x169.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-vulnerability-timeline-768x432.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-vulnerability-timeline-1536x864.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-vulnerability-timeline-2048x1152.webp 2048w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-vulnerability-timeline-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">Here is the part small businesses should underline, PHP is not only in websites. It also lives inside routers, storage devices, firewalls and VPN appliances. Big organizations patched in hours. Smaller teams and legacy systems, the ones nobody has logged into since the office moved, are expected to stay exposed for a long time.</p>



<h2 class="wp-block-heading">Why PHP2Shell Is an Age-of-AI Story</h2>



<p class="wp-block-paragraph">Here is the wild part. At least one of these bugs was first spotted back in 2024 by a PHP core developer, but the fix stalled because nobody could show it was exploitable. Bugs like that are everywhere in older software. They are technically broken but practically ignored because turning them into a working attack takes rare expertise and a lot of patience. AI is changing that equation. Researchers at Calif found a way to exploit the flaws while auditing PHP&#8217;s source code with help from OpenAI&#8217;s models, and Wiz researchers independently found their own set using frontier models (Gemini 4 Argon and GPT-5.6 Sol) through their Wiz Atlas tool. Wiz says the models helped them build working exploits against several targets within hours, and called the moment an &#8220;AI inflection point.&#8221; In their words, AI lowered the expertise needed to chain these memory bugs together.</p>



<p class="wp-block-paragraph">Before anyone pictures a robot typing &#8220;hack the internet&#8221; and hitting enter, Calif <a href="https://www.wired.com/story/kernel-panic-the-php-meltdown-shows-how-ai-makes-bugs-more-exploitable/" data-type="link" data-id="https://www.wired.com/story/kernel-panic-the-php-meltdown-shows-how-ai-makes-bugs-more-exploitable/" target="_blank" rel="noopener">offered</a> a healthy reality check, &#8220;No model is simply capable of unearthing &#8216;all bugs&#8217; with simple prompts. At least for now.&#8221; Most of the heavy lifting still came from humans who knew PHP&#8217;s internals cold. AI was the power tool, not the carpenter. But notice that phrase: <em>at least for now.</em> Three things are true at the same time:</p>



<ol class="wp-block-list">
<li><strong>Old code is about to get a lot of new scrutiny.</strong> If AI can help a good researcher find a decade-old bug in PHP, it can help find bugs in the aging line-of-business apps, plugins and appliances that small businesses run every day.</li>



<li><strong>The patch window is collapsing.</strong> Security firm Sansec predicted mass attacks within 15 minutes of the PHP release. One monitoring firm saw its first exploit request less than an hour after patched builds appeared. &#8220;We&#8217;ll get to it in next maintenance window&#8221; is no longer a plan.</li>



<li><strong>Defenders get the same superpowers.</strong> The good news is that the people who found PHP2Shell were on our side, and the same AI that speeds up bug hunting also speeds up detection, triage and response. The question seems to come down to which side uses it better.</li>
</ol>



<p class="wp-block-paragraph">That is the heart of cybersecurity in the age of AI. The fundamentals have not changed, the speed has.</p>



<h2 class="wp-block-heading">Real-World Cases | AI Is Already in the Attack Chain</h2>



<p class="wp-block-paragraph">PHP2Shell is the headline, but it is not the first sign that AI has joined the attacker&#8217;s toolkit. We found a few cases worth knowing, so you get the whole picture. </p>



<p class="wp-block-paragraph"><strong>The $25 million video call.</strong> In early 2024, a finance employee at Arup, the engineering firm behind the Sydney Opera House, joined a <a href="https://abc17news.com/money/cnn-business-consumer/2024/05/16/british-engineering-giant-arup-revealed-as-25-million-deepfake-scam-victim/" data-type="link" data-id="https://abc17news.com/money/cnn-business-consumer/2024/05/16/british-engineering-giant-arup-revealed-as-25-million-deepfake-scam-victim/" target="_blank" rel="noopener">video call</a> with what looked and sounded like the company&#8217;s CFO and several colleagues. Every one of them was an AI-generated deepfake. The employee made 15 transfers totaling about US$25.6 million before anyone caught on. Arup confirmed that &#8220;none of our internal systems were compromised.&#8221; No firewall would have stopped it. A callback policy would have.</p>



<p class="wp-block-paragraph"><strong>The AI that ran most of a spy campaign.</strong> In November 2025, Anthropic <a href="https://anthropic.com/news/disrupting-AI-espionage" data-type="link" data-id="https://anthropic.com/news/disrupting-AI-espionage" target="_blank" rel="noopener">reported</a> that a group it assessed as Chinese state-sponsored had manipulated its Claude Code tool into attempting intrusions against about 30 organizations, including tech companies, financial institutions and government agencies. Anthropic estimated AI performed 80 to 90% of the campaign, with humans stepping in at only a handful of decision points. A small number of the intrusions succeeded.</p>



<p class="wp-block-paragraph"><strong>AI brands as bait.</strong> In June 2026, <a href="https://microsoft.com/en-us/security/blog/2026/06/08/ai-brands-as-bait-how-threat-actors-are-using-the-ai-hype-in-social-engineering" target="_blank" rel="noopener">Microsoft Threat Intelligence</a> documented attackers impersonating ChatGPT, Copilot, DeepSeek and Claude. One fake &#8220;policy violation&#8221; campaign hit more than 2,000 organizations in three days, and IT was the most-targeted sector at 56%. A fake AI plugin reached over 66,000 devices in a single day. The lesson here is, the AI tool your team is excited to try is also the perfect lure.</p>



<p class="wp-block-paragraph"><strong>Phishing that actually works now.</strong> Microsoft&#8217;s <a href="https://www.microsoft.com/en-us/security/security-insider/threat-landscape/microsoft-digital-defense-report-2025" data-type="link" data-id="https://www.microsoft.com/en-us/security/security-insider/threat-landscape/microsoft-digital-defense-report-2025" target="_blank" rel="noopener">2025 Digital Defense Report</a> found AI-powered phishing pushed click-through rates from 12% to 54%, about 4.5 times higher than traditional phishing. The same report found 52% of attacks were financially motivated and 80% of investigated incidents involved data theft. Microsoft&#8217;s newer <a href="https://microsoft.com/en-us/security/blog/2026/10/01/insights-from-the-2026-microsoft-digital-defense-report" target="_blank" rel="noopener">2026 Digital Defense Report</a> says threat actors now use AI across reconnaissance, social engineering, exploit development and post-compromise activity.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="576" src="https://cswsolutions.com/wp-content/uploads/2026/10/ai-cyberattacks-phishing-statistics-1024x576.webp" alt="AI cyberattacks statistics showing AI-powered phishing click rates of 54% versus 12%" class="wp-image-2066" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/ai-cyberattacks-phishing-statistics-1024x576.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/ai-cyberattacks-phishing-statistics-300x169.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/ai-cyberattacks-phishing-statistics-768x432.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/ai-cyberattacks-phishing-statistics-1536x864.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/10/ai-cyberattacks-phishing-statistics-2048x1152.webp 2048w, https://cswsolutions.com/wp-content/uploads/2026/10/ai-cyberattacks-phishing-statistics-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">Notice the pattern. None of these attacks invented a brand-new category of crime. Phishing, impersonation, unpatched servers and stolen credentials are old news. AI just makes each one faster, cheaper and more convincing. Which means the defenses that work are also familiar. They just have to be turned on, tuned up and kept current.</p>



<h2 class="wp-block-heading">7 Cybersecurity Lessons From PHP2Shell (With the Microsoft Tools That Help)</h2>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="576" src="https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-lessons-small-business-1024x576.webp" alt="Seven PHP2Shell cybersecurity lessons for small business, from patching to phishing-resistant MFA" class="wp-image-2065" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-lessons-small-business-1024x576.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-lessons-small-business-300x169.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-lessons-small-business-768x432.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-lessons-small-business-1536x864.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-lessons-small-business-2048x1152.webp 2048w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-cybersecurity-lessons-small-business-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">We are an Azure shop, so the examples below lean on Microsoft. The principles apply no matter whose logo is on your console.</p>



<h3 class="wp-block-heading">1. Know what you are running, including the stuff you forgot</h3>



<p class="wp-block-paragraph">You cannot patch what you do not know exists. The businesses that scrambled hardest last week were not the ones with the most PHP. They were the ones who had to ask, &#8220;Wait, do we have PHP?&#8221; Think beyond the main website. The old microsite from a 2021 campaign, the client portal a contractor built, the NAS in the closet, and even the firewall&#8217;s admin page. A living asset inventory is the least glamorous and most valuable security tool you will ever own.</p>



<h3 class="wp-block-heading">2. Patch at machine speed, then verify</h3>



<p class="wp-block-paragraph">If attackers can weaponize a fix within an hour of its release, monthly patching is a polite invitation. For anything internet-facing, critical patches need a same-day lane. And trust, but verify. On Azure App Service, Microsoft rolled patched PHP and WordPress images out on an expedited basis, but community answers on <a target="_blank" rel="noopener" href="https://learn.microsoft.com/en-us/answers/questions/6045369/when-will-php-8-4-27-fix-for-cve-2026-109618-cve-2">Microsoft Q&amp;A</a> show some apps on the Standard update channel lagged until owners switched them to Latest. The fix is to check the running version yourself (PHP 8.4 apps should report 8.4.27 or later) rather than assuming the platform handled it. Running PHP 8.1 or older? That branch gets no official fix, so this is your sign to upgrade.</p>



<h3 class="wp-block-heading">3. Put a shield in front of every public app</h3>



<p class="wp-block-paragraph">A web application firewall will not fix a broken engine, but it will buy you time. Within a day of disclosure, Microsoft published <a href="https://techcommunity.microsoft.com/blog/azurenetworksecurityblog/addressing-php2shell-cve-2026-109618-and-cve-2026-109619-upgrade-guidance-and-az/4566623" target="_blank" rel="noopener">upgrade guidance and Azure WAF mitigations for PHP2Shell</a> covering Azure Front Door and Application Gateway. If your sites already sit behind <a href="https://learn.microsoft.com/en-us/azure/frontdoor/web-application-firewall" target="_blank" rel="noopener">Azure Web Application Firewall on Front Door</a>, you got an extra layer of protection the day it mattered. Just remember the WAF is a seatbelt, not a substitute for brakes. Patch anyway.</p>



<h3 class="wp-block-heading">4. Assume secrets leaked, and rotate them</h3>



<p class="wp-block-paragraph">Remember that PHP2Shell can leak server memory, including passwords, tokens and API keys. If a PHP app was exposed and unpatched for any stretch of time, treat its credentials as compromised. Rotate database passwords, API keys and service account secrets, and move them out of config files into a managed vault. It is a tedious afternoon. It is far less tedious than explaining a breach.</p>



<h3 class="wp-block-heading">5. Lock down identity like it is the front door, because it is</h3>



<p class="wp-block-paragraph">Once attackers have a foothold, they go after accounts. Microsoft&#8217;s <a href="https://news.microsoft.com/source/asia/2026/01/07/microsoft-releases-2025-digital-defense-report-highlighting-the-changing-cyber-threat-landscape-and-the-importance-of-security-in-the-ai-era/" data-type="link" data-id="https://news.microsoft.com/source/asia/2026/01/07/microsoft-releases-2025-digital-defense-report-highlighting-the-changing-cyber-threat-landscape-and-the-importance-of-security-in-the-ai-era/" target="_blank" rel="noopener">2025 Digital Defense Report</a> found that more than 97% of identity attacks are password attacks, and that phishing-resistant MFA can prevent up to 99% of them. Microsoft Entra lets you <a href="https://learn.microsoft.com/en-us/entra/identity/conditional-access/policy-admin-phish-resistant-mfa" target="_blank" rel="noopener">require phishing-resistant MFA through Conditional Access</a>, starting with admins and expanding from there. Passkeys and security keys are the gold standard. Text-message codes are better than nothing, but AI-driven adversary-in-the-middle kits (<a href="https://nhimg.org/glossary/adversary-in-the-middle-kit/" data-type="link" data-id="https://nhimg.org/glossary/adversary-in-the-middle-kit/" target="_blank" rel="noopener">AiTM</a>) are built to steal them.</p>



<h3 class="wp-block-heading">6. Train people for a world where seeing is not believing</h3>



<p class="wp-block-paragraph">The Arup case should be required reading for anyone who can approve a payment. Your team needs a simple, boring, non-negotiable rule if there isn&#8217;t already one set by your organization. Any request to move money, change payment details or share credentials gets verified through a second channel you already trust or call the person back on a known number. Walk down the hall or ask the question only the real CFO would know. And install AI tools only from the vendor&#8217;s own site, never from a search ad or a random GitHub repo, since that is exactly where Microsoft found attackers waiting.</p>



<h3 class="wp-block-heading">7. Fight AI with AI, and give it guardrails</h3>



<p class="wp-block-paragraph">Attackers are automating, so defenders have to as well. <a href="https://learn.microsoft.com/en-us/defender-business/mdb-overview" target="_blank" rel="noopener">Microsoft Defender for Business</a> brings enterprise-grade endpoint detection and automated investigation to companies with up to 300 users, at a price built for SMBs. For teams that want an AI partner in the security seat, <a href="https://learn.microsoft.com/en-us/copilot/security/microsoft-security-copilot" target="_blank" rel="noopener">Microsoft Security Copilot</a> helps analysts summarize incidents, investigate alerts and write queries in plain English. At the same time, set clear rules for how your own people use AI. Determine which tools are approved, what data can go into them and who signs off on new ones. Shadow AI is the new shadow IT.</p>



<h2 class="wp-block-heading">Your PHP2Shell and AI-Era Checklist for This Week</h2>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="576" src="https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-small-business-cybersecurity-checklist-1024x576.webp" alt="PHP2Shell small business cybersecurity checklist with nine action items for this week" class="wp-image-2064" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-small-business-cybersecurity-checklist-1024x576.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-small-business-cybersecurity-checklist-300x169.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-small-business-cybersecurity-checklist-768x432.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-small-business-cybersecurity-checklist-1536x864.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-small-business-cybersecurity-checklist-2048x1152.webp 2048w, https://cswsolutions.com/wp-content/uploads/2026/10/php2shell-small-business-cybersecurity-checklist-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">If you only have an hour, start here. Print it, tape it to the monitor, cross things off with gusto.</p>



<ul class="wp-block-list">
<li>List every website, portal, plugin and appliance you own that faces the internet, and ask your vendors whether PHP is under the hood.</li>



<li>Confirm each PHP system is on 8.2.35, 8.3.36, 8.4.27, 8.5.12 or later. Anything on 8.1 or older goes on the upgrade list today.</li>



<li>On Azure App Service, check the running PHP version directly and move critical apps to the Latest update channel if they lag.</li>



<li>Put public-facing apps behind a web application firewall, and confirm the PHP2Shell rules are actually applied.</li>



<li>Rotate passwords, API keys and tokens for any PHP app that was exposed before patching.</li>



<li>Require phishing-resistant MFA for every admin account, then roll it out to everyone else.</li>



<li>Write down your &#8220;verify before you pay&#8221; callback rule and tell the finance team it applies even to the CEO.</li>



<li>Publish a short list of approved AI tools and where to download them.</li>



<li>Make sure someone, internal or external, is watching your alerts after hours. Attackers do not keep local business hours.</li>
</ul>



<p class="wp-block-paragraph">If you got through that list without breaking a sweat, congratulations, you are ahead of most of the internet. If you got stuck on line one, you are in very good company, and that is exactly where a partner helps.</p>



<h2 class="wp-block-heading">How CSW Solutions Can Help You Stay Ahead in the Age of AI</h2>



<p class="wp-block-paragraph">The biggest thing about PHP2Shell is, the organizations that came through it calmly were not smarter or luckier than everyone else. They simply knew what they were running, had a patch process that could move in hours, and had someone watching. That is not magic. It is good housekeeping, done consistently, by people who care.</p>



<p class="wp-block-paragraph">That is what we do. CSW Solutions has been helping businesses stay secure and productive for over 21 years, which means we have seen plenty of &#8220;the internet is on fire&#8221; weeks. We are a small team by design, we are in the same time zone, and while we live on coffee and code, you get real people who know you and your environment by name, not a ticket number and a hold queue. Here are some of the ways we can help:</p>



<ul class="wp-block-list">
<li><strong><a href="https://cswsolutions.com/managed-it-cloud/" data-type="page" data-id="12">Managed IT</a> and cloud security:</strong> asset inventory, same-day patching for critical flaws, Azure WAF configuration and around-the-clock monitoring with Microsoft Defender, so the next PHP2Shell is a line item, not a crisis.</li>



<li><strong>Identity done right:</strong> rolling out phishing-resistant MFA and Conditional Access in Microsoft Entra without turning Monday morning into a help-desk riot.</li>



<li><strong><a href="https://cswsolutions.com/ai-automation/" data-type="page" data-id="13">AI and automation</a>, safely:</strong> helping your team adopt AI tools that actually save time, with clear guardrails on data, approvals and access, so innovation does not open a side door.</li>



<li><strong><a href="https://cswsolutions.com/software-development/" data-type="page" data-id="11">Custom software</a> that ages well:</strong> if you have a legacy PHP app holding your business together with digital duct tape, we can modernize it, move it to Azure and keep it patched.<br></li>
</ul>



<p class="wp-block-paragraph"><br>Cybersecurity in the age of AI does not require a 10-person security team. It requires the right fundamentals, the right tools and a partner who cares and actually answers the phone. If last week left you wondering where you stand, we would be glad to take a look with you. No pressure, no jargon, just a straight answer and a plan. <a href="https://www.cswsolutions.com/contact/" target="_blank" rel="noopener">Let&#8217;s talk about your security</a> whenever you are ready. The coffee&#8217;s on us.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cswsolutions.com/blog/posts/2026/10/php2shell-cybersecurity-age-of-ai/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>RAG Explained: 5 Simple Steps to AI You Can Trust</title>
		<link>https://cswsolutions.com/blog/posts/2026/10/rag-explained-5-simple-steps-to-ai-you-can-trust/</link>
					<comments>https://cswsolutions.com/blog/posts/2026/10/rag-explained-5-simple-steps-to-ai-you-can-trust/#respond</comments>
		
		<dc:creator><![CDATA[CSW Solutions Team]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 21:32:39 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AI Agents]]></category>
		<category><![CDATA[AI Automation]]></category>
		<category><![CDATA[AI Natural Language Processing]]></category>
		<category><![CDATA[Artificial Intelligence AI Agents]]></category>
		<category><![CDATA[Automating Workflows]]></category>
		<category><![CDATA[Azure AI Studio]]></category>
		<category><![CDATA[Chat GPT]]></category>
		<category><![CDATA[CSW Solutions]]></category>
		<category><![CDATA[CSW Solutions Guide]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Azure]]></category>
		<category><![CDATA[Microsoft Copilot]]></category>
		<category><![CDATA[Microsoft Entra ID]]></category>
		<category><![CDATA[Microsoft Partner]]></category>
		<category><![CDATA[MS 365]]></category>
		<category><![CDATA[OpenAI]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[SMBs]]></category>
		<guid isPermaLink="false">https://cswsolutions.com/?p=2021</guid>

					<description><![CDATA[Picture this, it&#8217;s 4:45pm on a Friday and a client wants to know whether your service agreement covers weekend support. The one person who knows where that documentation is has already left for the day. So you ask the chatbot that lives on all of your applications now. It answers instantly, confidently, and it is [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Picture this, it&#8217;s 4:45pm on a Friday and a client wants to know whether your service agreement covers weekend support. The one person who knows where that documentation is has already left for the day. So you ask the chatbot that lives on all of your applications now. It answers instantly, confidently, and it is completely wrong.</p>



<p class="wp-block-paragraph">That gap between &#8220;sounds right&#8221; and &#8220;is right&#8221; is the whole reason RAG exists. If you&#8217;ve seen the acronym floating around vendor decks and LinkedIn posts and quietly nodded along, welcome to the judgment-free zone. This is RAG explained in plain English. We’ll go over what it is, why it matters, what happens when companies skip it, and how a small or midsize business can use Microsoft tools it may already pay for to make sure AI answers come from its own documentation, not from a best guess based on general training data. No buzzword bingo. Okay, maybe one or two. We&#8217;ll define them as we go.</p>



<h2 class="wp-block-heading">What Is RAG? Retrieval-Augmented Generation in Plain English</h2>



<p class="wp-block-paragraph">RAG stands for retrieval-augmented generation. Take off the lab coat and it basically means AI will look things up in your stuff before it provides an answer. Large language models, like the ones behind ChatGPT and Microsoft Copilot, learn from enormous amounts of public text. That makes them great with language. They summarize, draft, and explain beautifully but it does not make them experts on your pricing sheet, your HR handbook, or the warranty terms you updated last March. They have never seen those documents, so when you ask about them anyway, the model does what it was built to do and it predicts a plausible-sounding answer.</p>



<p class="wp-block-paragraph">RAG changes the order of operations. Instead of asking the AI to answer from memory, you:</p>



<ol class="wp-block-list">
<li><strong>Retrieve</strong> the passages from your own documents that relate to the question.</li>



<li><strong>Augment</strong> the question by handing those passages to the AI along with it.</li>



<li><strong>Generate</strong> an answer based on what was retrieved, ideally with a citation pointing back to the source.</li>
</ol>



<p class="wp-block-paragraph">Microsoft describes RAG as a way of extending what AI can do by &#8220;grounding responses in your proprietary content&#8221; (<a target="_blank" rel="noopener" href="https://learn.microsoft.com/en-us/azure/search/retrieval-augmented-generation-overview">Microsoft Learn: RAG in Azure AI Search</a>). Grounding is the one buzzword worth keeping. It simply means the answer is tied to something real you can point at.</p>



<h3 class="wp-block-heading">RAG Explained as an Open-Book Exam</h3>



<p class="wp-block-paragraph">Think back to school. A closed-book exam tests what you memorized. If you didn&#8217;t study chapter 7, you guess, and some of us were very confident guessers. An open-book exam lets you flip to the right page first.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="576" src="https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-memory-vs-documents-1024x576.webp" alt="RAG explained: AI answering from memory versus answering from company documents with a cited source" class="wp-image-2039" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-memory-vs-documents-1024x576.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-memory-vs-documents-300x169.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-memory-vs-documents-768x432.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-memory-vs-documents.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">RAG turns every AI question into an open-book exam, and the book is your company&#8217;s documentation. The AI still writes the answer in its own words, but it reads from your textbook instead of winging it. One more distinction saves a lot of confusion, RAG is not training. You are not permanently teaching the model new facts or building your own AI from scratch. Your documents stay in a searchable index you control, and the AI reads the relevant pieces at the moment someone asks. Update the document, and tomorrow&#8217;s answers update with it. No retraining, no data scientists on retainer.</p>



<h2 class="wp-block-heading">Why AI Makes Things Up (and What It Costs When It Does)</h2>



<p class="wp-block-paragraph">AI researchers call confident wrong answers &#8220;hallucinations.&#8221; That&#8217;s a generous name. The model isn&#8217;t seeing things nor does it even have an imagination. It&#8217;s filling a knowledge gap with the most statistically likely words. Most of the time that is harmless but sometimes it ends up in front of a judge and when it does, it could end up costing you time and resources. </p>



<h3 class="wp-block-heading">Real-World Case: Air Canada&#8217;s Chatbot Invents a Refund Policy</h3>



<p class="wp-block-paragraph">In November 2022, Jake Moffatt asked Air Canada&#8217;s website chatbot about bereavement fares after a death in his family. The chatbot told him he could book a full-price ticket and request a partial bereavement refund within 90 days. That was not Air Canada&#8217;s actual policy, and when he applied, the airline said no.</p>



<p class="wp-block-paragraph">He took it to British Columbia&#8217;s Civil Resolution Tribunal. Air Canada argued, and we promise this is real, that the chatbot was essentially responsible for its own actions. The tribunal didn&#8217;t buy it. In its February 2024 decision, it found the airline liable for negligent misrepresentation and ordered it to pay CAD $650.88 plus interest and fees (<a href="https://www.manatt.com/insights/newsletters/advertising-law/ai-gone-wild-airline-has-to-honor-a-refund-policy" target="_blank" rel="noopener">Manatt summary of Moffatt v. Air Canada</a>). <br>Small dollars, big lesson. Your AI speaks for your company, whether or not anyone checked its homework.</p>



<h3 class="wp-block-heading">Real-World Case: The Lawyers and the Cases That Didn&#8217;t Exist</h3>



<p class="wp-block-paragraph">In Mata v. Avianca, two New York attorneys filed a brief built on legal research from ChatGPT. Several of the court decisions it cited did not exist. In June 2023, U.S. District Judge P. Kevin Castel sanctioned the attorneys and their firm $5,000 (<a href="https://www.lawnext.com/2023/06/court-imposes-sanctions-on-lawyers-who-filed-bogus-cases-after-relying-on-chatgpt-for-legal-research.html" target="_blank" rel="noopener">LawSites coverage</a>). The fine was modest but the headlines were not.</p>



<h3 class="wp-block-heading">What These Cases Have in Common</h3>



<p class="wp-block-paragraph">Neither problem came down to the AI being &#8220;dumb.&#8221; Both came down to the AI answering without a source of truth. The airline chatbot didn&#8217;t check the actual policy page. The legal research tool didn&#8217;t check an actual case database. That is exactly the gap retrieval-augmented generation fills. Answer from the documentation. Show where the answer came from. And when the documents don&#8217;t cover the question, say so instead of improvising.</p>



<h2 class="wp-block-heading">RAG Explained Step by Step</h2>



<p class="wp-block-paragraph">Here is the whole process, minus the jargon soup.</p>



<h3 class="wp-block-heading">Step 1: Gather Your Documents</h3>



<p class="wp-block-paragraph">Policies, manuals, contracts, SOPs, product sheets, FAQs, past proposals. For most businesses these live in SharePoint, OneDrive, a file share, or a line-of-business app. This step is where most projects quietly succeed or fail, and we&#8217;ll come back to why.</p>



<h3 class="wp-block-heading">Step 2: Chop Them Into Bite-Size Pieces</h3>



<p class="wp-block-paragraph">A 90-page employee handbook is too big to hand the AI all at once, and most of it is irrelevant to any single question. So documents are split into smaller sections called chunks, often a paragraph or a few hundred words each. Microsoft publishes a whole guide on <a target="_blank" rel="noopener" href="https://learn.microsoft.com/en-us/azure/search/vector-search-how-to-chunk-documents">chunking large documents for search</a>, because getting the size right has a real effect on answer quality.</p>



<h3 class="wp-block-heading">Step 3: Index Them for Meaning, Not Just Keywords</h3>



<p class="wp-block-paragraph">Old-school search matches exact words. Ask about &#8220;time off&#8221; and it might miss the section titled &#8220;PTO Policy.&#8221; Modern RAG systems also create embeddings, which are numerical fingerprints of what a chunk means. Similar ideas land close together, so &#8220;time off,&#8221; &#8220;vacation,&#8221; and &#8220;PTO&#8221; find each other.</p>



<p class="wp-block-paragraph">Azure AI Search runs keyword search and meaning-based (vector) search side by side, which Microsoft calls <a href="https://learn.microsoft.com/en-us/azure/search/retrieval-augmented-generation-overview" data-type="link" data-id="https://learn.microsoft.com/en-us/azure/search/retrieval-augmented-generation-overview" target="_blank" rel="noopener">hybrid search</a>, then applies a semantic ranker to push the most relevant results to the top.</p>



<h3 class="wp-block-heading">Step 4: Retrieve the Best Matches</h3>



<p class="wp-block-paragraph">When someone asks a question, the system searches the index and pulls the handful of chunks most likely to hold the answer. A well-built system only retrieves the chunks the user is allowed to see. Microsoft calls this security trimming. If the intern can&#8217;t open the payroll folder, the AI shouldn&#8217;t quote from it either.</p>



<h3 class="wp-block-heading">Step 5: Generate a Grounded Answer With Citations</h3>



<p class="wp-block-paragraph">The question and the retrieved chunks go to the language model with instructions along the lines of, answer using only this material, cite your sources, and if the answer isn&#8217;t here, say you don&#8217;t know. The person gets a plain-English answer plus a link to the actual document. Trust, but verify, and now verifying takes one click.</p>



<p class="wp-block-paragraph">That is RAG explained in five steps. Everything else in the RAG world, from &#8220;agentic retrieval&#8221; to &#8220;vector databases,&#8221; is a refinement of one of those five above.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="576" src="https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-how-it-works-1024x576.webp" alt="How retrieval-augmented generation works: a question, a search of permitted documents, and a cited answer" class="wp-image-2038" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-how-it-works-1024x576.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-how-it-works-300x169.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-how-it-works-768x432.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-how-it-works.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">RAG Success in the Real World</h2>



<p class="wp-block-paragraph">The cautionary tales are fun, but plenty of organizations are getting real value from grounded AI.</p>



<h3 class="wp-block-heading">Morgan Stanley: 100,000 Documents, One Assistant</h3>



<p class="wp-block-paragraph">Morgan Stanley Wealth Management built an internal assistant on GPT-4 that answers financial advisors&#8217; questions from the firm&#8217;s own knowledge base. According to OpenAI&#8217;s <a href="https://openai.com/index/morgan-stanley/" data-type="link" data-id="https://openai.com/index/morgan-stanley/" target="_blank" rel="noopener">case study</a>, it grew from handling about 7,000 questions to answering across roughly 100,000 documents, and it reached over 98% adoption among advisor teams. The part worth noting is that before rollout, the firm built an evaluation framework. Advisors and experts graded the AI&#8217;s answers against known-good responses, and the team ran daily regression tests with sample questions. They didn&#8217;t trust it because it was impressive. They trusted it because they tested it.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="509" src="https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-morgan-stanley-results-1024x509.webp" alt="Bar chart of Morgan Stanley grounded AI results: document access up from 20% to 80%, 98% advisor adoption" class="wp-image-2036" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-morgan-stanley-results-1024x509.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-morgan-stanley-results-300x149.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-morgan-stanley-results-768x381.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-morgan-stanley-results.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Worten: From 3.5 Minutes to Seconds on the Store Floor</h3>



<p class="wp-block-paragraph">Worten, a Portuguese consumer electronics retailer with more than 240 stores, worked with EY to build an internal chatbot using Azure AI Search and Azure OpenAI. Store employees ask questions on a smartphone, and the bot answers from more than 1,000 operations manuals stored in SharePoint, including a link to the source manual. Microsoft <a href="https://www.microsoft.com/en/customers/story/24385-worten-azure-openai" data-type="link" data-id="https://www.microsoft.com/en/customers/story/24385-worten-azure-openai" target="_blank" rel="noopener">reports</a> that document lookups dropped from about 3.5 minutes to a matter of seconds. You are not Morgan Stanley. Neither are we, and our parking situation proves it. But Worten&#8217;s problem is everybody&#8217;s problem. The answers exist, they&#8217;re buried in documents, and people either waste time digging or guess. A 25-person firm with 300 SOPs in SharePoint has the same shape of problem at a friendlier scale.</p>



<h3 class="wp-block-heading">Where RAG Fits for Small and Midsize Businesses</h3>



<ul class="wp-block-list">
<li><strong>Internal help desk:</strong> &#8220;How do I request a new laptop?&#8221; answered from your actual IT policies.</li>



<li><strong>HR and onboarding:</strong> Benefits, PTO, and handbook questions answered at 9 p.m. without pinging HR.</li>



<li><strong>Sales and proposals:</strong> Approved language and past proposal answers pulled up instead of rewritten from scratch.</li>



<li><strong>Customer service:</strong> Product specs and warranty terms with a citation, so reps stop improvising.</li>



<li><strong>Operations:</strong> SOPs, safety procedures, and equipment manuals on a phone at the warehouse or job site.</li>
</ul>



<h2 class="wp-block-heading">Three Ways to Make AI Answer From Your Documents</h2>



<p class="wp-block-paragraph">Good news for Microsoft 365 shops is you may already own pieces of a RAG setup. Here are the three common roads, from least to most custom.</p>



<h3 class="wp-block-heading">Option 1: Microsoft 365 Copilot (RAG That&#8217;s Already Built In)</h3>



<p class="wp-block-paragraph">If you license Microsoft 365 Copilot, you&#8217;re already using RAG. Copilot sends your prompt through <a href="https://learn.microsoft.com/en-us/microsoftsearch/semantic-index-for-copilot" data-type="link" data-id="https://learn.microsoft.com/en-us/microsoftsearch/semantic-index-for-copilot" target="_blank" rel="noopener">Microsoft Graph and a semantic index</a> of your organization&#8217;s content to find relevant material, adds that context, and then passes it to the model. Microsoft states that the index only surfaces content a user already has permission to access, and that prompts, responses, and indexed data aren&#8217;t used to train the foundation models.</p>



<p class="wp-block-paragraph"><strong>Best for:</strong> Everyday questions across email, Teams chats, and files.</p>



<p class="wp-block-paragraph"><strong>The catch:</strong> Copilot respects your permissions exactly as they are. If a sensitive folder was shared with &#8220;Everyone&#8221; back in 2019, Copilot will happily find it. Admins can exclude sensitive SharePoint sites from search and the semantic index, but someone has to know to do it.</p>



<h3 class="wp-block-heading">Option 2: Copilot Studio Agents (A Focused Assistant, Low-Code)</h3>



<p class="wp-block-paragraph">Copilot Studio lets you build an agent that answers from specific <a href="https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-copilot-studio" data-type="link" data-id="https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-copilot-studio" target="_blank" rel="noopener">knowledge sources</a> such as SharePoint sites, uploaded files, public websites, Dataverse, and enterprise connectors. For internal sources, the agent uses the signed-in user&#8217;s Microsoft Entra ID, so it only returns what that person can access. You can also switch off ungrounded responses. With that setting off, the agent only answers when it can cite a source, and otherwise behaves as if it found nothing. That one toggle would have saved Air Canada a tribunal date.</p>



<p class="wp-block-paragraph"><strong>Best for:</strong> An HR bot, an IT help desk, or a sales enablement assistant, built in weeks instead of months.</p>



<h3 class="wp-block-heading">Option 3: Azure AI Search Plus Azure OpenAI (Fully Custom)</h3>



<p class="wp-block-paragraph">When you need RAG inside your own app or client portal, across many data sources, with tight control over chunking, ranking, and security, this is the professional-grade toolkit. <a href="https://azure.microsoft.com/en-us/products/ai-services/ai-search/" data-type="link" data-id="https://azure.microsoft.com/en-us/products/ai-services/ai-search/" target="_blank" rel="noopener">Azure AI Search</a> handles indexing, hybrid search, semantic ranking, and security trimming. Its newer agentic retrieval can break a complicated question into smaller searches, run them in parallel, and return results with citations.</p>



<p class="wp-block-paragraph"><strong>Best for:</strong> Customer-facing portals, line-of-business integrations, and anything where an off-the-shelf assistant is too generic.</p>



<p class="wp-block-paragraph"><strong>Rule of thumb:</strong> Start with the simplest option that solves the actual problem. Plenty of businesses jump straight to a custom build when a well-scoped Copilot Studio agent would have done the job by Thursday.</p>



<h2 class="wp-block-heading">The Mistakes That Sink RAG Projects</h2>



<p class="wp-block-paragraph">RAG is not magic. It&#8217;s a very fast, very literal research assistant. Give it a messy library and you&#8217;ll get messy answers, just faster.</p>



<h3 class="wp-block-heading">Mistake 1: Garbage In, Confident Garbage Out</h3>



<p class="wp-block-paragraph">If your SharePoint holds three versions of the travel policy (Final, Final_v2, and FINAL_actual), the AI may cite any of them. Before you connect anything, archive the outdated versions and give each core document a clear owner.</p>



<h3 class="wp-block-heading">Mistake 2: Ignoring Permissions</h3>



<p class="wp-block-paragraph">RAG respects access controls, which is wonderful when your access controls are right. Oversharing is one of the most common surprises in Copilot rollouts. Review who can see what before AI makes it searchable in plain English.</p>



<h3 class="wp-block-heading">Mistake 3: No &#8220;I Don&#8217;t Know&#8221; Option</h3>



<p class="wp-block-paragraph">A grounded assistant should decline to answer when the documents don&#8217;t cover the question. Configure it that way, then test that it actually does respond that way.</p>



<h3 class="wp-block-heading">Mistake 4: Skipping the Test Drive</h3>



<p class="wp-block-paragraph">Morgan Stanley tested with real advisor questions before rollout. You can run a scaled-down version and write 25 to 50 real questions your team asks, note the correct answers, and grade the AI before launch and after every major content change.</p>



<h3 class="wp-block-heading">Mistake 5: Launching Without a How-To</h3>



<p class="wp-block-paragraph">People need to know what the assistant covers, what it doesn&#8217;t, and that the citation link is there for a reason. A one-page guide and a 15-minute demo go a long way. </p>



<h3 class="wp-block-heading">Quick RAG Readiness Checklist</h3>



<ul class="wp-block-list">
<li>We know the top three questions that eat our team&#8217;s time.</li>



<li>The documents that answer them live in one place, ideally SharePoint.</li>



<li>Outdated versions are archived or deleted.</li>



<li>Permissions have been reviewed in the last 12 months.</li>



<li>Someone owns keeping each key document current.</li>



<li>We have a short list of test questions with known answers.</li>
</ul>



<p class="wp-block-paragraph">Checked four or more? You&#8217;re closer than you think. Fewer than that? Completely normal, and very fixable.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="521" src="https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-ai-readiness-checklist-1024x521.webp" alt="AI readiness checklist for small businesses: a team reviewing files, permissions and test questions before RAG" class="wp-image-2037" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-ai-readiness-checklist-1024x521.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-ai-readiness-checklist-300x153.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-ai-readiness-checklist-768x390.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/rag-explained-ai-readiness-checklist.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">CSW Solutions Can Help</h2>



<p class="wp-block-paragraph">Here&#8217;s where we stop explaining and start being useful. CSW Solutions has been helping businesses make technology behave since 2005, back when &#8220;the cloud&#8221; was mostly something that delayed your flight out of O&#8217;Hare. Today our team works across AI and automation, custom software, and managed IT and cloud, which happens to be exactly the mix a good RAG project needs. We&#8217;re Microsoft and Azure people through and through, so we build on the platform you already trust instead of bolting on one more tool.</p>



<p class="wp-block-paragraph">If you&#8217;re still at the &#8220;should we even try this&#8221; stage, our post on <a target="_blank" rel="noopener" href="https://cswsolutions.com/blog/posts/2025/08/generative-ai-pilots-turning-curiosity-into-real-business-value/">turning generative AI pilots into real business value</a> is a good warm-up. When you&#8217;re ready to go further, here&#8217;s how we typically help:</p>



<ul class="wp-block-list">
<li><strong>Get your house in order first.</strong> We review your SharePoint structure, permissions, and oversharing risks before AI makes everything searchable. Not glamorous, but it&#8217;s the step that keeps your payroll spreadsheet out of the break room conversation.</li>



<li><strong>Pick the right-sized tool.</strong> Microsoft 365 Copilot, a Copilot Studio agent, or a custom Azure AI Search build. We&#8217;ll tell you which one fits, including when the least expensive option wins.</li>



<li><strong>Build it and prove it.</strong> We build the agent or app, write test questions with your team, and measure accuracy before anyone outside the pilot group touches it.</li>



<li><strong>Keep it sharp.</strong> Through our managed IT and cloud services, we keep content, permissions, and Azure costs from drifting after launch day.</li>
</ul>



<p class="wp-block-paragraph">If you&#8217;ve got a pile of documents and a team that keeps asking the same questions, let&#8217;s grab a coffee or a pint. Virtual works, or we&#8217;ll meet you somewhere with a good view of the river. We&#8217;ll look at what you have, tell you plainly what RAG could and couldn&#8217;t do for you, and leave you with a clear next step, whether or not we&#8217;re part of it. No pitch deck the size of Sears Tower. Just a good conversation. <a href="https://cswsolutions.com/contact/" target="_blank" rel="noopener">Reach out to the CSW team</a> whenever you&#8217;re ready.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cswsolutions.com/blog/posts/2026/10/rag-explained-5-simple-steps-to-ai-you-can-trust/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AI-Powered Managed IT Services &#124; The Evolution of IT Support</title>
		<link>https://cswsolutions.com/blog/posts/2026/10/ai-powered-managed-it-services/</link>
					<comments>https://cswsolutions.com/blog/posts/2026/10/ai-powered-managed-it-services/#respond</comments>
		
		<dc:creator><![CDATA[CSW Solutions Team]]></dc:creator>
		<pubDate>Thu, 15 Oct 2026 18:18:41 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AI Agents]]></category>
		<category><![CDATA[AI Automation]]></category>
		<category><![CDATA[Artificial Intelligence AI Agents]]></category>
		<category><![CDATA[Automating Workflows]]></category>
		<category><![CDATA[CSW Solutions]]></category>
		<category><![CDATA[Managed IT Services]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Azure]]></category>
		<category><![CDATA[Microsoft Copilot]]></category>
		<category><![CDATA[Microsoft Entra ID]]></category>
		<category><![CDATA[Microsoft Partner]]></category>
		<category><![CDATA[MS 365]]></category>
		<guid isPermaLink="false">https://cswsolutions.com/?p=1991</guid>

					<description><![CDATA[Remember when IT support meant calling a help desk, waiting on hold, and describing your problem to someone who asked if the computer was plugged in? For a lot of small and midsize businesses, that model still exists. Something breaks, someone files a ticket, and eventually a technician shows up, albeit virtually, with a fix. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Remember when IT support meant calling a help desk, waiting on hold, and describing your problem to someone who asked if the computer was plugged in? For a lot of small and midsize businesses, that model still exists. Something breaks, someone files a ticket, and eventually a technician shows up, albeit virtually, with a fix. It works, sort of, the way the Red Line works during a snowstorm. It&#8217;s coming, just delayed, probably.</p>



<p class="wp-block-paragraph">AI-powered managed IT services flip that script. Instead of waiting for things to break, AI watches your environment around the clock, spots trouble early, and in a growing number of cases it fixes things before anyone on your team notices. The help desk gets faster, the security team gets superpowers, and your employees spend less time staring at spinning wheels and more time doing the work you hired them for.</p>



<p class="wp-block-paragraph">This is not a far-off vision from a tech conference keynote. Microsoft has baked AI into the tools many SMBs already pay for, including Microsoft 365, Intune, Defender, Entra, and Azure. Real organizations are reporting real results, and the economics are starting to make sense for companies that are nowhere near Fortune 500 territory. It is making even more sense for those that are.</p>



<p class="wp-block-paragraph">In this post, we will break down what AI-powered managed IT actually means, which Microsoft tools are driving the shift, what the real-world numbers look like, where the hype outruns reality, and how to get started without losing your mind (or your budget).<br></p>



<h2 class="wp-block-heading">What Are AI-Powered Managed IT Services, Really?</h2>



<p class="wp-block-paragraph">Traditional managed IT services already moved businesses beyond pure break-fix. A managed service provider (MSP) monitors your systems, patches your devices, handles your help desk, and keeps your security tools running for a predictable monthly fee. That was a big upgrade from the &#8220;call us when it is on fire&#8221; approach.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="510" src="https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-managed-it-evolution-1024x510.webp" alt="AI-powered managed IT services evolution from break-fix repairs to scheduled managed IT to predictive AI support" class="wp-image-2011" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-managed-it-evolution-1024x510.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-managed-it-evolution-300x150.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-managed-it-evolution-768x383.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-managed-it-evolution.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">AI-powered managed IT services take that foundation and add a layer of intelligence on top with no overhead. Think of it as the difference between a smoke detector and a building engineer who can smell a wiring problem two floors away. Here is what changes:</p>



<ul class="wp-block-list">
<li><strong>Monitoring becomes predictive.</strong> Instead of alerting when a server is already down, AI models learn what &#8220;normal&#8221; looks like for your environment and flag anomalies early, like a disk filling faster than usual or a login pattern that does not match how your team actually works.</li>



<li><strong>Triage gets automated.</strong> AI can read an incoming ticket, categorize it, pull relevant device data, and suggest (or apply) a fix. Password resets, license assignments, and common software issues stop eating technician hours. </li>



<li><strong>Security response happens in minutes, not days.</strong> AI correlates signals across email, identity, devices, and cloud apps to spot an attack in progress and contain it automatically.</li>



<li><strong>Admins speak plain English.</strong> Instead of writing complex queries, IT pros can ask questions like &#8220;Which laptops are out of compliance and why?&#8221; and get an answer in seconds.</li>



<li><strong>Documentation and reporting write themselves.</strong> AI summarizes incidents, drafts post-mortems, and turns raw telemetry into reports a business owner can actually read.</li>
</ul>



<p class="wp-block-paragraph">The key point for business leaders is that AI does not replace your IT partner. It makes your IT partner dramatically faster, more consistent, and more proactive. The humans still make the judgment calls. They just spend less time on the grunt work and more time on the things that move your business forward. I feel like we are always repeating this when it comes to integration and innovation, but it is almost always the case. More brain power, less overhead.</p>



<p class="wp-block-paragraph">Microsoft&#8217;s own research suggests leaders are already thinking this way. In its <a target="_blank" rel="noopener" href="https://blogs.microsoft.com/blog/2025/04/23/the-2025-annual-work-trend-index-the-frontier-firm-is-born/">2025 Work Trend Index</a>, 82% of leaders said they expect to use digital labor, meaning AI agents, to expand workforce capacity within the next 12 to 18 months. IT support is one of the most natural places to start.</p>



<h2 class="wp-block-heading">The Microsoft Tools Powering AI-Powered Managed IT Services</h2>



<p class="wp-block-paragraph">The good news for SMBs is, you probably do not need to buy a shiny new platform to get started. If you are on Microsoft 365 and Azure, much of the AI-powered IT toolkit is already in the building, waiting to be switched on and configured properly. Below, we have compiled for you the heavy hitters.</p>



<h3 class="wp-block-heading">Microsoft Security Copilot</h3>



<p class="wp-block-paragraph"><a target="_blank" rel="noopener" href="https://adoption.microsoft.com/security-copilot/">Microsoft Security Copilot</a> is a generative AI assistant built for security and IT teams. It summarizes incidents, explains suspicious scripts in plain language, guides investigations, and runs specialized agents that handle repetitive work like triaging phishing reports. It plugs into Defender, Entra, Intune, and Purview, so it sees the whole picture rather than one silo at a time.</p>



<p class="wp-block-paragraph">The big news this year was how Microsoft began <a href="https://mc.merill.net/message/MC1261596" target="_blank" rel="noopener">including Security Copilot in Microsoft 365 E5</a> with a phased rollout between April and June 2026, allocating 400 Security Compute Units per month for every 1,000 user licenses. If your organization is on E5, you may already have access and not know it. Outside E5, Security Copilot is billed on a consumption basis, which makes it worth a conversation about where it actually pays off for your environment. We&#8217;re always happy to <a href="https://cswsolutions.com/contact/" data-type="page" data-id="9">help</a>!</p>



<h3 class="wp-block-heading">Copilot in Microsoft Intune</h3>



<p class="wp-block-paragraph">Intune is how most Microsoft shops manage laptops, phones, and apps. <a href="https://learn.microsoft.com/en-us/intune/copilot/" target="_blank" rel="noopener">Copilot in Intune</a> lets admins query device, app, and compliance data in plain language, get explanations and recommended values for policy settings, spot conflicts between compliance policies, and troubleshoot individual devices. Microsoft has also introduced specialized agents for Intune, including a Vulnerability Remediation Agent, a Change Review Agent, and a Device Offboarding Agent. In translation, the tedious detective work that used to take an hour now takes a few minutes, and it respects your existing role-based permissions so nobody ever sees what they should not see, ever.</p>



<h3 class="wp-block-heading">Microsoft Defender XDR Automatic Attack Disruption</h3>



<p class="wp-block-paragraph">This is the one that makes security folks a little giddy. <a href="https://learn.microsoft.com/en-us/defender-xdr/automatic-attack-disruption" target="_blank" rel="noopener">Automatic attack disruption</a> correlates signals across endpoints, identities, email, and cloud apps to identify active attacks such as ransomware, business email compromise, and adversary-in-the-middle phishing. When it reaches high confidence, it acts on its own by containing devices, disabling compromised user accounts, and revoking active sessions. Every action is reversible, and your IT team can exclude critical assets. For an SMB without a 24/7 security operations center, this is the closest thing to having a security guard who never takes a coffee break.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="536" src="https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-automated-threat-containment-1024x536.webp" alt="AI security incident timeline detecting, correlating and containing a phishing attack on a business network" class="wp-image-2013" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-automated-threat-containment-1024x536.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-automated-threat-containment-300x157.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-automated-threat-containment-768x402.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-automated-threat-containment.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Azure Copilot</h3>



<p class="wp-block-paragraph">For businesses running workloads in the cloud, <a target="_blank" rel="noopener" href="https://learn.microsoft.com/en-us/azure/copilot/overview">Azure Copilot</a> is built right into the Azure portal and mobile app. It helps teams design, operate, optimize, and troubleshoot Azure resources using natural language, and it can take actions on your behalf after you confirm them. Most capabilities are included with an Azure subscription at no extra cost. For managed IT teams, that means faster root-cause analysis when something goes sideways and smarter recommendations for trimming cloud spend.</p>



<h3 class="wp-block-heading">Windows Autopatch</h3>



<p class="wp-block-paragraph">Not every piece of the puzzle is flashy generative AI. <a href="https://learn.microsoft.com/en-us/windows/deployment/windows-autopatch/overview/windows-autopatch-overview" target="_blank" rel="noopener">Windows Autopatch</a> automates updates for Windows, Microsoft 365 Apps, Edge, and Teams using phased rollout rings, so a bad patch hits a small test group before it hits the whole company. As of April 2025, it has been available to organizations on Microsoft 365 Business Premium, not just enterprise plans. Automated, intelligent patching quietly removes one of the most common causes of both downtime and breaches.</p>



<h3 class="wp-block-heading">Microsoft 365 Copilot and Copilot Studio</h3>



<p class="wp-block-paragraph">On the employee side, <a href="https://www.microsoft.com/en-us/microsoft-365/copilot" target="_blank" rel="noopener">Microsoft 365 Copilot</a> and Copilot Studio let businesses build self-service IT agents that live right in Teams. Employees can ask &#8220;How do I connect to the conference room display?&#8221; or &#8220;Why can&#8217;t I access the shared drive?&#8221; and get an answer grounded within your own documentation, with a clean handoff to a human when needed. Microsoft even publishes an <a href="https://adoption.microsoft.com/en-us/scenario-library/information-technology/it-helpdesk-chatbot" target="_blank" rel="noopener">IT help desk agent scenario</a> in its adoption library as a starting point.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="595" src="https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-help-desk-human-handoff-1024x595.webp" alt="AI help desk assistant fixing an employee Wi-Fi issue, with ticket triage and handoff to a human IT expert" class="wp-image-2012" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-help-desk-human-handoff-1024x595.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-help-desk-human-handoff-300x174.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-help-desk-human-handoff-768x446.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-help-desk-human-handoff.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Real-World Results | What AI-Powered IT Support Looks Like in Practice</h2>



<p class="wp-block-paragraph">Vendor promises are cheap. Numbers from live environments are more interesting so as we usually do, we found some real world use cases that are worth a note or two. </p>



<h3 class="wp-block-heading">Avanade: Identity Investigations Cut From 27 Minutes to 2</h3>



<p class="wp-block-paragraph">Avanade, the Microsoft-focused consultancy, piloted Security Copilot inside its identity support workflows, the kind of tickets every IT team knows by heart; from guest account issues, passwordless sign-in problems, to passkey errors. According to <a href="https://www.microsoft.com/en/customers/story/27277-avanade-microsoft-security-copilot" target="_blank" rel="noopener">Microsoft&#8217;s customer story</a>, average investigation time dropped from 10 to 12 minutes down to 2 to 3 minutes. Guest account investigations went from 10 minutes to 1 minute, and passwordless phone sign-in issues went from 27 minutes to 2 minutes.</p>



<p class="wp-block-paragraph">The human side is just as telling. Analysts reported 38% less exhaustion and 31% lower work intensity, and the team handled more than 180 tickets a day during a passkey rollout to 17,000 users. That is the real promise of AI in IT support. Not fewer people, but competent people who are not burned out by the same five problems on repeat.</p>



<h3 class="wp-block-heading">Security Operations: 30% Faster Incident Resolution</h3>



<p class="wp-block-paragraph">Microsoft researchers studied live security operations across 89 organizations that adopted Security Copilot and 88 similar organizations that did not, covering more than 95,000 incidents. Their <a href="https://arxiv.org/html/2411.03116v2" target="_blank" rel="noopener">published study</a> found that Security Copilot adoption was associated with a 30.13% reduction in mean time to resolution within three months. The authors are careful to note this is an association, not proof of cause, since adopting organizations may have changed other things too. Still, a nearly one-third drop in time to resolve incidents is the kind of number that gets a CFO&#8217;s attention, and hopefully, yours.</p>



<h3 class="wp-block-heading">Breach Economics: $1.9 Million and 80 Days</h3>



<p class="wp-block-paragraph">Zoom out from Microsoft and the broader data tells the same story. IBM&#8217;s <a target="_blank" rel="noopener" href="https://newsroom.ibm.com/2025-07-30-ibm-report-13-of-organizations-reported-breaches-of-ai-models-or-applications,-97-of-which-reported-lacking-proper-ai-access-controls">2025 Cost of a Data Breach Report</a> found that organizations using AI and automation extensively in security operations saved an average of $1.9 million in breach costs and cut the breach lifecycle by 80 days. With the average U.S. breach now costing $10.22 million, that is not a rounding error. For an SMB, a breach of any size can be an existential event, so shaving weeks off detection and containment matters even more.</p>



<h3 class="wp-block-heading">SMB Productivity: Up to 353% ROI</h3>



<p class="wp-block-paragraph">On the productivity side, a Forrester Total Economic Impact study commissioned by Microsoft looked at more than 200 small and midsize businesses using Microsoft 365 Copilot. As <a href="https://www.microsoft.com/en-us/microsoft-365/blog/2024/10/17/microsoft-365-copilot-drove-up-to-353-roi-for-small-and-medium-businesses-new-study/" target="_blank" rel="noopener">Microsoft summarized</a>, projected three-year ROI ranged from 132% to 353%, with 25% faster onboarding of new hires and up to 20% reductions in operating costs. Commissioned studies deserve a healthy grain of salt, but faster onboarding is a direct IT win because new employees get productive sooner when their devices, access, and answers are ready on day one.</p>



<h2 class="wp-block-heading">Why This Matters for Small and Midsize Businesses</h2>



<p class="wp-block-paragraph">Large enterprises have security operations centers, dedicated identity teams, and a cloud architect for every floor. Most SMBs have a few smart generalists, an outside IT partner, and a long to-do list. That is exactly why AI-powered managed IT services matter more for smaller organizations, not less. Here is what it means in practice:</p>



<ul class="wp-block-list">
<li><strong>Enterprise-grade protection without enterprise headcount.</strong> Automatic attack disruption and AI-assisted investigation give a 50-person firm a level of response speed that used to require a round-the-clock security team.</li>



<li><strong>Fewer interruptions for your people.</strong> Microsoft&#8217;s research found workers are interrupted every two minutes on average. Self-service IT agents and proactive fixes mean fewer of those interruptions come from tech problems.</li>



<li><strong>Predictable costs, fewer surprises.</strong> Catching a failing drive, a misconfigured policy, or a creeping cloud bill early is always cheaper than the emergency version.</li>



<li><strong>Faster onboarding and offboarding.</strong> AI-assisted device setup, access reviews, and offboarding agents make sure new hires are productive quickly and departing employees lose access cleanly.</li>



<li><strong>Better answers for leadership.</strong> AI-generated summaries turn security and infrastructure data into plain-English reports, so business owners can make decisions without a translator.</li>
</ul>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="599" src="https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-predictive-it-monitoring-1024x599.webp" alt="Predictive IT monitoring dashboard with AI storage forecast, device fleet health, insights and cloud spend" class="wp-image-2010" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-predictive-it-monitoring-1024x599.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-predictive-it-monitoring-300x176.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-predictive-it-monitoring-768x449.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/csw-ai-predictive-it-monitoring.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">The Fine Print | What to Watch Out For</h2>



<p class="wp-block-paragraph">We love this stuff, but we are not going to pretend it is magic. There are a few honest cautions before you go all in:</p>



<p class="wp-block-paragraph"><strong>AI is only as good as your foundation.</strong> If your devices are not enrolled in Intune, your identities are a mess, or your data permissions are wide open, AI will happily surface that mess faster. Copilot respects existing permissions, which is great, unless your existing permissions let everyone see the payroll folder.</p>



<p class="wp-block-paragraph"><strong>Shadow AI is a real risk.</strong> IBM&#8217;s research found that organizations with high levels of unsanctioned AI use paid $670,000 more per breach, and 63% of breached organizations had no AI governance policy or were still writing one. Rolling out sanctioned, well-governed AI tools is part of the cure. Ignoring AI and hoping employees do the same is not.</p>



<p class="wp-block-paragraph"><strong>Costs need planning.</strong> Some features are included in licenses you already own. Others, like Security Copilot outside of E5 or usage-based Azure agents, are billed by consumption. Without guardrails, consumption pricing can surprise you like a Wrigleyville bar tab after a Cubs win.</p>



<p class="wp-block-paragraph"><strong>Humans still own the decisions.</strong> AI agents should handle the repetitive work and recommend actions on the rest. Approvals for sensitive changes, business-impacting decisions, and anything involving client data should stay with people who understand the context.</p>



<p class="wp-block-paragraph"><strong>Automation can misfire.</strong> Microsoft builds automatic attack disruption to be reversible and lets you exclude critical systems for a reason. A good IT partner configures those exclusions thoughtfully and reviews what the automation is doing.</p>



<h2 class="wp-block-heading">How to Get Started With AI-Powered IT Support</h2>



<p class="wp-block-paragraph">You do not need a moonshot. The smartest path is a series of practical steps that each deliver value on their own.</p>



<ol class="wp-block-list">
<li><strong>Take inventory of what you already own.</strong> Many businesses on Microsoft 365 Business Premium or E5 are sitting on AI and automation features they have never turned on. Start with a license and configuration review.</li>



<li><strong>Fix the foundation.</strong> Enroll devices in Intune, enforce MFA and Conditional Access in Entra ID, turn on Windows Autopatch, and clean up file sharing permissions. This is the unglamorous work that makes everything else safe and effective.</li>



<li><strong>Turn on the automatic protections.</strong> Configure Defender XDR, including automatic attack disruption, with sensible exclusions for critical systems.</li>



<li><strong>Pilot AI where the pain is highest.</strong> Pick one or two high-volume problems, such as password and sign-in issues, device compliance, or phishing triage, and measure time spent before and after.</li>



<li><strong>Launch a self-service IT agent.</strong> Use Copilot Studio to build a Teams-based help desk agent grounded in your own documentation, with a clear escalation path to a human.</li>



<li><strong>Set an AI governance policy.</strong> Define which AI tools are approved, what data can go into them, and who reviews AI-driven actions. Keep it short enough that people will actually read it.</li>



<li><strong>Measure and expand.</strong> Track ticket volume, time to resolution, and user satisfaction. Expand what works, and quietly retire what does not.</li>
</ol>



<h2 class="wp-block-heading">Finding the right partner | CSW Solutions</h2>



<p class="wp-block-paragraph">Here is the thing about the next evolution of IT support, the technology is ready but it does not configure itself. Somebody has to connect the dots between Intune, Defender, Entra, Azure, and Copilot, set the guardrails, and make sure the AI is working for your business instead of generating a fresh pile of alerts nobody reads.</p>



<p class="wp-block-paragraph">That is where we come in. CSW Solutions is a Chicago-based all in-house team that lives at the intersection of managed IT, cloud, and AI and automation. We are the folks who get a little too excited about a well-tuned Conditional Access policy, and we will not judge you if you do not share that particular enthusiasm. That is what we are here for.</p>



<p class="wp-block-paragraph">Here is how we help businesses make the jump to AI-powered managed IT services:</p>



<ul class="wp-block-list">
<li><strong>Microsoft 365 and Azure assessments</strong> that show what you already own, what is switched off, and where AI can deliver quick wins.</li>



<li><strong>Foundation hardening</strong> across Intune, Entra ID, Defender, and Windows Autopatch, so AI has clean data and safe permissions to work with.</li>



<li><strong>Security Copilot and Defender configuration</strong> tuned to your environment, including automatic attack disruption with sensible exclusions.</li>



<li><strong>Custom Copilot Studio agents</strong> for self-service IT support, onboarding, and internal knowledge, built around your actual processes.</li>



<li><strong>AI governance and adoption support</strong> that gives your team clear rules of the road and training they will actually use.</li>



<li><strong>Ongoing managed IT</strong> that blends AI-driven monitoring with real humans who know your business, your people, and your quirks.</li>
</ul>



<p class="wp-block-paragraph">We work with growing businesses that want big-company capabilities without big-company bureaucracy. Like a good neighborhood spot, we are small enough to know your name and good enough that you will keep coming back. We strive for transparency and efficiency and it shows.</p>



<p class="wp-block-paragraph">Curious what AI-powered IT support could look like for your team? We would love to grab a coffee or a friendly pint (virtual or Loop-adjacent) and talk it through. No hard sell, no jargon avalanche, just an easy conversation about where you are and where you could go. <a href="https://cswsolutions.com/contact" target="_blank" rel="noopener">Reach out to CSW Solutions</a> whenever you are ready.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cswsolutions.com/blog/posts/2026/10/ai-powered-managed-it-services/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Which Claude Model Should Your Team Use? A Practical Guide for October 2026</title>
		<link>https://cswsolutions.com/blog/posts/2026/10/claude-model-guide/</link>
					<comments>https://cswsolutions.com/blog/posts/2026/10/claude-model-guide/#respond</comments>
		
		<dc:creator><![CDATA[Yoel Sommer]]></dc:creator>
		<pubDate>Wed, 07 Oct 2026 22:43:59 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://cswsolutions.com/?p=1997</guid>

					<description><![CDATA[Short answer: Choosing a Claude model is simpler than the lineup makes it look. Make Claude Opus 5.5 your default. Send everyday, well-scoped coding work to Sonnet 5.5. Use Haiku 5.5 for high-volume pipelines and subagents. Save Fable 5.1 for problems where Opus has already fallen short. And before you switch models at all, try [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Short answer:</strong> Choosing a Claude model is simpler than the lineup makes it look. Make Claude Opus 5.5 your default. Send everyday, well-scoped coding work to Sonnet 5.5. Use Haiku 5.5 for high-volume pipelines and subagents. Save Fable 5.1 for problems where Opus has already fallen short. And before you switch models at all, try changing the <code>effort</code> setting. That is often enough.</p>



<p class="wp-block-paragraph">The rest of this post covers the current lineup, how Anthropic says to choose, what developers and IT managers should do differently, and the migration dates you need on the calendar.</p>



<h3 class="wp-block-heading">What &#8220;Claude Model&#8221; Means in October 2026</h3>



<p class="wp-block-paragraph">Anthropic sells one model family in four tiers. Each tier has a version number, and the API ID follows the name: Opus 5.5 is <code>claude-opus-5-5</code>. All four current models have a 1M-token context window and up to 128K tokens of output.</p>



<p class="wp-block-paragraph">The tier names tell you the trade-off:</p>



<ul class="wp-block-list">
<li><strong>Fable</strong> is the frontier tier. It is the most capable and the most expensive.</li>



<li><strong>Opus</strong> is the daily driver. Anthropic recommends it for most workloads.</li>



<li><strong>Sonnet</strong> is the balanced tier: faster and cheaper than Opus, and strong at routine coding.</li>



<li><strong>Haiku</strong> is the fast, low-cost tier for volume and latency-sensitive work.</li>
</ul>



<p class="wp-block-paragraph">You will also see Claude Mythos 5.1. Anthropic describes it as the same model as Fable 5.1 with different safeguards, and only organizations approved through Anthropic&#8217;s verification programs (currently for cybersecurity and life sciences work) can use it. Most teams can ignore it.</p>



<h3 class="wp-block-heading">The Current Claude Model Lineup at a Glance</h3>



<p class="wp-block-paragraph">These are list prices on the Claude API, in US dollars per million tokens (MTok).</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="595" src="https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-lineup-october-2026-1024x595.webp" alt="Claude model lineup for October 2026 comparing Fable 5.1, Opus 5.5, Sonnet 5.5, and Haiku 5.5 API prices" class="wp-image-1995" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-lineup-october-2026-1024x595.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-lineup-october-2026-300x174.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-lineup-october-2026-768x446.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-lineup-october-2026-1536x892.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-lineup-october-2026-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">Haiku 5.5 launched today, October 7, 2026. It is the only current model with tiered pricing: once a prompt goes over 100,000 tokens, every token in that request costs five times as much.</p>



<p class="wp-block-paragraph">Anthropic also cut the Sonnet 5.5 cache-read price today, from $0.20 to $0.10 per million tokens. At the time of writing, the main pricing table still shows $0.20, but the <a href="https://platform.claude.com/docs/en/release-notes/overview" target="_blank" rel="noopener">release notes</a> confirm $0.10.</p>



<h3 class="wp-block-heading">How Anthropic Says to Choose a Claude Model</h3>



<p class="wp-block-paragraph">Anthropic&#8217;s <a href="https://platform.claude.com/docs/en/models/overview" target="_blank" rel="noopener">model guidance</a> comes down to five rules:</p>



<ol class="wp-block-list">
<li>Start with Opus 5.5 for most workloads.</li>



<li>Move up to Fable 5.1 for demanding reasoning or long-running agents, but only after Opus at higher effort has fallen short.</li>



<li>Use Sonnet 5.5 for everyday coding and agent tasks with a clear scope.</li>



<li>Use Haiku 5.5 when latency and price matter most: subagents, classification, extraction, and high-volume jobs.</li>



<li>Adjust <code>effort</code> before you switch models. Raising effort on Opus often closes the gap without paying Fable prices. Lowering it on simple turns cuts cost and latency.</li>
</ol>



<p class="wp-block-paragraph">Rule 5 is the one teams skip most. A Claude model switch changes behavior, tool handling, and cost all at once. An effort change only changes how hard the model thinks.</p>



<h3 class="wp-block-heading">Developer Playbook</h3>



<h4 class="wp-block-heading">Claude Code</h4>



<p class="wp-block-paragraph">Opus 5.5 is the default. Type <code>/model sonnet</code> to switch a session to Sonnet when the work is routine: writing tests, small refactors, boilerplate, or explaining code. Switch back for architecture changes, tricky debugging, or multi-file changes that cross module boundaries.</p>



<h4 class="wp-block-heading">Cursor and Other IDE Copilots</h4>



<p class="wp-block-paragraph">Sonnet 5.5 is a strong coder. <a href="https://cursor.com/docs/models/claude-sonnet-5-5" target="_blank" rel="noopener">Cursor&#8217;s docs</a> put it at 55.5% on CursorBench at max effort, second only to Opus 5.5. Two caveats: max effort costs roughly six times more per task than the default, and the score drops to 35.8% at low effort. Sonnet at its default effort is a sensible pick for completion and chat inside the editor. Keep Opus for the hardest tasks.</p>



<h4 class="wp-block-heading">Computer Use and Browser Agents</h4>



<p class="wp-block-paragraph">Start with Opus. On the Claude API and Google Cloud, Opus 5.5 and Sonnet 5.5 need the generally available <code>computer_toolset_20260801</code> toolset. The older <code>computer_20251124</code> tool returns a 400 error on those platforms.</p>



<h4 class="wp-block-heading">Subagents</h4>



<p class="wp-block-paragraph">If an orchestrator fans work out to helpers that search, summarize, or check things, run the helpers on Haiku 5.5 and keep the orchestrator on Opus. You get most of the quality for a fraction of the token spend.</p>



<h4 class="wp-block-heading">API Changes to Watch For</h4>



<p class="wp-block-paragraph">Each new Claude model is stricter than the 4.x line:</p>



<ul class="wp-block-list">
<li><strong>Opus 5.5 always thinks.</strong> Sending <code>thinking: {"type": "disabled"}</code> or <code>"enabled"</code> returns a 400. Leave out the <code>thinking</code> field and use <code>effort</code> instead.</li>



<li><strong>Sonnet 5.5 changed how you turn thinking down.</strong> To skip up-front thinking, send <code>thinking: {"type": "between_tools"}</code> instead of <code>"disabled"</code>.</li>



<li><strong>No forced tool use.</strong> Opus 5.5, Sonnet 5.5, and Fable 5.1 reject <code>tool_choice</code> values of <code>any</code> or <code>tool</code>. Use <code>auto</code> with strict tool use.</li>



<li><strong>Haiku 5.5 rejects manual <code>budget_tokens</code></strong> and turns adaptive thinking on by default, so responses can start with <code>thinking</code> blocks.</li>
</ul>



<p class="wp-block-paragraph">Test these changes in a branch before you change a Claude model string in production.</p>



<h3 class="wp-block-heading">What a Claude Model Really Costs</h3>



<p class="wp-block-paragraph">List price is only part of what a Claude model costs you. Four things matter more:</p>



<ul class="wp-block-list">
<li><strong>Prompt caching.</strong> Cache reads on Sonnet 5.5 cost $0.10 per million tokens, against $2 for fresh input. Coding agents send the same system prompt, tool definitions, and repo context over and over, so caching is usually the biggest single saving available.</li>



<li><strong>Batch API.</strong> Anything that can wait, such as nightly code review, documentation generation, or test triage, costs 50% less through the Batch API. That discount stacks with caching.</li>



<li><strong>Opus fast mode.</strong> Fast mode on Opus 5.5 is a research preview on the Claude API only. It costs $8 / $40 per million tokens, double the standard rate, and does not work with the Batch API. Turn it on only where people are waiting on output and the speed is worth paying for.</li>



<li><strong>Token counts.</strong> Claude 4.7 and later models use a tokenizer that produces about 30% more tokens for the same text. If you budgeted on Sonnet 4.5 or Haiku 4.5 numbers, measure again with the token-counting API.</li>
</ul>



<p class="wp-block-paragraph">See Anthropic&#8217;s <a href="https://platform.claude.com/docs/en/about-claude/pricing" target="_blank" rel="noopener">pricing page</a> for the full rate card.</p>



<h3 class="wp-block-heading">IT Manager Playbook</h3>



<h4 class="wp-block-heading">Set One Org Default and Route Around It</h4>



<p class="wp-block-paragraph">Standardize on Opus 5.5 as the default Claude model. Route high-volume IDE and chat use to Sonnet 5.5, pipelines and subagents to Haiku 5.5, and keep Fable 5.1 as an escalation path that someone has to approve.</p>



<h4 class="wp-block-heading">Pick the Access Path That Fits How You Buy and Govern</h4>



<ul class="wp-block-list">
<li><strong>Claude Team or Enterprise.</strong> Best when your users are people working in claude.ai, Claude Code, and the Office add-ins. Enterprise adds the Compliance API, admin user management, and inference hooks (in beta) for policy enforcement.</li>



<li><strong>Direct Claude API.</strong> Best for software you build. New features land here first, including fast mode, which is first-party only.</li>



<li><strong>Microsoft Foundry, Amazon Bedrock, or Google Cloud.</strong> Best when you need your existing cloud contract, identity and access controls, billing, or regional processing. All four current models are available on each. Microsoft Foundry and Claude Platform on AWS bill through their cloud marketplace in Claude Consumption Units at standard rates; on Azure, usage shows up as a single line item in Azure Cost Management.</li>
</ul>



<h4 class="wp-block-heading">Privacy, Residency, and ZDR</h4>



<p class="wp-block-paragraph"><strong>Data residency.</strong> The first-party API supports <code>inference_geo</code> values of <code>global</code> (the default) and <code>us</code>. On Claude 4.6 and later models, <code>us</code> costs 1.1x on every token category. There is no EU option for <code>inference_geo</code>. If you need inference processed in the EU, use regional endpoints on Bedrock or Google Cloud, which carry a 10% premium over their global endpoints.</p>



<p class="wp-block-paragraph"><strong>Fable and Mythos retention.</strong> Fable 5.1 and Mythos 5.1 are <a href="https://support.claude.com/en/articles/15425695-covered-models" target="_blank" rel="noopener">Covered Models</a>. Prompts and outputs are retained for at least 30 days, and zero data retention (ZDR) is not available by default, including through third-party platforms such as Azure subscriptions. Anthropic is offering a time-limited ZDR option for Fable to eligible customers while it rolls out Enterprise Frontier Safeguards this fall. If your contracts or regulators require ZDR, treat Fable as off the table until you have that approval in writing. Opus 5.5 becomes your ceiling, so plan your escalation path around it.</p>



<h4 class="wp-block-heading">Standardize vs. Route</h4>



<p class="wp-block-paragraph">Use one Claude model when you have a small team, low volume, or a compliance review that has to approve each model separately. Opus 5.5 everywhere is simple, and it costs less than the previous Opus ($4 / $20, against $5 / $25 for Opus 5).</p>



<p class="wp-block-paragraph">Route by task once spend is high enough to notice, or once you run agents that make many small calls. Routing adds work: more models to test, monitor, and migrate. Stick to the four-tier routing above rather than tuning model choice per feature.</p>



<h3 class="wp-block-heading">Claude Model Migration Landmines</h3>



<ul class="wp-block-list">
<li><strong>Claude Sonnet 4.5 retires on the Claude API on November 30, 2026.</strong> After that, requests will return errors. Move to Sonnet 5.5 now, and test first, because Sonnet 5.5 rejects forced tool use and handles thinking differently.</li>



<li><strong>Haiku 4.5: migrate as soon as you can.</strong> For prompts up to 100K tokens, Haiku 5.5 costs $0.10 / $0.50 per million tokens, against $1 / $5 for Haiku 4.5. It also breaks code that sends <code>budget_tokens</code>, so update your thinking settings and response parsing first.</li>



<li><strong>Hardcoded model IDs.</strong> Search your repos, CI config, and infrastructure-as-code for <code>claude-sonnet-4-5</code>, <code>claude-haiku-4-5</code>, and older IDs. Put the Claude model name in config, not code.</li>



<li><strong>Thinking blocks.</strong> Thinking blocks are tied to where they came from. Sonnet 5.5 silently drops blocks produced in a different, unlinked account, and Fable 5.1 accepts only blocks from the same model or a newer one. Don&#8217;t replay conversation history across models or accounts and expect the reasoning to carry over.</li>
</ul>



<h3 class="wp-block-heading">Recommended Claude Model Defaults for MSP and Software Teams</h3>



<p class="wp-block-paragraph">This is the setup CSW Solutions recommends to clients today:</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="733" src="https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-recommended-defaults-msp-software-teams-1024x733.webp" alt="" class="wp-image-1996" srcset="https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-recommended-defaults-msp-software-teams-1024x733.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-recommended-defaults-msp-software-teams-300x215.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-recommended-defaults-msp-software-teams-768x550.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-recommended-defaults-msp-software-teams-1536x1100.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/10/claude-model-recommended-defaults-msp-software-teams-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">For MSPs running Claude across several client tenants, use a separate workspace or cloud account per client so spend limits, keys, and retention settings stay separate. Write the routing rules into each client&#8217;s AI use policy so every Claude model choice holds up in an audit.</p>



<h3 class="wp-block-heading">Frequently Asked Questions</h3>



<h4 class="wp-block-heading">Which Claude model should most teams use by default?</h4>



<p class="wp-block-paragraph">Claude Opus 5.5. Anthropic recommends it for most workloads, and at $4 / $20 per million tokens it costs less than Opus 5 did.</p>



<h4 class="wp-block-heading">Is Claude Haiku 5.5 cheaper than Haiku 4.5?</h4>



<p class="wp-block-paragraph">Yes, by about 90% at list price for prompts up to 100K tokens ($0.10 / $0.50 against $1 / $5). Above 100K tokens the rate rises fivefold, and the newer tokenizer uses more tokens for the same text, so measure real workloads before you budget.</p>



<h4 class="wp-block-heading">When does Claude Sonnet 4.5 retire?</h4>



<p class="wp-block-paragraph">November 30, 2026, on the Claude API. Anthropic recommends migrating to Sonnet 5.5.</p>



<h4 class="wp-block-heading">Can I use Claude Fable 5.1 with zero data retention?</h4>



<p class="wp-block-paragraph">Not by default. Fable 5.1 is a Covered Model with at least 30 days of retention. Anthropic is offering a time-limited ZDR option to eligible customers, so ask your Anthropic or cloud account team.</p>



<h3 class="wp-block-heading">Need a Hand Picking Your Claude Model?</h3>



<p class="wp-block-paragraph">If you want help setting up model routing, cost controls, or a Sonnet 4.5 migration, we&#8217;re happy to talk it through. Reach out to the CSW Solutions team and we&#8217;ll help you find the right fit, no deep-dish-sized commitment required.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://cswsolutions.com/blog/posts/2026/10/claude-model-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How We Standardized Our Software Development Process, One Argument at a Time</title>
		<link>https://cswsolutions.com/blog/posts/2026/09/standardized-our-software-development-process/</link>
					<comments>https://cswsolutions.com/blog/posts/2026/09/standardized-our-software-development-process/#respond</comments>
		
		<dc:creator><![CDATA[CSW Solutions Team]]></dc:creator>
		<pubDate>Fri, 25 Sep 2026 19:52:00 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AI Automation]]></category>
		<category><![CDATA[Artificial Intelligence AI Agents]]></category>
		<category><![CDATA[Automating Workflows]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Blue-Green Deployment]]></category>
		<category><![CDATA[Chat GPT]]></category>
		<category><![CDATA[Chicago Software Development]]></category>
		<category><![CDATA[Code Quality Assessment]]></category>
		<category><![CDATA[Code Review]]></category>
		<category><![CDATA[CSW Solutions]]></category>
		<category><![CDATA[CSW Solutions Guide]]></category>
		<category><![CDATA[Custom Software Development]]></category>
		<category><![CDATA[Microsoft Copilot]]></category>
		<category><![CDATA[Modern Software Development]]></category>
		<category><![CDATA[OpenAI]]></category>
		<guid isPermaLink="false">https://cswsolutions.com/?p=1946</guid>

					<description><![CDATA[There is a specific kind of confidence you find in a boutique shop. Ask any one of us how we build software and you will get a fast, fluent, genuinely correct answer. Ask two of us at the same time and you will get two fast, fluent, genuinely correct answers that do not quite match. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">There is a specific kind of confidence you find in a boutique shop. Ask any one of us how we build software and you will get a fast, fluent, genuinely correct answer. Ask two of us at the same time and you will get two fast, fluent, genuinely correct answers that do not quite match. That was us for a long while, and it worked, mostly. Small teams run on shared instinct. Everybody knows who to ask, everybody knows which client hates surprises, everybody knows the Friday deploy is a bad idea. The process lived in people&#8217;s heads, which is a perfectly fine way to operate right up until the moment it is not.</p>



<p class="wp-block-paragraph">The moment it was not, for us, arrived with AI. No one kicked a door down or anything, it kind of crept up on us in the same way it might have done so to a lot of people in the tech world. We just looked up one quarter and realized AI was doing real, load-bearing work at several stages of our lifecycle while our unwritten process still quietly assumed a human was doing all of it. That gap is where bad things grow.</p>



<p class="wp-block-paragraph">So we standardized our software development process, not the fun kind either, where someone makes a slide deck with eight boxes and an arrow and a flash dance. The tedious kind, where you write down what you actually do, discover that maybe half of it is wrong, and argue your way to something the whole team will sign. This post is about that kind of work and the process of standardizing the process. It is less glamorous than a fancy flowchart and about ten times more useful if you are thinking about doing this yourself.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="538" src="https://cswsolutions.com/wp-content/uploads/2026/09/standardized-software-development-process-1024x538.png" alt="How we standardized our software development process across eight stages Title: Standardized software development process" class="wp-image-1980" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/standardized-software-development-process-1024x538.png 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/standardized-software-development-process-300x158.png 300w, https://cswsolutions.com/wp-content/uploads/2026/09/standardized-software-development-process-768x403.png 768w, https://cswsolutions.com/wp-content/uploads/2026/09/standardized-software-development-process.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">The Tell: Everybody knew the process, nobody agreed on it</h3>



<p class="wp-block-paragraph">The first honest thing we did was stop describing our process out loud and start writing it down. Talking about a process is easy because conversation smooths over the seams but without putting it in writing, it was all just talking and no action. Writing forces you to define each part with words. Is the requirements doc reviewed, or has it been approved? By whom? Before or after the estimate? </p>



<p class="wp-block-paragraph">We sat down with a whiteboard and listed every stage from the first client conversation to code in production. Eight stages came out of it: discovery, scope, define, plan, build, verify, release, monitor. Nothing exotic. The exotic part was what happened when we first asked each person to describe, in one sentence, what actually happens inside each stage. The sentences did not match. They were not contradictory exactly, they were just different enough that two developers could both follow &#8220;the process&#8221; and produce different work. That is the tell. If your team cannot independently write the same sentence about a stage, you do not have a standard there, you have a tradition loaded with assumptions. These kinds of traditions are fine enough when you&#8217;re starting out but they do not survive growth, turnover, or a new tool that revolutionizes who does the work.</p>



<p class="wp-block-paragraph">Microsoft&#8217;s Well-Architected Framework has a whole section on <a href="https://learn.microsoft.com/en-us/azure/well-architected/operational-excellence/formalize-development-practices" target="_blank" rel="noopener">formalizing development practices</a>, and the part that stuck with us is the framing: standardization is not about control, it is about making the work predictable enough that you can improve it. You cannot tune a process you cannot describe.</p>



<h3 class="wp-block-heading">Why: AI changed who was doing the work</h3>



<p class="wp-block-paragraph">Plenty of teams talk about standardizing for years and never do it, because there was never really an immediate need or a deadline to the process as long as everything was done on time and within budget. For us, the sideways and yours probably did too, if you&#8217;ve made it this far. AI had crept into our day to day with a draft here, a test case there, and a second opinion on a pull request. Eventually, it just became too useful to ignore, too fast to be invconvenient, and eventually completely unaccounted for in any document we had. Our process assumed a person wrote the requirements doc. A person did, sort of, with a lot of help. Our process assumed a person reviewed every line of a pull request and a person did, after something else had already flagged the obvious stuff. None of that was reckless, it was just not written down, which meant nobody could tell you where the human checkpoints were supposed to be. And when you cannot name your checkpoints, you cannot tell whether you still have them. There is no consistency and that can really derail time management in a a team.</p>



<p class="wp-block-paragraph">So we picked a single organizing question and held it over every stage. When and where does AI come into the equation and who should be reviewing the additional work required to meet expectations? That line of questioning turned out to be the whole project. It is specific enough to argue about and broad enough to apply to discovery, planning, testing, and deploys alike. Microsoft&#8217;s own <a href="https://learn.microsoft.com/en-us/training/paths/accelerate-app-development-using-github-copilot/" target="_blank" rel="noopener">AI-assisted development guidance</a> treats these tools as accelerators inside an existing engineering discipline rather than replacements for it, and that matched what we were seeing in practice. AI is spectacular at drafting, structuring, and speed. It is not the thing you want holding the virtual pen on scope.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">Step One: Write the Real Process</h3>



<p class="wp-block-paragraph">The temptation when you standardize is to document the process you would have if everyone behaved perfectly. Resist it, as an aspirational process document is a work of fiction, and your team will read it exactly once. We wrote the current state first, warts included, and some of the warts were embarrassing. There was a stage where &#8220;the client signs off&#8221; meant an email reply that said &#8220;looks good.&#8221; There was a period where tickets moved into development without an estimate anybody had actually agreed to, much less kept track of. So, writing it all down in plain language did more to fix it than any amount of process design, because once it is on the page in front of a handful of people, somebody says out loud what everyone was thinking.</p>



<p class="wp-block-paragraph">Only after the current state was out there did we start making changes, and the changes were smaller than we expected. Most of what we needed was already happening somewhere on the team, just not everywhere, or consistently, or in an order anyone could predict. Standardizing is usually less about inventing practices and more about picking which existing version of a practice wins.</p>



<p class="wp-block-paragraph">One early decision shaped everything afterward and it was that discovery stays a real, billed, scoped phase. Not a courtesy call, not a free hour before the proposal. We learned the hard way on a past project that speed only helps after you actually know what you are building. Point AI at a fuzzy problem and it will cheerfully help you build the wrong thing much faster than before. Microsoft&#8217;s guidance on <a href="https://learn.microsoft.com/en-us/azure/devops/cross-service/manage-requirements?view=azure-devops" target="_blank" rel="noopener">requirements management for agile teams</a> makes a similar point in a gentler language. The requirement is the unit everything downstream depends on, so it is worth slowing down for.</p>



<h3 class="wp-block-heading">Step Two: Consistency is Key</h3>



<p class="wp-block-paragraph">We went stage by stage with the same question, and we did not let ourselves skip a box because the answer seemed obvious and well, the obvious ones were where we found the surprises. Take the requirements spec. The answer looked simple enough, AI drafts it and a person reviews it. But asking properly forced two follow-ups. First, what does AI get to work from? We decided, everything. The signed statement of work, the discovery notes, every call recording and transcript, every scrap of prior documentation from the client. More context in, better output. There is no such thing as over-briefing here, and half the bad AI output we had seen was really just under-briefed AI output. Second, what does the human review actually mean? We landed on something slightly heretical. The client signs the spec, and we treat that signature as a strong starting point rather than a frozen contract. Requirements change as you learn. Pretending otherwise just moves the argument to change orders later, which is a worse place to have it. That is what asking the question properly does, and by properly, we mean every single time. It takes a box you thought was settled and turns it into two decisions you now have in writing.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="597" src="https://cswsolutions.com/wp-content/uploads/2026/09/software-development-process-stages-ai-human-checkpoints-1024x597.png" alt="Eight stages of our software development process showing AI-assisted steps and human checkpoints" class="wp-image-1981" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/software-development-process-stages-ai-human-checkpoints-1024x597.png 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/software-development-process-stages-ai-human-checkpoints-300x175.png 300w, https://cswsolutions.com/wp-content/uploads/2026/09/software-development-process-stages-ai-human-checkpoints-768x448.png 768w, https://cswsolutions.com/wp-content/uploads/2026/09/software-development-process-stages-ai-human-checkpoints-1536x896.png 1536w, https://cswsolutions.com/wp-content/uploads/2026/09/software-development-process-stages-ai-human-checkpoints-scaled.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Eight stages, one rule: every AI-assisted step keeps a human checkpoint close by.</figcaption></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Step Three: Open Dialogue </h3>



<p class="wp-block-paragraph">The most productive hours of this whole effort were the ones that felt least productive at the time. Specifically, the shortcuts we talked ourselves into and then back out of. The biggest one was to let AI turn the requirements spec straight into a finished implementation plan, with developers simply picking up tickets at the end. It is so fast and genuinely tempting but it is the biggest mistake anyone can make with AI. It quietly pushes every misunderstanding downstream to the exact point where fixing it is most expensive. A developer executing someone else&#8217;s plan, or something else&#8217;s plan, is a developer who does not fully understand what they are building and you find out on the day it matters. So we rejected it, and we wrote down that we rejected it, along with why and that last part matters more than it sounds. Six months from now someone new is going to look at our planning step and think &#8220;why is a human doing this, we could automate it.&#8221; The document answers them. A standard without its reasoning attached gets quietly eroded by every clever person who joins after you wrote it.</p>



<p class="wp-block-paragraph">What we kept instead was that spec use cases would become epics, and breaking an epic into tickets is done together by AI, the assigned developer, and the technical lead. AI drafts the first pass. The people who will actually build the thing shape the rest. It is slower on paper but faster in reality, and the developer walks in understanding the work.</p>



<h3 class="wp-block-heading">Step Four: Make Every Rule Checkable</h3>



<p class="wp-block-paragraph">Here is where a lot of standardization efforts quietly die. You write &#8220;tickets should be well defined before development starts,&#8221; everyone nods, and nothing changes, because &#8220;well defined&#8221; is a vibe and vibes do not gate check anything. We forced every rule into something checkable. Our Definition of Ready became four concrete items, and a ticket clears all four or it does not enter the queue: </p>



<ul class="wp-block-list">
<li>acceptance criteria written so they can become tests</li>



<li>an estimate the assigned developer personally agrees to</li>



<li>dependencies identified</li>



<li>a design or mockup attached whenever a UI is involved. </li>
</ul>



<p class="wp-block-paragraph">No exceptions, even for the person who wrote the rule. <br>The acceptance-criteria-as-tests piece turned out to be the quiet MVP of the entire project. When each requirement becomes its own test, three good things happen without anyone doing extra work. Developers know when they are done. Reviewers know what to look for. And AI has an actual target to aim at, which is the difference between AI that helps and AI that produces plausible-looking work nobody can evaluate. Microsoft&#8217;s <a href="https://learn.microsoft.com/en-us/azure/well-architected/operational-excellence/testing" target="_blank" rel="noopener">architecture strategies for testing</a> make the same argument from the reliability side, tests defined against explicit criteria are what make a change reviewable at all. The checkability test is a good filter to run over your own draft standard. Read each rule and ask what you would look at to know it was followed. If the answer is &#8220;you would just kind of know,&#8221; rewrite it or delete it.</p>



<h3 class="wp-block-heading">Step Five: Label Everything</h3>



<p class="wp-block-paragraph">Not everything we discussed deserved to become a rule, and pretending otherwise is how process documents get ignored. Some things we were sure about and some things we are still figuring out. We labeled everything differently on purpose. One rule we decided on was that we do not run sprints. Work moves through one continuous lane on a single board, pulled rather than assigned, with a strict limit of one ticket in flight per developer. That was a real decision with real tradeoffs, and Microsoft&#8217;s documentation on <a href="https://learn.microsoft.com/en-us/azure/devops/boards/boards/wip-limits?view=azure-devops" target="_blank" rel="noopener">work in progress limits</a> and <a href="https://learn.microsoft.com/en-us/devops/plan/what-is-kanban" target="_blank" rel="noopener">Kanban generally</a> covers the mechanics better than we could. Our reason for it was specific though, sprint commitments assume you can predict a two-week window, and the pace of AI-assisted work has been changing faster than any two-week estimate anyone would make. A pull system and a WIP limit gave us flow control without asking anyone to forecast something they cannot forecast. In part, it is an openly labeled experiment, whether AI code review should ever skip the human step entirely. We are intentionally undecided. It is an open question across the industry, and we would rather run it as an experiment with a review date than write a policy we do not believe yet.</p>



<p class="wp-block-paragraph">Another one we admitted in writing was with backlogs running past a hundred items, we do not yet have a clean way to see which tickets are genuinely ready to build. We are piloting checklist tooling and automation rules and that is it, that is the whole entry. Writing &#8220;we have not solved this&#8221; in your own standard feels bad for about a day and then pays you back forever, because it tells the team where to push and it keeps the document credible.</p>



<h3 class="wp-block-heading">Step Six: Note Obstacles Disguised As Essential</h3>



<p class="wp-block-paragraph">Every standard needs a small number of things that do not bend. Ours came down to one, a human confirms every release before it ships. Almost everything upstream of that gate now runs itself. Automated tests, a quality and security scan, an AI review pass that checks the change against our standards and leaves comments. Verification is where AI does the most independent work we give it anywhere, the Playwright suite runs first, AI classifies each failure, then AI runs its own exploratory pass against the deployed feature hunting for the cases nobody thought to script. A developer other than the author still confirms every finding and operates the feature by hand before signing off. Microsoft&#8217;s <a href="https://learn.microsoft.com/en-us/azure/app-testing/playwright-workspaces/quickstart-automate-end-to-end-testing" target="_blank" rel="noopener">Azure App Testing and Playwright Workspaces docs</a> cover running that kind of suite at scale, and the <a href="https://learn.microsoft.com/en-us/azure/devops/pipelines/process/approvals?view=azure-devops" target="_blank" rel="noopener">pipeline approvals documentation</a> covers the gate itself.</p>



<p class="wp-block-paragraph">The reason we drew the line there rather than somewhere else is because the release decision is the only step in the lifecycle where the cost of being wrong lands entirely on the client. Everything else is recoverable inside our own walls. Microsoft&#8217;s <a href="https://learn.microsoft.com/en-us/devops/operate/safe-deployment-practices" target="_blank" rel="noopener">safe deployment practices</a> guidance treats progressive, verifiable rollout as a discipline rather than a tool choice, which is roughly how we think about the final gate. It is not that we distrust the automation. It is that somebody&#8217;s name belongs on the decision. For projects at the right scale, once the pipeline is solid and a rollback plan genuinely exists, we ship qualifying deploy is with a blue-green pattern, which in Azure terms usually means <a href="https://learn.microsoft.com/en-us/azure/app-service/deploy-staging-slots" target="_blank" rel="noopener">deployment slots and a swap</a>. It is worth being precise about what that is and is not since blue-green only ever fires after the human approval. It is how an already-approved release ships without downtime. It is not a second, quieter way of deciding whether to ship.</p>



<h3 class="wp-block-heading">Step Seven: Note Obstacles Disguised As Essential</h3>



<p class="wp-block-paragraph">A process you have only tested on a whiteboard is a hypothesis. We ran ours on live client work, which is uncomfortable and also the only way to find out what is actually wrong with it since real projects surface the friction immediately. A stage that reads beautifully takes four days in practice. A checklist item that seemed essential could turn out to be a formality nobody uses. We changed several things after the first pass, including tightening what Design Review covers, because it turned out two different stages were both quietly claiming to approve architecture. We also kept notes on the moments people worked around the process instead of with it because workarounds are diagnostic. When a good developer routes around a step, the step is usually wrong, not the developer. Treat those as bug reports against the standard, not compliance problems, and people will keep telling you about them.</p>



<h3 class="wp-block-heading">Step Eight: Build the Feedback Loop</h3>



<p class="wp-block-paragraph">The last piece of standardizing is making sure the standard does not rot the moment you publish it. Two things do that for us. The first is technical, after release, nightly regression runs keep going, AI reviews the results, and it opens tickets directly for anything that fails. By the time anyone starts the next working day, issues are already queued and triaged, straight back into planning. Azure Monitor supports the same shape of loop with <a href="https://learn.microsoft.com/en-us/azure/azure-monitor/app/release-and-work-item-insights" target="_blank" rel="noopener">work item integration from Application Insights</a>, so production reality flows back into the backlog without waiting for somebody to notice. A lifecycle that only runs one direction is a waterfall wearing a hoodie. Yes, we did consider creating an image like that to prove this point. The second is cultural, the document has a version number and an owner, the open questions have review dates, and we expect to be wrong about at least some things. Security is a good example of something we deliberately left room to revise, since the shape of a <a href="https://learn.microsoft.com/en-us/azure/well-architected/security/secure-development-lifecycle" target="_blank" rel="noopener">secure development lifecycle</a> keeps moving as the tooling does. We also published it to the team rather than filing it, because a standard in a shared drive nobody opens is just a very long opinion. Kind of like a blog. ;)</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="683" src="https://cswsolutions.com/wp-content/uploads/2026/09/software-development-process-fewer-surprises-1-1024x683.webp" alt="Developer leaning back at his desk, relaxed because the software development process runs without surprises" class="wp-image-1988" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/software-development-process-fewer-surprises-1-1024x683.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/software-development-process-fewer-surprises-1-300x200.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/software-development-process-fewer-surprises-1-768x512.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/software-development-process-fewer-surprises-1.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">The point of writing it all down: fewer surprises, and nobody guessing what happens next.</figcaption></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">What we learned standardizing our software development process</h3>



<p class="wp-block-paragraph">If you are staring down the same project, here is the short version of what we learned, minus the parts that were specific to us. The best way is to write the current state before the future state, and be embarrassing about it. Pick one question and ask it at every single stage, including the boxes you think are settled. Record the shortcuts you rejected along with every reason why, because that reasoning is the only thing protecting the decision later. Make every rule checkable or cut it. Label your experiments as experiments and your unsolved problems as unsolved. Choose a very small number of gates that never move, and be able to explain why those are there and not others. Pilot it on real work. Build a loop that feeds production back into planning and then expect to revise the whole thing. Review new rollouts because something could have been released that changes everything you just settled on. </p>



<p class="wp-block-paragraph">And this is all just a note on scale, since we are a small <a href="https://cswsolutions.com/about/" data-type="page" data-id="7">local firm</a> and not a platform org with a process department. Small teams sometimes assume standardization is something you do when you have outgrown something but we found it to be the opposite. A small team that can actually agree on something in a room with a written standard, while everyone still fits in that room, is a standard everyone believes in. Doing it later means doing it to people instead of with them.</p>



<p class="wp-block-paragraph">None of this is about trusting AI less in the process. It is about being precise regarding what it is good at, which is drafting, structuring, and accelerating, while keeping people working where it actually matters, which is scope, requirements, and the call to ship. We will keep refining it, and we will write about what changes. If you are working through the same questions at your own shop, whether that is your first AI-assisted project or a process document that has not been opened since 2023, we are always up for comparing notes. So, come <a href="https://cswsolutions.com/contact/" data-type="page" data-id="9">argue with us</a>. That is rather the point of writing it down.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cswsolutions.com/blog/posts/2026/09/standardized-our-software-development-process/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Real Cost of a Cyber Incident for an SMB, and the Azure Basics That Prevent Most of Them</title>
		<link>https://cswsolutions.com/blog/posts/2026/09/real-cost-of-a-cyber-incident-smb/</link>
					<comments>https://cswsolutions.com/blog/posts/2026/09/real-cost-of-a-cyber-incident-smb/#respond</comments>
		
		<dc:creator><![CDATA[CSW Solutions Team]]></dc:creator>
		<pubDate>Thu, 17 Sep 2026 20:22:16 +0000</pubDate>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Azure Defender]]></category>
		<category><![CDATA[Cybersecurity]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Azure]]></category>
		<category><![CDATA[Microsoft Entra ID]]></category>
		<category><![CDATA[Microsoft Partner]]></category>
		<category><![CDATA[Ransomware]]></category>
		<category><![CDATA[application modernization]]></category>
		<category><![CDATA[MFA]]></category>
		<category><![CDATA[SMBs]]></category>
		<guid isPermaLink="false">https://cswsolutions.com/?p=1917</guid>

					<description><![CDATA[Ask a small business owner what a ransomware attack costs and you will usually get one number back, the ransom. It is the number in the headline, the number in the movie, the number the attacker types into the chat window when you realize your data is gone. It is also the least interesting number [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ask a small business owner what a ransomware attack costs and you will usually get one number back, the ransom. It is the number in the headline, the number in the movie, the number the attacker types into the chat window when you realize your data is gone. It is also the least interesting number in the whole mess. The real cost of a cyber incident is almost never the line item the attacker names. The real cost of a cyber incident is the pile of bills that shows up behind the ransom, most of which nobody warns you about like the payroll you still owe while the lines are down; or the receivables you cannot invoice because the ERP is encrypted. The forensics firm billing hourly. The customer who quietly moves to your competitor and never tells you why. If you run a company here in Chicago somewhere between two million and fifty million in revenue, that pile is the thing that decides whether you are back in business in three weeks or filing paperwork in three months.</p>



<p class="wp-block-paragraph">Here is the good news, and it is genuinely good news. Most of the incidents that generate that pile start with something small and preventable. A password nobody rotated. A firewall nobody patched. A backup nobody tested. The controls that stop them are already sitting inside the Microsoft and Azure licensing you are probably paying for right now. You just have to turn them on and keep them on.</p>



<p class="wp-block-paragraph">Let us walk through the true cost of a cyber incident, what it looked like for real companies, and which Azure basics do the most work for the least money. If you would rather skip to the part where somebody else handles it, our <a href="https://cswsolutions.com/managed-it-cloud/">managed IT and cloud services</a> cover that too.</p>



<h2 class="wp-block-heading">The Real Cost of a Cyber Incident Starts After the Ransom</h2>



<p class="wp-block-paragraph">IBM&#8217;s 2026 Cost of a Data Breach <a href="https://www.infosecurity-magazine.com/news/cost-of-a-data-breach-5m-ibm/" data-type="link" data-id="https://www.infosecurity-magazine.com/news/cost-of-a-data-breach-5m-ibm/" target="_blank" rel="noopener">report</a> puts the global average breach at <strong>$4.99 million</strong>, a twelve percent jump over the prior year, with healthcare leading at $6.6 million. Before you close the tab, fair warning, those averages lean heavily on enterprises with legal departments and eight-figure incident budgets. They are not your number. Your number looks more like the cyber insurance data, which tracks actual claims from actual mid-market companies. Coalition&#8217;s 2026 <a href="https://www.globenewswire.com/news-release/2026/03/05/3250546/0/en/coalition-s-2026-cyber-claims-report-finds-initial-ransom-demands-surged-47-but-most-businesses-refuse-to-pay.html" data-type="link" data-id="https://www.globenewswire.com/news-release/2026/03/05/3250546/0/en/coalition-s-2026-cyber-claims-report-finds-initial-ransom-demands-surged-47-but-most-businesses-refuse-to-pay.html" target="_blank" rel="noopener">Cyber Claims Report</a> found the average ransomware claim severity landed at <strong>$269,000</strong>, with initial ransom demands up forty seven percent year over year and eighty six percent of businesses refusing to pay anyway. Business email compromise and funds transfer fraud together made up fifty eight percent of all claims, with funds transfer fraud averaging $141,000 per incident. That last one deserves a moment. More than half of all cyber claims are not dramatic hacker-in-a-hoodie events. They are somebody in accounting wiring money to a bank account that looked exactly right.</p>



<p class="wp-block-paragraph">So, when you honestly price out the real cost of a cyber incident, you are adding up five separate meters, all running at once:</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="713" src="https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-five-cost-meters-1024x713.webp" alt="The real cost of a cyber incident for an SMB broken into five meters, downtime, recovery labor, legal and notification, cash flow, and reputation and churn" class="wp-image-1940" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-five-cost-meters-1024x713.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-five-cost-meters-300x209.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-five-cost-meters-768x534.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-five-cost-meters.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Add all of these together and the cost of a cyber incident for a healthy SMB regularly lands somewhere between a very bad quarter and the end of the company. Which brings us to the part where that stops being hypothetical.</p>



<h2 class="wp-block-heading">What the Cost of a Cyber Incident Looked Like for Four Real Companies</h2>



<h3 class="wp-block-heading">KNP Logistics: 158 years, one password</h3>



<p class="wp-block-paragraph">KNP was a UK haulage company running roughly 500 trucks with 700 employees. In 2025, the Akira ransomware group <a href="https://www.tomshardware.com/tech-industry/cyber-security/158-year-old-company-forced-to-close-after-ransomware-attack-precipitated-by-a-single-guessed-password-700-jobs-lost-after-hackers-demand-unpayable-sum" data-type="link" data-id="https://www.tomshardware.com/tech-industry/cyber-security/158-year-old-company-forced-to-close-after-ransomware-attack-precipitated-by-a-single-guessed-password-700-jobs-lost-after-hackers-demand-unpayable-sum" target="_blank" rel="noopener">got in</a> by guessing a single employee&#8217;s password. They encrypted the servers, the backups, and the disaster recovery environment, then demanded around five million pounds. KNP had cyber insurance and a crisis team on site the next morning. It did not matter. The company collapsed and 700 people lost their jobs. The lesson is not &#8220;buy better insurance.&#8221; We all know there is no such thing as good insurance! The lesson here is that the backups lived where the attacker could reach them, which is what turned a bad week into the full cost of a cyber incident.</p>



<h3 class="wp-block-heading">Lincoln College: an Illinois closure</h3>



<p class="wp-block-paragraph">Closer to home, Lincoln College in downstate Illinois survived a fire, the 1918 flu, and the Great Depression across 157 years. It did not survive a December 2021 <a href="https://www.securityweek.com/ransomware-attack-nail-coffin-lincoln-college-closes-after-157-years/" data-type="link" data-id="https://www.securityweek.com/ransomware-attack-nail-coffin-lincoln-college-closes-after-157-years/" target="_blank" rel="noopener">ransomware attack</a> that knocked out recruitment and enrollment systems during an already fragile stretch, and the school closed permanently in May 2022. The attack was not the only cause. It was the shove.</p>



<h3 class="wp-block-heading">Change Healthcare: the vendor you did not know you depended on</h3>



<p class="wp-block-paragraph">When Change Healthcare went down in 2024, the ripple effect of the damage flowed out into small independent practices that had nothing to do with the breach. An American Medical Association <a href="https://www.ama-assn.org/press-center/ama-press-releases/physicians-struggle-keep-practices-afloat-after-change-cyberattack" target="_blank" rel="noopener">survey</a> of more than 1,400 physicians, seventy eight percent of them in practices of ten doctors or fewer, found eighty percent lost revenue from unpaid claims, fifty five percent dipped into personal funds to keep the lights on, and thirty one percent could not make payroll. Nobody attacked those practices. They just plugged into something that got attacked, and they absorbed the cost of a cyber incident anyway.</p>



<h3 class="wp-block-heading">CDK Global: a billion dollars of somebody else&#8217;s outage</h3>



<p class="wp-block-paragraph">Same pattern, different industry. The June 2024 CDK Global <a href="https://www.andersoneconomicgroup.com/dealer-losses-due-to-cdk-cyberattack-reach-1-02-billion/" data-type="link" data-id="https://www.andersoneconomicgroup.com/dealer-losses-due-to-cdk-cyberattack-reach-1-02-billion/" target="_blank" rel="noopener">attack</a> froze dealer management software for thousands of car dealerships, most of them family-owned SMBs. Anderson Economic Group pegged the direct dealer losses at <strong>$1.02 billion</strong> over roughly three weeks. </p>



<p class="wp-block-paragraph">Two of these four cases are supply chain incidents, which is not a coincidence. A growing share of the costs of cyber incidents now arrive through somebody else&#8217;s network. The cost of just how connected we all are now, without even realizing it.</p>



<h2 class="wp-block-heading">What Drives the Cost of a Cyber Incident: How Attackers Actually Get In</h2>



<p class="wp-block-paragraph">Verizon&#8217;s 2026 Data Breach Investigations <a href="https://www.helpnetsecurity.com/2026/05/25/lessons-from-verizon-dbir-2026-findings/" data-type="link" data-id="https://www.helpnetsecurity.com/2026/05/25/lessons-from-verizon-dbir-2026-findings/" target="_blank" rel="noopener">Report</a> analyzed more than 22,000 confirmed breaches. Ransomware showed up in 48% of them, third parties were involved in 48% of breaches (a 60% jump year over year), and the human element was present in 62%. Vulnerability exploitation overtook stolen credentials as the leading way in, largely through unpatched internet-facing edge devices. The size skew is brutal. Small organizations accounted for roughly 96% of ransomware victims in the <a href="https://cyberreadinessinstitute.org/news-and-events/verizon-dbir-2026-small-businesses-face-escalating-cyber-threats/" data-type="link" data-id="https://cyberreadinessinstitute.org/news-and-events/verizon-dbir-2026-small-businesses-face-escalating-cyber-threats/" target="_blank" rel="noopener">DBIR dataset</a>. You are not too small to be a target. You <em>are</em> the target.</p>



<p class="wp-block-paragraph">Microsoft&#8217;s own telemetry says the same thing from a different angle. The <a href="https://blogs.microsoft.com/on-the-issues/2025/10/16/mddr-2025/" target="_blank" rel="noopener">Microsoft Digital Defense Report 2025</a> found that more than half of attacks with a known motive were extortion or ransomware, that 97% of identity attacks are plain password attacks, and that <strong>multifactor authentication blocks more than 99% of identity-based attacks</strong> even when the attacker already has valid credentials. Ninety nine percent from a control you already own. Most of the cost of a cyber incident traces back to a login that should have been challenged and was not.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="564" src="https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-average-claim-severity-1024x564.webp" alt="" class="wp-image-1941" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-average-claim-severity-1024x564.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-average-claim-severity-300x165.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-average-claim-severity-768x423.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-average-claim-severity.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">The Azure Basics That Prevent Most of Them</h2>



<p class="wp-block-paragraph">None of what follows is exotic. It is the security equivalent of locking the back door and testing the smoke alarms, and it is where a competent <a href="https://cswsolutions.com/azure-cloud/azure-managed-services/">Azure managed services</a> partner spends their first ninety days. Each control below removes a specific line from the cost of a cyber incident.</p>



<h3 class="wp-block-heading">1. MFA on everything, then make it phishing resistant</h3>



<p class="wp-block-paragraph">Microsoft is not asking anymore. Mandatory MFA for the Azure portal and admin centers finished rolling out in March 2025, and Phase 2 extended enforcement to resource management through Azure CLI, PowerShell, REST APIs, and infrastructure as code starting October 2025. The full policy and timeline live in <a href="https://learn.microsoft.com/en-us/entra/identity/authentication/concept-mandatory-multifactor-authentication" target="_blank" rel="noopener">Microsoft&#8217;s mandatory MFA documentation</a>. We also <a href="https://cswsolutions.com/blog/posts/2026/05/microsofts-mfa-deadline/" data-type="post" data-id="1654">covered this</a>, not too long ago. If you have no policies today, flip on <a href="https://learn.microsoft.com/en-us/entra/fundamentals/security-defaults" target="_blank" rel="noopener">security defaults</a> like, yesterday. It is free, it takes about ninety seconds, and it requires MFA registration for everyone. Then, plan the upgrade to <a href="https://learn.microsoft.com/en-us/entra/identity/authentication/how-to-deploy-phishing-resistant-passwordless-authentication" target="_blank" rel="noopener">phishing-resistant passwordless authentication</a> with passkeys, because text message codes stopped being a serious control a while ago.</p>



<h3 class="wp-block-heading">2. Let Conditional Access do the thinking</h3>



<p class="wp-block-paragraph"><a href="https://learn.microsoft.com/en-us/entra/identity/conditional-access/overview" target="_blank" rel="noopener">Microsoft Entra Conditional Access</a> is the policy engine that decides, per sign-in, whether a login gets through, gets challenged, or gets blocked. It reads all the signals like user, device compliance, location, application, and real-time risk. Three policies cover most SMBs; require MFA for all users, block legacy authentication protocols, and require a compliant or hybrid-joined device for anything sensitive. Layer in <a href="https://learn.microsoft.com/en-us/entra/id-protection/howto-identity-protection-configure-risk-policies" target="_blank" rel="noopener">risk-based policies from Entra ID Protection</a> so a sign-in from an impossible location forces a password reset instead of a shrug.</p>



<h3 class="wp-block-heading">3. Stop handing out permanent admin</h3>



<p class="wp-block-paragraph">Standing global admin rights are how a phishing click becomes a company-wide cyber incident. <a href="https://learn.microsoft.com/en-us/entra/id-governance/privileged-identity-management/pim-configure" target="_blank" rel="noopener">Privileged Identity Management</a> makes admin access something a person requests, justifies, and holds for only a few hours instead of forever, which is usually the case for most organizations. Pair PIM with two cloud-only <a href="https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/security-emergency-access" target="_blank" rel="noopener">emergency access accounts</a> with long random credentials stored somewhere physical and you have something solid. When Conditional Access misfires at 4:45 on a Friday, and someday it will, those accounts are the difference between a hiccup and a weekend.</p>



<h3 class="wp-block-heading">4. Patch the edge before somebody else finds it</h3>



<p class="wp-block-paragraph">Vulnerability exploitation is now the leading initial access vector, and favorite targets are the internet-facing boxes nobody owns, VPN appliances, firewalls, and that one server that is still running because a report depends on it. <a href="https://learn.microsoft.com/en-us/azure/update-manager/overview" target="_blank" rel="noopener">Azure Update Manager</a> gives you scheduled, unified patching for Azure VMs and Arc-enabled servers on premises, with compliance reporting that tells you what actually got patched instead of what you hoped got patched. On the endpoint side, <a href="https://learn.microsoft.com/en-us/defender-endpoint/attack-surface-reduction-rules-reference" target="_blank" rel="noopener">attack surface reduction rules</a> block the specific behaviors ransomware relies on, like Office spawning child processes and scripts launching downloaded content.</p>



<h3 class="wp-block-heading">5. Backups the attacker cannot touch</h3>



<p class="wp-block-paragraph">This is the one that decided KNP&#8217;s fate, and it is the single highest-leverage control on this list. Modern ransomware crews hunt backups first. Microsoft&#8217;s <a href="https://learn.microsoft.com/en-us/azure/security/fundamentals/backup-plan-to-protect-against-ransomware" target="_blank" rel="noopener">Azure backup and restore plan to protect against ransomware</a> lays out their answer. It is the 3-2-1 rule, immutable storage using write once read many, and multi-user authorization so destructive operations require a second approver out of band. Azure Backup ships <a href="https://learn.microsoft.com/en-us/azure/backup/secure-by-default" target="_blank" rel="noopener">soft delete on by default</a>, retaining deleted backup data for an extra fourteen days at no cost, and the <a href="https://learn.microsoft.com/en-us/azure/backup/security-overview" target="_blank" rel="noopener">security features overview</a> covers immutable vaults and the rest. Turn all of it on and then, and this is the part everyone skips, restore something on purpose once a quarter. An untested backup is a rumor.</p>



<h3 class="wp-block-heading">6. Give your endpoints and workloads a brain</h3>



<p class="wp-block-paragraph"><a href="https://learn.microsoft.com/en-us/defender-business/mdb-overview" target="_blank" rel="noopener">Microsoft Defender for Business</a> is included in Microsoft 365 Business Premium and is purpose-built for companies under 300 seats. Endpoint detection and response, automated investigation and remediation, vulnerability management, and all in a console a human can actually operate. For your Azure and hybrid workloads, <a href="https://learn.microsoft.com/en-us/azure/defender-for-cloud/defender-for-cloud-introduction" target="_blank" rel="noopener">Microsoft Defender for Cloud</a> handles posture management and workload protection. If you are already paying for Business Premium and running the free antivirus that shipped with the laptop, you are leaving the good stuff in the box. Microsoft&#8217;s <a href="https://learn.microsoft.com/en-us/microsoft-365/business-premium/secure-your-business-data" target="_blank" rel="noopener">security best practices for business</a> is the checklist.</p>



<h3 class="wp-block-heading">7. Watch, measure, and know when something is off</h3>



<p class="wp-block-paragraph">Prevention fails eventually. Detection is what shortens the incident. <a href="https://learn.microsoft.com/en-us/azure/sentinel/overview" target="_blank" rel="noopener">Microsoft Sentinel</a> is the cloud-native SIEM that correlates signals across identity, endpoint, email, and Azure, and for an SMB it is usually consumption-priced into something reasonable. For a running scorecard, <a href="https://learn.microsoft.com/en-us/defender-xdr/microsoft-secure-score" target="_blank" rel="noopener">Microsoft Secure Score</a> measures your posture across identity, apps, and devices and hands you a ranked list of improvement actions. It is the closest thing to a credit score for your tenant, and it makes board conversations dramatically shorter.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="571" src="https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-smb-ransomware-mfa-stats-1024x571.webp" alt="Small business cybersecurity statistics driving the cost of a cyber incident, 96 percent of ransomware victims were small organizations and multifactor authentication blocks 99 percent of identity attacks" class="wp-image-1942" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-smb-ransomware-mfa-stats-1024x571.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-smb-ransomware-mfa-stats-300x167.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-smb-ransomware-mfa-stats-768x428.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/cost-of-a-cyber-incident-smb-ransomware-mfa-stats.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">The Napkin Math on the Cost of a Cyber Incident</h2>



<p class="wp-block-paragraph">Here is the comparison that truly matters. A thirty seat SMB moving to Microsoft 365 Business Premium, turning on Conditional Access and PIM, hardening Azure Backup with immutability, deploying Defender for Business, and paying a managed IT partner to run all of it, is spending somewhere in the low tens of thousands per year, all in. Try saying all of that in one breath!</p>



<p class="wp-block-paragraph">The average ransomware claim is $269,000. The average funds transfer fraud loss is $141,000. Neither figure includes the three weeks you did not invoice anybody. You are not buying certainty. You are buying the difference between a Tuesday you complain about and a Tuesday that ends the company. Framed that way, the cost of a cyber incident makes the security budget look less like overhead and more like the cheapest insurance on the balance sheet.</p>



<h2 class="wp-block-heading">A Thirty Day Plan That Lowers the Cost of a Cyber Incident</h2>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="512" src="https://cswsolutions.com/wp-content/uploads/2026/09/azure-basics-30-day-plan-cost-of-a-cyber-incident-1024x512.webp" alt="Thirty day Azure security basics plan that lowers the cost of a cyber incident using Conditional Access, Azure Backup immutability, Microsoft Defender for Business, and Microsoft Secure Score" class="wp-image-1943" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/azure-basics-30-day-plan-cost-of-a-cyber-incident-1024x512.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/azure-basics-30-day-plan-cost-of-a-cyber-incident-300x150.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/azure-basics-30-day-plan-cost-of-a-cyber-incident-768x384.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/azure-basics-30-day-plan-cost-of-a-cyber-incident.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph"><strong>Week one.</strong> Turn on security defaults or a baseline Conditional Access policy. Block legacy authentication. Inventory every account with admin rights and write the number down, because it will be higher than you think.</p>



<p class="wp-block-paragraph"><strong>Week two.</strong> Enable soft delete and immutability on backup vaults. Identify your three most critical systems and confirm you have a restore path for each.</p>



<p class="wp-block-paragraph"><strong>Week three.</strong> Deploy Defender for Business to every endpoint. Enable attack surface reduction rules in audit mode first, then enforce.</p>



<p class="wp-block-paragraph"><strong>Week four.</strong> Pull your Microsoft Secure Score, knock out the top five improvement actions, and run one live restore test. Document what broke, because something will.</p>



<p class="wp-block-paragraph">That is a month. It is not glamorous, and it removes most of what actually drives the cost of a cyber incident at a company your size. We even visualized it for you.</p>



<h2 class="wp-block-heading">Where CSW Solutions Fits In</h2>



<p class="wp-block-paragraph">Let&#8217;s be transparent here. Every control above is documented publicly, included in licensing you probably own, and technically available to anyone with an admin login and a free afternoon. The problem was never availability. It is that you already have a job, and it is not this one. Security posture decays quietly, and the cost of a cyber incident is what that decay eventually invoices you for.</p>



<p class="wp-block-paragraph">What we do at <a href="https://cswsolutions.com/">CSW Solutions</a> is own the boring, relentless middle. We are probably one of the few locally managed IT services and Microsoft partners around, and our managed security work is exactly the list above, executed on a schedule and reported on in language a business owner can act on. We design and enforce Conditional Access instead of leaving it half-configured. We keep patching current across Azure and your on-premises servers. We build backups that survive an attacker who is specifically looking for them, and we actually test the restores. We are in your time zone but we watch the alerts at hours when nobody in your office is awake, and we track your Secure Score quarter over quarter so improvement is a number, not a feeling. We work with companies across manufacturing, professional services, healthcare, and distribution. We know what a thirty person firm can realistically absorb, and we know which controls earn their keep first. Nobody here is going to sell you a security operations center you do not need.</p>



<p class="wp-block-paragraph">If you are not sure where you stand, it is perfectly normal and you&#8217;ll be happy to know it is a solvable problem. A short conversation and a look at your tenant will tell you more than another article will. Whenever you are ready, <a href="https://cswsolutions.com/contact/">we would be glad to talk</a>. Your business survived a pandemic, a supply chain, and at least one Chicago winter that felt personal. A guessed password should not be the thing that gets it.</p>



<h2 class="wp-block-heading">FAQ or TLDR</h2>



<p class="wp-block-paragraph"><strong>What is the average cost of a cyber incident for a small business?</strong> Enterprise averages run near $4.99 million globally, but they are not representative of SMBs. Cyber insurance claim data is the better yardstick: ransomware claims average around $269,000 and funds transfer fraud averages around $141,000, before downtime and lost revenue.</p>



<p class="wp-block-paragraph"><strong>Does cyber insurance cover the cost of a cyber incident?</strong> Partially, and increasingly with conditions. Most carriers now require MFA, endpoint detection and response, and tested backups before they will write or renew a policy. KNP Logistics had coverage and still closed, because insurance pays claims, it does not restore encrypted backups.</p>



<p class="wp-block-paragraph"><strong>What is the single highest-value security control for an SMB?</strong> Multifactor authentication, especially phishing-resistant MFA. Microsoft&#8217;s data shows it blocks more than ninety nine percent of identity-based attacks. Immutable, tested backups are a close second.</p>



<p class="wp-block-paragraph"><strong>Do we need Azure to get these protections?</strong> Not entirely. Much of this lives in Microsoft 365 Business Premium, including Defender for Business, Conditional Access, and Intune. Azure adds Update Manager, Defender for Cloud, Sentinel, and immutable Azure Backup for hybrid and cloud workloads.</p>



<p class="wp-block-paragraph"><strong>How do we lower the cost of a cyber incident without a big budget?</strong> Start with what you already own. Security defaults or Conditional Access, immutable backups with soft delete, Defender for Business on every endpoint, and one tested restore. Those four steps cost licensing you likely already pay for plus a few days of focused work.</p>



<p class="wp-block-paragraph"><strong>How long does a ransomware recovery take?</strong> Two to four weeks is common for an SMB without immutable, tested backups. With them, it is often days. The gap between those two outcomes is the entire argument for doing this work before you need it.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://cswsolutions.com/blog/posts/2026/09/real-cost-of-a-cyber-incident-smb/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sustainable AI Engineering: How Energy-Efficient Architectures Became a Competitive Advantage in 2026</title>
		<link>https://cswsolutions.com/blog/posts/2026/09/sustainable-ai-engineering/</link>
					<comments>https://cswsolutions.com/blog/posts/2026/09/sustainable-ai-engineering/#respond</comments>
		
		<dc:creator><![CDATA[CSW Solutions Team]]></dc:creator>
		<pubDate>Tue, 15 Sep 2026 16:15:00 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://cswsolutions.com/?p=1800</guid>

					<description><![CDATA[Somewhere in your codebase there is probably a system prompt that starts with a timestamp. It got there for a reasonable-sounding reason. Somebody wanted the model to know what day it was, so they interpolated DateTime.UtcNow into the top of the prompt template, shipped it, and moved on. It works. Nobody filed a bug. And [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Somewhere in your codebase there is probably a system prompt that starts with a timestamp. It got there for a reasonable-sounding reason. Somebody wanted the model to know what day it was, so they interpolated <code>DateTime.UtcNow</code> into the top of the prompt template, shipped it, and moved on. It works. Nobody filed a bug. And it quietly costs you full price on every single inference call your product makes, forever, because Azure OpenAI <a href="https://learn.microsoft.com/en-us/azure/foundry/openai/how-to/prompt-caching" data-type="link" data-id="https://learn.microsoft.com/en-us/azure/foundry/openai/how-to/prompt-caching" target="_blank" rel="noopener">prompt caching</a> requires the first 1,024 tokens of a prompt to be byte-identical before it will discount anything, and a timestamp that changes every second guarantees a cache miss on every request.</p>



<p class="wp-block-paragraph">That is the whole thesis of this post in one bug. Sustainable AI engineering is not a sustainability initiative that happens to involve software. It is software engineering, of the ordinary kind, applied to a resource that used to be too cheap to think about. The teams winning on cost, latency, and increasingly on procurement in 2026 are not the ones with the best carbon narrative. They are the ones who treated energy per unit of work as a real engineering constraint, gave it a number, put that number in CI, and refused to ship regressions against it.</p>



<h2 class="wp-block-heading">You cannot optimize your way out of this at the infrastructure layer, because someone already did</h2>



<p class="wp-block-paragraph">Worth getting this out of the way, because it is the most common misconception in the room. The datacenter is not where your remaining efficiency lives. Microsoft <a href="https://datacenters.microsoft.com/sustainability/efficiency/" data-type="link" data-id="https://datacenters.microsoft.com/sustainability/efficiency/" target="_blank" rel="noopener">reports</a> a fleet average power usage effectiveness of 1.17 for FY25, meaning overhead costs about seventeen cents of energy for every dollar spent on actual computation. There is not a lot of room left in that number, and none of it is yours to capture. You inherit it the moment you deploy, along with the closed-loop cooling, the renewable matching, and the hardware refresh cadence.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="478" src="https://cswsolutions.com/wp-content/uploads/2026/09/sustainable-ai-engineering-efficiency-delta-1024x478.webp" alt="Sustainable AI engineering: fixed Azure datacenter efficiency versus the architecture and code decisions your team controls" class="wp-image-1930" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/sustainable-ai-engineering-efficiency-delta-1024x478.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/sustainable-ai-engineering-efficiency-delta-300x140.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/sustainable-ai-engineering-efficiency-delta-768x358.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/sustainable-ai-engineering-efficiency-delta.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">What that means practically: two companies running the same model in the same Azure region have identical infrastructure efficiency and can still differ by an order of magnitude in energy per transaction. The entire delta is architecture and code. And the pressure to close that delta is now external, not aspirational. Microsoft&#8217;s own <a href="https://www.microsoft.com/en-us/corporate-responsibility/sustainability/report/" data-type="link" data-id="https://www.microsoft.com/en-us/corporate-responsibility/sustainability/report/" target="_blank" rel="noopener">2026 report</a> disclosed FY25 emissions of 20.29 million metric tons of CO2 equivalent, up 25 percent year over year, driven primarily by AI infrastructure growth. If a company with a carbon negative commitment and effectively unlimited procurement leverage still watched demand outrun efficiency, the lesson for the rest of us is that the fix has to happen where the demand is generated. Which is in the application.</p>



<h2 class="wp-block-heading">Give it a number or it is a vibe</h2>



<p class="wp-block-paragraph">Software engineering became a discipline when we started measuring things, and sustainable AI engineering crossed that threshold in 2024 when the Software Carbon Intensity specification was accredited as ISO/IEC 21031:2024. The formula is small enough to memorize:</p>



<pre class="wp-block-code"><code>SCI = ((E * I) + M) per R</code></pre>



<p class="wp-block-paragraph">Energy consumed, times the carbon intensity of the grid supplying it, plus embodied emissions from the hardware amortized over its life, all divided by a functional unit of your <a href="https://greensoftware.foundation/standards/sci/" data-type="link" data-id="https://greensoftware.foundation/standards/sci/" target="_blank" rel="noopener">choosing</a>.</p>



<p class="wp-block-paragraph">That last term is the one that matters to engineers, and it is why SCI is useful where a total emissions number is not. SCI is a <em>rate</em>, not a total. Pick your R as one API call, one document processed, one support ticket resolved, one agent run, and suddenly you have a metric that behaves like every other engineering metric you already trust. It goes down when you improve the system and up when you regress it, independent of whether traffic grew. A total emissions number cannot tell the difference between a team that doubled its efficiency and a team that doubled its users. SCI can.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="435" src="https://cswsolutions.com/wp-content/uploads/2026/09/software-carbon-intensity-formula-explained-1024x435.webp" alt="Software carbon intensity formula split into energy, carbon intensity, embodied carbon and functional unit with each optimization lever" class="wp-image-1926" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/software-carbon-intensity-formula-explained-1024x435.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/software-carbon-intensity-formula-explained-300x128.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/software-carbon-intensity-formula-explained-768x326.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/software-carbon-intensity-formula-explained.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Microsoft publishes a reference architecture for actually computing this on Azure, and it is refreshingly buildable: pull energy and emissions data from the Azure carbon optimization APIs, pull utilization and scaling factors from Application Insights, pull real-time grid carbon intensity from a provider like WattTime or Electricity Maps, land it all in Data Lake Storage because the portal only retains twelve months, compute the <a href="https://learn.microsoft.com/en-us/azure/architecture/example-scenario/apps/measure-azure-app-sustainability-sci-score" data-type="link" data-id="https://learn.microsoft.com/en-us/azure/architecture/example-scenario/apps/measure-azure-app-sustainability-sci-score" target="_blank" rel="noopener">score</a> in Azure Functions, and report in Power BI. The baseline itself comes free: Azure Carbon Optimization is included for all subscriptions and reports emissions down to individual resources, with recommendations for SKU changes and idle resource cleanup plus an <a href="https://learn.microsoft.com/en-us/azure/carbon-optimization/overview" data-type="link" data-id="https://learn.microsoft.com/en-us/azure/carbon-optimization/overview" target="_blank" rel="noopener">estimate</a> of the savings before you commit.</p>



<p class="wp-block-paragraph">A real example of the measurement discipline, because the rigor is instructive: AVEVA published an SCI <a href="https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/AVEVA_case_study.md" data-type="link" data-id="https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/AVEVA_case_study.md" target="_blank" rel="noopener">case study</a> for its System Platform product measured on a single ThinkCentre workstation, using a precision power supply accurate to 0.01 watts. Baseline draw was 11.3 watts, loaded draw was 16.0 watts, giving a software-attributable delta of 4.67 watts. Multiplied across 8,322 annual operating hours at a global average grid intensity of 474.8 gCO2e per kilowatt-hour, plus 70 kilograms of amortized embodied hardware carbon, that produced a score of 0.474 gCO2e per licensed instance per year. Notice what they did not do: they did not estimate, and they did not measure the whole machine. They isolated the delta attributable to their own code. That is the standard.</p>



<h2 class="wp-block-heading">The model layer is where the joules are</h2>



<p class="wp-block-paragraph">For AI workloads, the single highest-leverage engineering decision is which model handles which request, and the answer is almost never &#8220;the biggest one, always.&#8221;</p>



<p class="wp-block-paragraph">Microsoft&#8217;s own guidance on optimizing AI workload cost puts real numbers on this. Routing 60 to 80 percent of traffic to smaller models such as GPT-4o mini or Phi-4, escalating to a frontier model only when the small model signals low confidence, typically cuts cost by that same 60 to 80 percent on routine queries with no measurable quality drop. The Azure OpenAI Batch API carries a 50 percent discount for work that tolerates a 24 hour window, which covers nightly index refreshes, evaluation runs, embedding jobs, and most summarization. Scale-to-zero on GPU container workloads saves up to 90 percent of idle capacity for a cold start measured in tens of seconds. Matching the GPU SKU to the model size, T4 or L4 class hardware under thirteen billion parameters instead of reflexively provisioning H100s, saves 40 to 70 percent. Spot capacity for checkpointable batch work <a href="https://learn.microsoft.com/en-us/startups/build/ai/ai-cost-optimization" data-type="link" data-id="https://learn.microsoft.com/en-us/startups/build/ai/ai-cost-optimization" target="_blank" rel="noopener">saves</a> 60 to 80 percent, and 4-bit quantization via AWQ or GPTQ fits a thirty billion parameter model onto a sixteen gigabyte card.</p>



<p class="wp-block-paragraph">Microsoft productized the routing insight, which tells you how load-bearing it is. Model router in Microsoft Foundry is a single endpoint backed by a trained classifier that reads each prompt for complexity, reasoning demand, and task type, then dispatches to an underlying model. It ships three modes: balanced considers only models within one to two percent of best available quality, cost widens that band to five or six percent and optimizes hard for high-volume savings, and quality ignores cost entirely. You are billed for whichever <a href="https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-router" data-type="link" data-id="https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-router" target="_blank" rel="noopener">model</a> served the request, with no router surcharge.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="439" src="https://cswsolutions.com/wp-content/uploads/2026/09/ai-model-routing-architecture-cost-savings-1024x439.webp" alt="AI model routing architecture sending 60 to 80 percent of traffic to a small model and escalating the rest to a frontier model" class="wp-image-1928" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/ai-model-routing-architecture-cost-savings-1024x439.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/ai-model-routing-architecture-cost-savings-300x129.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/ai-model-routing-architecture-cost-savings-768x330.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/ai-model-routing-architecture-cost-savings.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">The engineering work here is not calling the router. It is building the evaluation harness that tells you whether the cheaper path is actually good enough for <em>your</em> traffic, because Microsoft&#8217;s percentages are ranges from other people&#8217;s workloads. No eval set, no routing. That is the order of operations, and teams that invert it ship a cost win and a quality regression on the same day.</p>



<p class="wp-block-paragraph">Caching is the other big lever, and it rewards deliberate prompt architecture. Because Azure OpenAI matches on the first 1,024 tokens and then in 128 token increments, the correct design is stable content first and variable content last:</p>



<pre class="wp-block-code"><code>&#91; system instructions      ]  &lt;- identical on every call, cacheable
&#91; tool and function schemas]  &lt;- identical on every call, cacheable
&#91; few-shot examples        ]  &lt;- identical on every call, cacheable
------------- 1024 token boundary crossed -------------
&#91; retrieved context        ]  &lt;- varies
&#91; user message             ]  &lt;- varies</code></pre>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="457" src="https://cswsolutions.com/wp-content/uploads/2026/09/azure-openai-prompt-caching-token-boundary-1024x457.webp" alt="Azure OpenAI prompt caching diagram showing cacheable stable content above the 1,024 token boundary and variable content below" class="wp-image-1927" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/azure-openai-prompt-caching-token-boundary-1024x457.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/azure-openai-prompt-caching-token-boundary-300x134.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/azure-openai-prompt-caching-token-boundary-768x342.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/azure-openai-prompt-caching-token-boundary.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Provisioned deployments can see up to a 100 percent discount on cached input tokens, so the difference between a template assembled thoughtfully and one assembled by string concatenation in whatever order the fields appeared in the DTO is enormous. One layer up, semantic caching stores embeddings of past queries alongside their responses in Azure Cache for Redis or Cosmos DB and returns the cached answer above a similarity threshold. For an internal support assistant where four hundred employees ask the same eight questions about expense policy, this converts an inference bill into a rounding error.</p>



<p class="wp-block-paragraph">Retrieval discipline belongs in the same conversation. Every unnecessary chunk you stuff into context is tokens burned on prefill for no gain in answer quality, and past a point it actively hurts as the relevant passage drowns in filler. Keeping median retrieval count low, tuning chunk size to your actual document structure, and reranking a small set instead of dumping a large one are efficiency decisions dressed up as quality decisions. They happen to be both. Same with structured outputs: constraining the model to a schema instead of asking it to write prose you then parse cuts output tokens, removes a retry loop, and deletes the regex you were going to regret.</p>



<p class="wp-block-paragraph">Agent architectures deserve a specific warning. An agent loop that re-sends its entire conversation history plus twenty tool schemas on every turn has quadratic token growth baked into its design, and it will look fine in a demo with four turns and ruinous in production with forty. Pruning history, summarizing older turns, and loading tool definitions on demand rather than all upfront are not micro-optimizations at that scale. They are the difference between a feature that ships and one that gets pulled.</p>



<h2 class="wp-block-heading">The boring application layer, where half the waste actually lives</h2>



<p class="wp-block-paragraph">None of this is AI-specific, which is exactly why it gets skipped. Microsoft&#8217;s <a href="https://learn.microsoft.com/en-us/azure/well-architected/sustainability/sustainability-performance-efficiency-recommendations" data-type="link" data-id="https://learn.microsoft.com/en-us/azure/well-architected/sustainability/sustainability-performance-efficiency-recommendations" target="_blank" rel="noopener">performance efficiency recommendations</a> for sustainable workloads read like a code review checklist, and the overlap with sustainability is total: reduce chatty API interactions, minimize payload sizes, use efficient message encoding, implement throttling and response caching through API Management, and continuously optimize your highest-volume endpoints. Apply storage compression and fix your database queries. Align data with the right access tier and set lifecycle policies so cold data stops sitting in hot storage. Review your backup, recovery point, and log retention policies so data stops accumulating by default. Choose server-side or client-side rendering based on actual device and network conditions rather than framework fashion. Ship appropriately sized images, skip unnecessary asset downloads, and prefer system fonts. Deploy close to users and keep dependent resources in the same region.</p>



<p class="wp-block-paragraph">The <a href="https://learn.microsoft.com/en-us/azure/well-architected/sustainability/overview" data-type="link" data-id="https://learn.microsoft.com/en-us/azure/well-architected/sustainability/overview" target="_blank" rel="noopener">Well-Architected</a> sustainability guidance is blunter still about the largest sources of waste: idle virtual machines, clusters sized for a peak that occurs twice a year, multi-region active-active topologies that roughly double emissions to defend against a failure mode nobody actually priced, and telemetry pipelines logging the same event at four layers of the stack. Nobody has ever given a conference talk called &#8220;We Deleted Eleven Terabytes Of Redundant Debug Logs.&#8221; It remains one of the highest-return afternoons available to most engineering teams.</p>



<p class="wp-block-paragraph">If you want a catalog rather than principles, the <a href="https://patterns.greensoftware.foundation/" data-type="link" data-id="https://patterns.greensoftware.foundation/" target="_blank" rel="noopener">Green Software Foundation</a> maintains 62 reviewed patterns organized by lifecycle phase, with 26 in development, 16 in architecture, and 15 in operations, tagged by persona so an AI/ML engineer sees the twelve that apply to them. It is a decent source of pull request comments.</p>



<h2 class="wp-block-heading">Carbon-aware code, which is now a thing you can actually write</h2>



<p class="wp-block-paragraph">Here is where it gets fun for engineers, because Azure API Management shipped a limited preview that turns grid carbon intensity into a runtime variable your policies can read.</p>



<p class="wp-block-paragraph">Traffic shifting lets you tag backends with a <code>preferredCarbonEmission</code> level and have <a href="https://learn.microsoft.com/en-us/azure/api-management/sustainability" data-type="link" data-id="https://learn.microsoft.com/en-us/azure/api-management/sustainability" target="_blank" rel="noopener">API Management</a> prefer greener regions, falling back to higher-carbon ones only to preserve continuity. Traffic shaping exposes <code>context.Deployment.SustainabilityInfo.CurrentCarbonIntensity</code> directly inside policy expressions, so you can extend cache durations, tighten rate limits, or reduce logging verbosity when the local grid gets dirty:</p>



<p class="wp-block-paragraph">xml</p>



<pre class="wp-block-code"><code>&lt;when condition="@(context.Deployment.SustainabilityInfo.CurrentCarbonIntensity == CarbonIntensityCategory.High)"&gt;
    &lt;cache-store duration="3600" /&gt;
    &lt;rate-limit-by-key calls="100" renewal-period="60"
                       counter-key="@(context.Request.IpAddress)" /&gt;
&lt;/when&gt;</code></pre>



<p class="wp-block-paragraph">That is a conditional. You already know how to write it. The interesting design question it raises is what your application should do when energy is expensive, and the honest answer for most products is: cache harder, defer the deferrable, and degrade gracefully in ways users will not notice. Which is good engineering regardless of the grid.</p>



<h2 class="wp-block-heading">Put it in the pipeline or it will regress by Thursday</h2>



<p class="wp-block-paragraph">This is the part that separates a one-time cleanup from a durable capability, and Microsoft&#8217;s testing guidance for sustainable workloads is the most concretely useful page in the whole set.</p>



<p class="wp-block-paragraph">Establish CPU and memory baselines by monitoring allocations during unit and integration tests, then configure alerts or outright test failures when the application exceeds them, so unsustainable code changes get caught in review instead of in the next quarterly bill. Cache build artifacts between runs when inputs have not changed, and use local caching on self-hosted agents to avoid network transfers. Split large repositories so CI only compiles what actually changed. Autoscale your build agents so they scale in when testing finishes rather than idling. Profile for parallelization opportunities rather than assuming. Use chaos engineering to verify the system fails gracefully instead of burning resources thrashing, and consider building what Microsoft calls an <em>eco version</em> of the application, a deliberately degraded mode that sacrifices non-essential features to cut emissions, and then test it like any other configuration. Where you have grid data, schedule your heavy integration and load <a href="https://learn.microsoft.com/en-us/azure/well-architected/sustainability/sustainability-testing" data-type="link" data-id="https://learn.microsoft.com/en-us/azure/well-architected/sustainability/sustainability-testing" target="_blank" rel="noopener">test runs</a> during low-carbon hours.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="393" src="https://cswsolutions.com/wp-content/uploads/2026/09/sustainable-ai-engineering-ci-quality-gate-1024x393.webp" alt="Sustainable AI engineering CI pipeline with an allocation budget gate that fails builds exceeding the CPU and memory baseline" class="wp-image-1925" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/sustainable-ai-engineering-ci-quality-gate-1024x393.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/sustainable-ai-engineering-ci-quality-gate-300x115.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/sustainable-ai-engineering-ci-quality-gate-768x294.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/sustainable-ai-engineering-ci-quality-gate.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">An allocation budget that fails the build is a strange thing to be excited about, and yet it is the single most reliable mechanism in this entire post. Everything else is a project. A quality gate is a ratchet.</p>



<h2 class="wp-block-heading">Why this is an advantage rather than a chore</h2>



<p class="wp-block-paragraph">Three commercial reasons, all downstream of the engineering. It is margin. AI features priced per seat and delivered per token mean every avoidable token is gross margin handed to your infrastructure provider. Teams that engineered routing, caching, and batching early can price aggressively against competitors who cannot, and absorb a bad month without an emergency meeting.</p>



<p class="wp-block-paragraph">It is speed, which is the same variable in different clothing. A tuned small model classifying a ticket in 200 milliseconds is a better product than a frontier model reaching the same conclusion in three seconds with more eloquence nobody requested. Users never notice your joules. They notice your latency constantly.</p>



<p class="wp-block-paragraph">It is the sales cycle. Enterprise and public sector buyers increasingly put energy and emissions questions in security questionnaires and RFPs, partly from conviction and largely because their own disclosure obligations flow downstream into their vendor list. A supplier that answers with a real SCI figure, a defined functional unit, and a trend line closes faster than one that answers with a paragraph about caring deeply. The number is the differentiator, and the number is a product of your architecture.</p>



<h2 class="wp-block-heading">CSW Solutions Can Help</h2>



<p class="wp-block-paragraph">Funny thing is, this work sits precisely where our expertise and multitude of practices overlap. On the <a href="https://cswsolutions.com/ai-automation/" data-type="page" data-id="13">AI and automation</a> side, we build the routing, caching, retrieval, and evaluation layers that determine what your AI features cost to run, and we build the eval harness first so nobody ships a cost optimization that quietly degrades answer quality. On the <a href="https://cswsolutions.com/software-development/" data-type="page" data-id="11">custom software</a> side, we can go into the application and fix the architecture generating the waste, because a cache in front of a chatty design is a bandage on a leak, and because most of the savings we find are in ordinary code rather than in model choice. On the <a href="https://cswsolutions.com/managed-it-cloud/" data-type="page" data-id="12">managed IT</a> and cloud side, we set up the Azure governance that keeps savings from evaporating in two quarters, a Carbon Optimization baseline, an SCI score with a functional unit that matches how you actually sell, allocation budgets wired into your pipelines, right-sizing reviews, and reporting you can hand to a customer who asks. Try saying all of that in one breath!</p>



<p class="wp-block-paragraph">We are small enough that whoever scopes your work is whoever does it, and experienced enough to tell you when the answer is &#8220;your model selection is fine, your retrieval layer is the problem.&#8221; Most engagements start with a two-week assessment. We baseline current consumption, profile where energy and money actually go across the model layer and the application layer, model the savings against your real traffic rather than a vendor&#8217;s averages, and hand you a prioritized plan with numbers attached. Then you decide whether we implement it or we help your team to do it.</p>



<p class="wp-block-paragraph">Efficient architecture used to be something engineers argued for and finance eventually approved. In 2026, it decides whether your AI product has a business model. If you would like a second set of eyes on where your compute is going, we would be <a href="https://cswsolutions.com/contact/" data-type="page" data-id="9">glad to look</a>. And if nothing else, go check whether there is a timestamp at the top of your system prompt.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cswsolutions.com/blog/posts/2026/09/sustainable-ai-engineering/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Legacy App, Modern Problem: When to Rebuild, Re-platform, or Just Wrap It in an API</title>
		<link>https://cswsolutions.com/blog/posts/2026/09/legacy-application-modernization-rebuild-replatform-wrap-api/</link>
					<comments>https://cswsolutions.com/blog/posts/2026/09/legacy-application-modernization-rebuild-replatform-wrap-api/#respond</comments>
		
		<dc:creator><![CDATA[CSW Solutions Team]]></dc:creator>
		<pubDate>Fri, 04 Sep 2026 18:04:00 +0000</pubDate>
				<category><![CDATA[CSW Solutions]]></category>
		<category><![CDATA[CSW Solutions Guide]]></category>
		<category><![CDATA[Custom Software Development]]></category>
		<category><![CDATA[Microservices]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Azure]]></category>
		<category><![CDATA[Microsoft Partner]]></category>
		<category><![CDATA[Modern Software Development]]></category>
		<category><![CDATA[application modernization]]></category>
		<category><![CDATA[SMBs]]></category>
		<guid isPermaLink="false">https://cswsolutions.com/?p=1892</guid>

					<description><![CDATA[Every company we work with has one. The app, you know the one. It was written in 2011 by a developer named Kevin who left in 2016. It runs on a server in a closet that has its own dedicated window AC unit. It is the only system that knows how your pricing actually works, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Every company we work with has one. The app, you know the one. It was written in 2011 by a developer named Kevin who left in 2016. It runs on a server in a closet that has its own dedicated window AC unit. It is the only system that knows how your pricing actually works, and nobody has been brave enough to open the pricing module since the incident. Kevin&#8217;s comments are still in there. Some of them are apologies. Here is the thing nobody tells you about that app, it is a survivor. It has been generating revenue for fifteen years while newer, better-architected systems came and went. The problem is not that it is bad software now. It is that it is load-bearing software sitting on a foundation the rest of the world has stopped supporting. And the world just moved on again. SQL Server 2016 hit the end of extended support on July 15, 2026, according to <a href="https://learn.microsoft.com/en-us/lifecycle/products/sql-server-2016" target="_blank" rel="noopener">Microsoft&#8217;s product lifecycle page</a>. Windows Server 2016 follows on <a href="https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2016" target="_blank" rel="noopener">January 13, 2027</a>. If your app is sitting on either one, you have a calendar problem now, not an architecture problem someday. Extended Security Updates will buy you time. Just remember what they are: a meter, not a mercy. It runs while you sleep on it.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="358" src="https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-support-deadlines-copy-1024x358.webp" alt="Microsoft support deadlines driving legacy application modernization: SQL Server 2016 extended support ended July 2026 and Windows Server 2016 ends January 2027" class="wp-image-1896" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-support-deadlines-copy-1024x358.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-support-deadlines-copy-300x105.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-support-deadlines-copy-768x269.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-support-deadlines-copy-1536x538.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-support-deadlines-copy-2048x717.webp 2048w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-support-deadlines-copy-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">So you have a decision to make, and most legacy application modernization advice sorts itself into two camps that are both wrong. There is the &#8220;burn it down and go cloud native&#8221; camp, and the &#8220;if it ain&#8217;t broke&#8221; camp. The first is expensive. The second is expensive later, and with less warning. The right camp? It is usually more boring and more specific.</p>



<h2 class="wp-block-heading">Stop Asking Whether the Code is Bad</h2>



<p class="wp-block-paragraph">That is the wrong question, and it is the one everybody starts with. Code quality is real, but it is a terrible input for a modernization decision, because &#8220;this code is ugly&#8221; and &#8220;this code should be replaced&#8221; are not the same statement. Plenty of ugly code is doing exactly what it needs to do at a cost of zero dollars a month. Here are some better questions, in rough order of importance:</p>



<p class="wp-block-paragraph"><strong>Is it a source of competitive advantage, or is it plumbing?</strong> If your app encodes something your competitors cannot easily copy, it deserves investment. If it is a glorified form over a database, it deserves a vendor.</p>



<p class="wp-block-paragraph"><strong>How often does it need to change?</strong> An app that changes twice a year and an app that changes twice a week have entirely different economics. Technical debt only costs you interest when you keep borrowing.</p>



<p class="wp-block-paragraph"><strong>Who is on the hook when it breaks at 2 a.m.?</strong> If the answer is &#8220;one person,&#8221; you have a bus factor problem, and modernization is one of several possible fixes.</p>



<p class="wp-block-paragraph"><strong>What is it blocking?</strong> This is the one that usually unlocks the budget. Not &#8220;the code is old,&#8221; but &#8220;we cannot offer customers a self-service portal, we cannot integrate with the new ERP, and we cannot pass the security questionnaire that our biggest prospect just sent us.&#8221;</p>



<p class="wp-block-paragraph"><strong>What does the runway look like?</strong> Support dates, license renewals, hardware warranties, and the retirement plans of the two people who understand it.</p>



<p class="wp-block-paragraph">Microsoft frames the strategic menu as the <a href="https://learn.microsoft.com/en-us/azure/app-modernization-guidance/plan/the-6-rs-of-application-modernization" target="_blank" rel="noopener">six Rs of application modernization</a>: rehost, replatform, refactor, rebuild, retire, and retain. Two of those get almost no airtime and really deserve more. Retire is free money if you find an app that three people log into and none of them can explain why. Retain is a legitimate, defensible choice that people treat as cowardice. It is not. It is capital allocation.</p>



<p class="wp-block-paragraph">For the rest of this post, we are going to collapse the middle of that menu into the three doors most SMB decisions actually come down to.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="580" src="https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-three-options-copy-1024x580.webp" alt="Legacy application modernization options compared: wrap the legacy app in an API, replatform it to Azure, or rebuild it behind a facade" class="wp-image-1895" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-three-options-copy-1024x580.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-three-options-copy-300x170.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-three-options-copy-768x435.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-three-options-copy-1536x870.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-three-options-copy-2048x1160.webp 2048w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-three-options-copy-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h2 class="wp-block-heading">Door One: Wrap It In An API</h2>



<p class="wp-block-paragraph">This is the option people skip, and it is usually the best one. The idea is pretty straightforward. You leave the legacy application alone, more or less, and you put a modern, well-documented, secured interface in front of it. New systems talk to the interface. The interface talks to the old app, in whatever ancient dialect the old app requires. Nobody else has to learn that dialect ever again. Microsoft calls the design principle here the <a href="https://learn.microsoft.com/en-us/azure/architecture/patterns/anti-corruption-layer" target="_blank" rel="noopener">anti-corruption layer</a>, which is a wonderfully judgmental name for a translation shim. The point here is containment, the legacy system&#8217;s weird data model, its odd assumptions, and its 1990s naming conventions stop leaking into everything new you build. On Azure, <a href="https://learn.microsoft.com/en-us/azure/api-management/api-management-key-concepts" target="_blank" rel="noopener">API Management</a> is the usual front door, giving you authentication, rate limiting, versioning, and a developer portal without having to write any of that yourself.</p>



<p class="wp-block-paragraph">This is so often the right first move because it is cheap, it is fast, and it is reversible. You can put up a meaningful API facade over a legacy system in weeks, not quarters. It does not require you to understand every line of Kevin&#8217;s pricing module. You got that, Kevin? It immediately unblocks the thing that was actually blocked, which is usually integration, not the app itself. It also buys you something subtle. When traffic flows through a facade, you can see it. You get logs, metrics, and a real map of who calls what and how often. Most organizations discover that 80 percent of the calls hit 20 percent of the functionality, which can really inform the entire rebuild conversation later. </p>



<p class="wp-block-paragraph">There is a bigger payoff hiding here too. That same facade is the setup for the <a href="https://learn.microsoft.com/en-us/azure/architecture/patterns/strangler-fig" target="_blank" rel="noopener">strangler fig pattern</a>, which is the single most useful idea in modernization and is named after a plant that grows around a host tree until the tree is gone and the fig is standing on its own. You route requests through the facade. Then you rebuild one capability, point the facade at the new implementation for that capability only, and leave everything else alone. Repeat. Clients never know. The legacy system shrinks a slice at a time until one day there is nothing left inside it and you turn it off on a Tuesday afternoon with no drama. No harm, no foul.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="427" src="https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-strangler-fig-pattern-copy-1024x427.webp" alt="Strangler fig pattern in legacy application modernization: an API facade shifts traffic from the legacy app to new services over eighteen months" class="wp-image-1897" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-strangler-fig-pattern-copy-1024x427.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-strangler-fig-pattern-copy-300x125.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-strangler-fig-pattern-copy-768x320.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-strangler-fig-pattern-copy-1536x640.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-strangler-fig-pattern-copy-2048x853.webp 2048w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-strangler-fig-pattern-copy-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">Microsoft is candid about when the pattern does not fit. If you cannot intercept requests to the backend, or you do not have source access to disable migrated features and redirect internal calls, the fig has nothing to grow on. And if the system is genuinely small, running two systems in parallel is more overhead than just replacing it. That last point is the real cost of door one. A facade means you are running two things instead of one. Temporarily. &#8220;Temporarily&#8221; has a way of becoming &#8220;since 2019.&#8221; A wrap without a stated end state is not a strategy, it is a coping mechanism.</p>



<h2 class="wp-block-heading">Door Two: Re-platform</h2>



<p class="wp-block-paragraph">Replatform, or re-platform, is the move where you keep the application substantially intact and change what it runs on. Microsoft&#8217;s shorthand is &#8220;lift, tinker, and shift,&#8221; which is honest about the fact that there is always some tinkering. In practice, for the SMB stack we see most often, is like when an ASP.NET web app that has been running on a Windows Server VM moves to <a href="https://learn.microsoft.com/en-us/azure/app-service/app-service-asp-net-migration" target="_blank" rel="noopener">Azure App Service</a>, and the SQL Server database behind it moves to <a href="https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview" target="_blank" rel="noopener">Azure SQL Managed Instance</a>. It is specifically built to preserve the surface area of on-premises SQL Server so you do not have to rewrite everything that touches it. This is not rearchitecting. You are basically  getting out of the patching business, the hardware business, and the &#8220;we cannot scale on Black Friday&#8221; business.</p>



<p class="wp-block-paragraph">The results here can be unglamorous and enormous at the same time. In a Microsoft roundup of <a href="https://azure.microsoft.com/en-us/blog/real-world-success-with-continuous-modernization/" data-type="link" data-id="https://azure.microsoft.com/en-us/blog/real-world-success-with-continuous-modernization/" target="_blank" rel="noopener">continuous modernization work</a>, Australian retailer Coles moved from six-week release cycles to weekly, with build times dropping from a couple of hours to 10 to 15 minutes. Credit Europe Bank NV cut customer onboarding from three days to nine minutes. Sapiens reported cutting deployment efforts in half. Notice that none of those are &#8220;we rewrote the app.&#8221; They are &#8220;we changed where and how the app lives, and the business is faster.&#8221; Assessment is not optional here, and it is the step people skip because it feels like it is not real work. <a href="https://learn.microsoft.com/en-us/azure/migrate/migrate-services-overview?view=migrate" target="_blank" rel="noopener">Azure Migrate</a> does discovery, assessment, and, importantly, <a href="https://learn.microsoft.com/en-us/azure/migrate/concepts-dependency-visualization?view=migrate" target="_blank" rel="noopener">dependency analysis</a>, which is how you find out that the &#8220;standalone&#8221; app has a scheduled job writing to a file share that a completely different department&#8217;s Access database reads every night. That file share is not in anyone&#8217;s documentation. It is in the dependency map. </p>



<p class="wp-block-paragraph">And now the cautionary tale, because re-platforming is where the most expensive public failures happen. In April 2018, TSB Bank in the UK migrated to a new core banking platform. The Financial Conduct Authority&#8217;s <a href="https://www.fca.org.uk/news/press-releases/tsb-fined-48m-operational-resilience-failings" data-type="link" data-id="https://www.fca.org.uk/news/press-releases/tsb-fined-48m-operational-resilience-failings" target="_blank" rel="noopener">enforcement notice</a> is worth reading in full, but the TLDR is that a significant proportion of the bank&#8217;s 5.2 million customers were affected when the platform experienced technical failures immediately after cutover. TSB did not return to normal operations until December of that year. Eight months. The regulators fined the bank £48.65 million between them in December 2022, and TSB paid out £32.7 million in customer redress on top of that.</p>



<p class="wp-block-paragraph">Here is the part that matters for your business, whatever size it is. The FCA&#8217;s finding was not &#8220;the code was bad,&#8221; it was that TSB &#8220;failed to organise and control the IT migration programme adequately&#8221; and failed to manage the operational risks of its outsourcing arrangements. The migration failed as a program, not as a technical exercise. Big-bang cutovers concentrate all of your risk into a single weekend, and the only thing standing between you and an eight-month outage is whether your rollback plan is real. The strangler fig exists precisely so you do not have to bet the company on one weekend.</p>



<h2 class="wp-block-heading">Door Three: Rebuild</h2>



<p class="wp-block-paragraph">Sometimes you do have to start over. The signals are usually some combination of whether the platform itself is dead and unsupportable, the data model actively prevents the business model you need, the cost of change per feature has climbed past the cost of change in a new system, or the thing has become a genuine security liability that no amount of network isolation can fix. When rebuild is right, it is very right. Microsoft&#8217;s guidance points at rebuild for highly complex applications, monolith decomposition, and cases where advanced security and compliance requirements have to be designed in rather than bolted on. </p>



<p class="wp-block-paragraph">But you should always walk into a rebuild with your eyes open, and the best essay on why is a quarter century old. In 2000, Joel Spolsky wrote <a href="https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/" target="_blank" rel="noopener">&#8220;Things You Should Never Do, Part I&#8221;</a> about Netscape&#8217;s decision to throw out its codebase and rewrite the browser from scratch. His argument was that the ugly code you want to delete is ugly precisely because it is full of accumulated bug fixes, each one representing knowledge somebody paid for. Delete the code and you delete the knowledge. Netscape spent years rebuilding while Internet Explorer took the market. Two and a half decades later, the essay still gets passed around engineering teams, which tells you something about how often the lesson needs relearning.</p>



<p class="wp-block-paragraph">The modern version of the mistake is not &#8220;rewrite from scratch.&#8221; It is &#8220;rewrite from scratch, in microservices, because that is what mature companies do.&#8221; Two data points worth sitting with.</p>



<p class="wp-block-paragraph">Shopify, which is not exactly a small operation, has written openly about the fact that its core commerce platform is <a href="https://shopify.engineering/shopify-monolith" target="_blank" rel="noopener">still a monolith</a>, just a modular one, with enforced boundaries between components instead of network calls between services. They chose the discipline of microservices without the operational cost of microservices. And in 2023, an Amazon Prime Video team published an internal case study, <a href="https://thenewstack.io/return-of-the-monolith-amazon-dumps-microservices-for-video-monitoring/" target="_blank" rel="noopener">widely covered at the time</a>, about moving one audio and video quality monitoring workload from a distributed serverless architecture back to a consolidated monolithic service, reporting roughly a 90 percent reduction in infrastructure cost. One team, one workload, not a repudiation of everything, but if the company that popularized service-oriented architecture can look at a specific workload and say &#8220;this should be one process,&#8221; you can too.</p>



<p class="wp-block-paragraph">The rebuild that works, in our experience, has three properties. It is scoped to a capability rather than an application. It runs behind a facade so the cutover is a routing change instead of an event. And it has a hard rule that the old system stays running, untouched and unimproved, until the new one has been carrying real traffic for long enough that everyone forgot the old one was even there.</p>



<h2 class="wp-block-heading">The Failure Mode Nobody Plans For</h2>



<p class="wp-block-paragraph">There is a fourth outcome that is not a door, and it deserves its own section because it is that nightmare scenario that actually keeps us up at night. </p>



<p class="wp-block-paragraph">On August 1, 2012, Knight Capital Group deployed new order routing code to its production servers. According to the <a href="https://www.sec.gov/files/litigation/admin/2013/34-70694.pdf" target="_blank" rel="noopener">SEC&#8217;s administrative order</a>, a technician copied the new code to seven of the firm&#8217;s eight servers and missed the eighth. The new code activated its behavior using a flag that had, years earlier, been used by an old feature called Power Peg. Power Peg had been dead since 2003, but the code was never removed. On that eighth server, the flag woke it up. In roughly 45 minutes, the system executed more than 4 million orders across 154 stocks, totaling over 397 million shares. Knight lost more than $460 million. The firm did not survive as an independent company. Nobody at Knight decided to run nine-year-old dead code in production. They just never deleted it, and eventually nobody remembered it was there. That is what legacy risk actually looks like. It is not slow performance or an outdated UI. It is a system containing behavior that no living person can predict. If your reaction to any part of your codebase is &#8220;I do not know what that does and I am not going to find out,&#8221; that is not a maintenance item. That is the whole business case.</p>



<h2 class="wp-block-heading">So Which Door? A Legacy Application Modernization Decision Path</h2>



<p class="wp-block-paragraph">Here is the compressed version of the sequence we walk clients through.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="640" src="https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-decision-path-copy-1024x640.webp" alt="Legacy application modernization decision path: five questions leading to retire, replatform, wrap in an API, rebuild, or retain" class="wp-image-1898" srcset="https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-decision-path-copy-1024x640.webp 1024w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-decision-path-copy-300x188.webp 300w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-decision-path-copy-768x480.webp 768w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-decision-path-copy-1536x960.webp 1536w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-decision-path-copy-2048x1280.webp 2048w, https://cswsolutions.com/wp-content/uploads/2026/09/legacy-application-modernization-decision-path-copy-scaled.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<ol class="wp-block-list">
<li><strong>Start with an assessment, always.</strong> Inventory, dependency map, support dates, change frequency, and an honest read on who understands what. This takes weeks, not months, and it is the cheapest investment you will make. Azure Migrate handles the infrastructure side. For .NET specifically, <a href="https://learn.microsoft.com/en-us/azure/developer/github-copilot-app-modernization/overview" target="_blank" rel="noopener">GitHub Copilot app modernization tooling</a> will now assess a codebase and propose and even apply a remediation plan for the Azure move, which has meaningfully changed the cost of the analysis step in the last couple of years.</li>



<li><strong>If the app is fine but isolated, wrap it.</strong> The business need is almost never &#8220;this app is old.&#8221; It is &#8220;this app cannot talk to anything.&#8221; Solve the stated problem first. Then decide.</li>



<li><strong>If the app is fine but the floor is falling out from under it, re-platform.</strong> Dead operating system, dead database version, dying hardware, unsustainable patching burden. Move it, change as little as possible, and do it in slices with a real rollback plan.</li>



<li><strong>If the app cannot express what the business now needs, rebuild the part that cannot.</strong> Not the whole thing but the part behind a facade, with the old one still running.</li>



<li><strong>If nobody can explain what it does, that is an emergency regardless of which door you pick.</strong> Buy the knowledge back through documentation, characterization tests, and observability before you touch anything. Don&#8217;t freak out yet, we <a href="https://cswsolutions.com/contact/" data-type="page" data-id="9">got you</a>.</li>



<li><strong>And if two people log in and neither can explain why, retire it.</strong> Go find them, there are usually three of them and they cost more than anyone realizes.</li>
</ol>



<p class="wp-block-paragraph">One more thing, because it gets left out of every modernization plan and then eats it from the inside, decide up front who owns the new thing. A facade needs monitoring. A PaaS deployment needs someone watching cost and scaling. A rebuilt service needs an on-call rotation. If the answer to &#8220;who runs this&#8221; is a shrug, you have not modernized. You have moved the ghost into a nicer house and handed it the keys. A shrug is not an answer. It is the sound a system makes on its way to becoming legacy again.</p>



<h2 class="wp-block-heading">Where CSW Solutions Fits</h2>



<p class="wp-block-paragraph">We are a local company based out of Chicago, which means two things for you. First, you are going to talk to the people doing the work, not an account manager who relays your questions to a team you never meet. Second, we do not have a bench to keep busy, so we have no incentive to sell you a rebuild when a facade would do. We have talked clients out of rewrites. It is one of our favorite parts of the job.</p>



<p class="wp-block-paragraph">We work across custom software development, AI and automation, and managed IT and cloud, and legacy application modernization touches all three. Someone has to write the code, someone has to make sure it&#8217;s secure and scalable, run the platform afterward, and increasingly someone has to figure out where AI actually belongs in the new system instead of where it looks good in a deck. We build on Azure, and we are deep enough in it to tell you which service is the right fit and which one is just the one Microsoft is promoting this quarter.</p>



<p class="wp-block-paragraph">A typical engagement starts with an assessment. It comes down to what you have, what it depends on, what is about to lose support, and what it is costing you in the places you have not been measuring. You get a document with a recommendation and a number attached to each option, including the option of doing nothing. Sometimes it says &#8220;wrap it, revisit in two years.&#8221; Sometimes it says &#8220;this needs to be rebuilt and here is the sequence.&#8221; Either way you own the document, and you are free to hand it to somebody else.</p>



<p class="wp-block-paragraph">If Windows Server 2016 or SQL Server 2016 is in your environment, the clock on that is real and it is short. If Kevin&#8217;s pricing module is in your environment, the clock on that is unknowable, which is worse.</p>



<p class="wp-block-paragraph">Either way, the first conversation is free and we will tell you the truth about what we find. <a href="https://cswsolutions.com/contact/" data-type="page" data-id="9">Reach out</a> to us any time and let us go look at what you&#8217;ve got together. Bring the AC unit story. We collect those.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://cswsolutions.com/blog/posts/2026/09/legacy-application-modernization-rebuild-replatform-wrap-api/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Getting Found in AI Search: Why Your Business Needs to Show Up in ChatGPT and AI Overviews</title>
		<link>https://cswsolutions.com/blog/posts/2026/08/ai-search-visibility/</link>
					<comments>https://cswsolutions.com/blog/posts/2026/08/ai-search-visibility/#respond</comments>
		
		<dc:creator><![CDATA[CSW Solutions Team]]></dc:creator>
		<pubDate>Thu, 27 Aug 2026 18:13:00 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AI Agents]]></category>
		<category><![CDATA[AI Automation]]></category>
		<category><![CDATA[Artificial Intelligence AI Agents]]></category>
		<category><![CDATA[Chat GPT]]></category>
		<category><![CDATA[CSW Solutions]]></category>
		<category><![CDATA[Custom Software Development]]></category>
		<category><![CDATA[Managed IT Services]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Azure]]></category>
		<category><![CDATA[Microsoft Copilot]]></category>
		<category><![CDATA[Microsoft Partner]]></category>
		<category><![CDATA[OpenAI]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[application modernization]]></category>
		<category><![CDATA[SMBs]]></category>
		<guid isPermaLink="false">https://cswsolutions.com/?p=1860</guid>

					<description><![CDATA[Somewhere in your analytics right now, there is a line item you have never clicked on. It is small, probably under one percent of your sessions. It sits below Organic, below Direct, below the paid campaign you wrestle with every quarter. And it is growing faster than everything else on the page combined. Previsible&#8217;s 2025 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Somewhere in your analytics right now, there is a line item you have never clicked on. It is small, probably under one percent of your sessions. It sits below Organic, below Direct, below the paid campaign you wrestle with every quarter. And it is growing faster than everything else on the page combined.</p>



<p class="wp-block-paragraph">Previsible&#8217;s <a href="https://searchengineland.com/ai-traffic-up-seo-rewritten-459954" data-type="link" data-id="https://searchengineland.com/ai-traffic-up-seo-rewritten-459954" target="_blank" rel="noopener">2025 AI Traffic Report</a> looked at 19 Google Analytics properties and found that AI referred sessions went from 17,076 to 107,100 comparing January through May of 2025 against the same stretch in 2024. That is a 527% year over year jump, and in one of the accounts they studied, ChatGPT traffic climbed from roughly 600 visits a month to more than 22,000. Legal, finance, health, insurance, and small business services made up about 55% of all the traffic coming from large language models. Which is to say, not sci-fi verticals but your verticals.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="508" src="https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-referral-traffic-growth-1024x508.png" alt="Bar chart of AI search visibility gains: AI referred sessions rose 527% from 17,076 to 107,100 year over year" class="wp-image-1868" srcset="https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-referral-traffic-growth-1024x508.png 1024w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-referral-traffic-growth-300x149.png 300w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-referral-traffic-growth-768x381.png 768w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-referral-traffic-growth-1536x762.png 1536w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-referral-traffic-growth-2048x1015.png 2048w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-referral-traffic-growth-scaled.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Meanwhile, the front door of the internet quietly changed shape. Semrush tracked more than <a href="https://www.semrush.com/blog/semrush-ai-overviews-study/" data-type="link" data-id="https://www.semrush.com/blog/semrush-ai-overviews-study/" target="_blank" rel="noopener">10 million keywords</a> through 2025 and found that the share of AI Overviews attached to commercial intent queries went from 8.15% to 18.57%, a relative increase of about 128%. Transactional queries went from under 2% to nearly 14%. Translated out of analyst dialect, this was the AI summary used to show up when people wanted to learn something. Now it also shows up when people are getting ready to buy something.</p>



<p class="wp-block-paragraph">That is the whole story in two numbers. More people are arriving from AI, and AI is increasingly answering the questions that used to end in a phone call to you. This makes AI search visibility, being the company the model actually names, the lead generation problem nobody put on this year&#8217;s budget.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="508" src="https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-commercial-ai-overviews-1024x508.png" alt="Dumbbell chart showing commercial intent AI Overviews rising from 8.15% to 18.57%, up 128% year over year" class="wp-image-1867" srcset="https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-commercial-ai-overviews-1024x508.png 1024w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-commercial-ai-overviews-300x149.png 300w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-commercial-ai-overviews-768x381.png 768w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-commercial-ai-overviews-1536x762.png 1536w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-commercial-ai-overviews-2048x1015.png 2048w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-commercial-ai-overviews-scaled.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">The Uncomfortable Middle of the Funnel</h2>



<p class="wp-block-paragraph">Here is the thing nobody ever dared to say out loud at the marketing meeting. For most SMBs, the top of the funnel was never really the website. It was word of mouth, referrals, the Chamber breakfast, the guy who knows a guy. The website&#8217;s job was basically to survive the background check that followed.</p>



<p class="wp-block-paragraph">AI search inserted itself directly into that momentum without a hitch, and it did something more aggressive than Google ever did. It stopped handing out ten blue doors and started giving one answer with footnotes. When a facilities manager types &#8220;best commercial HVAC service near Naperville with 24 hour emergency support,&#8221; the model does not return a list for them to evaluate. It evaluates for them, names two or three companies, and offers a short reason for each. You are either in that paragraph or you are not in the conversation. There is no page two of an answer.</p>



<h2 class="wp-block-heading">But the Traffic is Minimal, So Who Cares?</h2>



<p class="wp-block-paragraph">Fair pushback. AI referrals are still a rounding error in most accounts. Microsoft Clarity studied 1,277 domains over eight months and <a href="https://clarity.microsoft.com/blog/ai-traffic-converts-at-3x-the-rate-of-other-channels-study/" data-type="link" data-id="https://clarity.microsoft.com/blog/ai-traffic-converts-at-3x-the-rate-of-other-channels-study/" target="_blank" rel="noopener">confirmed it</a>. AI traffic grew 155.6% while search grew 24%, social grew 21.5%, and direct grew 14.9%, but even after all that growth AI still accounted for less than one percent of total traffic. Now the part that should make you sit up. In the same study, visitors arriving from large language models clicked through to sign up at a rate of 1.66%. Visitors from traditional search did it at 0.15%. That is roughly eleven times the rate. On subscription conversions, Copilot referrals converted at 17 times the rate of direct traffic and 15 times the rate of search. More than half of the sites in the sample had already turned AI sourced visitors into signups or subscriptions.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="464" src="https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-conversion-rate-by-channel-1024x464.png" alt="Bar chart comparing conversion rates by channel: AI assistant referrals sign up at 1.66% versus 0.15% for search" class="wp-image-1866" srcset="https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-conversion-rate-by-channel-1024x464.png 1024w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-conversion-rate-by-channel-300x136.png 300w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-conversion-rate-by-channel-768x348.png 768w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-conversion-rate-by-channel-1536x696.png 1536w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-conversion-rate-by-channel-2048x928.png 2048w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-conversion-rate-by-channel-scaled.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Microsoft&#8217;s own <a href="https://blogs.bing.com/webmaster/November-2025/How-AI-Search-Is-Changing%E2%80%AFthe%E2%80%AFWay%E2%80%AFConversions%E2%80%AFare-Measured" data-type="link" data-id="https://blogs.bing.com/webmaster/November-2025/How-AI-Search-Is-Changing%E2%80%AFthe%E2%80%AFWay%E2%80%AFConversions%E2%80%AFare-Measured" target="_blank" rel="noopener">writeup</a> on how AI search is changing the way conversions are measured, stacks up the corroborating research. 56% of sites saw higher conversions from AI driven sessions, with high traffic sites converting at 7.05% versus 5.81% for organic. AI referrals at 11.4% versus 5.3% for organic across global ecommerce. And Microsoft Advertising reports that Copilot powered buying journeys run 33% shorter and are 76% more likely to end in a lower funnel conversion.</p>



<p class="wp-block-paragraph">Think about what that means mechanically rather than as a statistic. A nonhuman, digital model just spent four turns of conversation qualifying someone, narrowing the field, and then it named you. The person who clicks your link is not browsing. They have been pre-sold by a machine with no financial stake in the outcome, which, ironically, makes it the most persuasive salesperson you will ever have.</p>



<p class="wp-block-paragraph">You do not want some of that traffic. You want every bit of it you can get.</p>



<h2 class="wp-block-heading">What Losing Looks Like</h2>



<p class="wp-block-paragraph">Chegg is the cautionary tale everyone should know. In February 2025 the education company sued Google, alleging AI Overviews had gutted its business. The numbers in the filing were not subtle. Their fourth quarter revenue of $143.5 million went down 24% year over year, a $6.1 million net loss, and non subscriber traffic went down 49% in January 2025 alone. That&#8217;s compared to the more feasible 8% decline a couple of quarters earlier. The company was worth <a href="https://searchengineland.com/google-sued-by-chegg-over-ai-overviews-hurting-traffic-and-revenue-452518" data-type="link" data-id="https://searchengineland.com/google-sued-by-chegg-over-ai-overviews-hurting-traffic-and-revenue-452518" target="_blank" rel="noopener">under $200 million</a> and trading around a dollar a share by the time it filed.</p>



<p class="wp-block-paragraph">Chegg&#8217;s problem was in a structural way that most SMBs are not. Their entire product relied on answers to questions, which is exactly the thing generative AI does for free. If your business is a service delivered by humans in a specific place, you are not facing that particular guillotine. You are facing a quieter one. If the AI model has nothing useful to say about you, it will say something useful about your competitor. If it cannot find your service area, it picks the company whose service area is written in plain text on a crawlable page. This is not malice. It is retrieval. The model quotes what it can read, verify, and restate with confidence.</p>



<p class="wp-block-paragraph">And there is a version of this that is worse than being skipped and that is being described incorrectly. Stale hours, a phone number from two offices ago, a service you stopped offering in 2021, or even a certification you let lapse. All of that gets scraped, blended, and delivered to a prospect in a confident tone of voice with your name on it. You do not get a chance to correct the record before the meeting.</p>



<h2 class="wp-block-heading">What Winning Looks Like</h2>



<p class="wp-block-paragraph">The encouraging news is that many of the companies doing well in this space are not doing anything mystical. They are doing what is legible.</p>



<p class="wp-block-paragraph">An agency called <em>Intercore Technologies</em> restructured a Chicago personal injury firm&#8217;s site around answer first content. They created roughly 50 core pages rewritten to lead with the answer, FAQ sections built out to real depth, a proper legal entity schema markup, and a presence across more than one platform so the model had multiple corroborating sources. The result was a 68% visibility across ChatGPT, Perplexity, and Claude, 156 new clients traced to AI recommendations, about $2.34 million in attributed revenue, and a 16.9% conversion rate on AI sourced leads. <em>Broworks</em>, a webflow development shop, added custom schema, comparison tables, and FAQ blocks. They reported that 10% of its organic traffic was coming from LLMs, 27% of AI referred sessions became sales qualified leads, and that those visitors ended up spending 30% longer on site rather than traditional organic ones. <em>Go Fish Digital</em> ran the play on itself and saw a <a href="https://gofishdigital.com/blog/generative-engine-optimization-geo-case-study-driving-leads/" data-type="link" data-id="https://gofishdigital.com/blog/generative-engine-optimization-geo-case-study-driving-leads/" target="_blank" rel="noopener">43% growth</a> in monthly AI driven traffic and an 83% lift in conversions from that traffic over three months. <em>Apollo.io</em> took a different route entirely, building out a community subreddit and publishing genuinely detailed competitor comparisons. It now sees a 63% citation rate on AI prompts about brand awareness in its category. <em>HubSpot</em> has already collected <a href="https://blog.hubspot.com/marketing/answer-engine-optimization-case-studies" target="_blank" rel="noopener">several of these</a> if you want to read even more about them.</p>



<p class="wp-block-paragraph">The caveat is that these are self reported agency case studies, not audited financials. Treat the direction as real and the decimal places as marketing. But the pattern is consistent and boring in the best way. Stat your business clearly. Label it so machines can parse it. Make sure more than one source on the internet says the same thing, and you&#8217;ll see results. </p>



<h2 class="wp-block-heading">AI Search Visibility: What Microsoft Actually Tells You to Do</h2>



<p class="wp-block-paragraph">Here is where it gets practical, and where the advice is mercifully concrete, because Microsoft has been unusually forthcoming about this. Copilot is built on Bing&#8217;s index, which means Bing&#8217;s guidance is not a side quest. It is basically documentation for how to get into an AI answer.</p>



<p class="wp-block-paragraph"><strong>Start with the scoreboard you did not know existed.</strong> In February 2026 Microsoft launched <a href="https://blogs.bing.com/webmaster/February-2026/Introducing-AI-Performance-in-Bing-Webmaster-Tools-Public-Preview" target="_blank" rel="noopener">AI Performance in Bing Webmaster Tools</a> as a public preview. It shows total citations, how many of your pages get cited per day, which specific URLs get referenced, and the grounding queries the AI used to find you. That last one is the good stuff. It is the closest thing anyone has to getting a keyword report for AI answers, and it is free. If you take one action after reading this, make sure it is verifying your site in Bing Webmaster Tools and opening that tab.</p>



<p class="wp-block-paragraph"><strong>Then fix the plumbing.</strong> Microsoft&#8217;s guidance on <a href="https://blogs.bing.com/webmaster/July-2025/Keeping-Content-Discoverable-with-Sitemaps-in-AI-Powered-Search" data-type="link" data-id="https://blogs.bing.com/webmaster/July-2025/Keeping-Content-Discoverable-with-Sitemaps-in-AI-Powered-Search" target="_blank" rel="noopener">keeping content discoverable</a> with sitemaps in AI powered search is refreshingly specific. Use XML rather than plain text so the metadata survives. Make your lastmod values honest and precise in ISO 8601 format with a timestamp, so it reflects when the page content actually changed and not when your CMS republished the sitemap file. Freshness signals influence both in how fast you get indexed and how accurate the AI answer about you will be. Stop worrying about changefreq and priority, because Bing ignores both. And pair your sitemap with <a href="https://www.bing.com/indexnow" target="_blank" rel="noopener">IndexNow</a>, which pings participating engines the moment a page changes instead of waiting for a crawler to wander by. It is a single HTTP request. Most modern platforms have a plugin, and if yours does not, it is an afternoon of work.</p>



<p class="wp-block-paragraph"><strong>Check that the crawlers can get in at all.</strong> Microsoft publishes a list of <a href="https://www.bing.com/webmasters/help/which-crawlers-does-bing-use-8c184ec0" target="_blank" rel="noopener">which crawlers Bing uses</a> and a <a href="https://www.bing.com/webmasters/help/robots-txt-tester-623520ca" target="_blank" rel="noopener">robots.txt tester</a> inside Webmaster Tools. We have found blanket disallow rules in more client robots.txt files than we would like to admit, usually left over from a staging environment or added by a well meaning developer during a scraping panic. Blocking AI crawlers is a legitimate strategic choice for some publishers. It is almost never the right choice for a services business that wants to be recommended.</p>



<p class="wp-block-paragraph"><strong>Write for extraction, not just for reading.</strong> Microsoft Advertising published a <a href="https://about.ads.microsoft.com/en/blog/post/october-2025/optimizing-your-content-for-inclusion-in-ai-search-answers" data-type="link" data-id="https://about.ads.microsoft.com/en/blog/post/october-2025/optimizing-your-content-for-inclusion-in-ai-search-answers" target="_blank" rel="noopener">direct guide</a> on optimizing your content for inclusion in AI search answers, and it reads like a checklist because it really is one. Use JSON-LD schema markup to label what things are: products, services, reviews, FAQs, events, organizations. Break content into modular chunks with real H2 and H3 headings, Q and A blocks, lists, and tables, because models retrieve passages rather than whole pages. Write self contained answers of one or two sentences that still make sense when they get yanked out of context, since that is exactly what happens. Anchor claims in measurable facts, and their example is perfect: &#8220;42 dB&#8221; beats &#8220;quiet.&#8221; And do not bury the good part in a tab, an accordion, a carousel, or a PDF. If a human needs to click to reveal it, assume the model never saw it.</p>



<p class="wp-block-paragraph">That last point deserves its own sentence. Fact density is the whole game. &#8220;We serve the greater Chicago area with fast response times&#8221; is a sentence a model cannot do anything with. &#8220;We provide managed IT support to businesses in Cook, DuPage, and Lake counties, with a one hour response SLA on critical tickets and 24/7 phone coverage&#8221; is a sentence a model can quote, and will.</p>



<p class="wp-block-paragraph"><strong>Then measure it honestly.</strong> Microsoft Clarity added dedicated channel groups, <a href="https://learn.microsoft.com/en-us/clarity/insights/ai-channel-group" target="_blank" rel="noopener">AIPlatform and PaidAIPlatform</a>, which separate organic links inside AI chat responses from paid placements inside AI products, across ChatGPT, Copilot, Gemini, Claude, and Perplexity. You get sessions, conversions, heatmaps, and session recordings filtered to just those visitors. Watching a recording of someone who arrived from an AI recommendation is genuinely instructive, because they behave nothing like a search visitor. They arrive knowing things. They skip your careful narrative homepage flow and go looking for the one specific fact the model told them about, and if they cannot find it in about ten seconds they leave and go ask again.</p>



<p class="wp-block-paragraph">One big thing to note is that attribution here is imperfect and everyone knows it. A lot of AI referred traffic shows up as Direct when the source is stripped, and Clarity does not retroactively reclassify history. Which is part of why Microsoft argues in that conversions piece that you should stop staring at last touch clicks and start tracking upstream signals such as citation frequency, impressions in answers, or how queries get refined. Preference now forms <em>before</em> the click, sometimes entirely without one. Their <a href="https://clarity.microsoft.com/blog/kpis-for-an-ai-mediated-web/" target="_blank" rel="noopener">five KPIs for an AI mediated web</a> is a decent starting framework if you like your metrics tidy.</p>



<h2 class="wp-block-heading">The Credibility Loop Nobody Warned You About</h2>



<p class="wp-block-paragraph">Here is the strategic wrinkle, and it is the reason this belongs on other desks rather than only in marketing. Everything that makes you visible to an AI model is also what makes you look competent to a human. Structured data means someone thought about how your services are categorized. Honest lastmod timestamps mean somebody is maintaining the site. Real service area definitions, specifics instead of adjectives, case studies with numbers in them. A model reads those as retrievable facts. A buyer reads them as a company that has its act together.</p>



<p class="wp-block-paragraph">The inverse is equally true and considerably more expensive. A site the AI cannot parse is usually a site with a stale CMS, a plugin stack nobody has updated, content written by committee in 2019, and no one clearly accountable for it. Prospects sense that even when they cannot name it. Now the machines are broadcasting it, in complete sentences, to people who asked for a recommendation.</p>



<p class="wp-block-paragraph">There is also a genuine timing argument, and I say this as someone allergic to false urgency. AI Overview coverage has been volatile: Semrush measured it at 6.49% of queries in January 2025, peaking near 24.61% in July, then settling back to 15.69% by November. Google is clearly still tuning. Commercial coverage kept climbing anyway, and a separate Semrush <a href="https://www.semrush.com/blog/ai-overviews-commercial-search-study/" data-type="link" data-id="https://www.semrush.com/blog/ai-overviews-commercial-search-study/" target="_blank" rel="noopener">analysis</a> of more than 600,000 keywords found commercial intent SERPs with AI Overviews grew another 71% between November 2025 and April 2026, with finance up 231%. Zero click rates, for what it is worth, actually dipped slightly, from 33.75% to 31.53%, so the apocalypse narrative was totally oversold. The trend is not that clicks vanish. The trend is that fewer companies get shown, and being one of them is worth more than it used to be.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="490" src="https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-ai-overview-coverage-2025-1024x490.png" alt="Line chart of Google AI Overview coverage through 2025, rising from 6.49% to 24.61% then settling at 15.69%" class="wp-image-1865" srcset="https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-ai-overview-coverage-2025-1024x490.png 1024w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-ai-overview-coverage-2025-300x144.png 300w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-ai-overview-coverage-2025-768x367.png 768w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-ai-overview-coverage-2025-1536x735.png 1536w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-ai-overview-coverage-2025-2048x980.png 2048w, https://cswsolutions.com/wp-content/uploads/2026/08/ai-search-visibility-ai-overview-coverage-2025-scaled.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">The window is open because most of your competitors are still arguing about whether this is real. Being early to a channel where a machine hand delivers pre qualified buyers is not a small edge. Ask anyone who bought Google Ads in 2006.</p>



<h2 class="wp-block-heading">Your AI Search Visibility Checklist for Monday</h2>



<p class="wp-block-paragraph">TLDR? Or if you want the short version, in order, on a scale of hours rather than quarters, we&#8217;ve got you covered.</p>



<ol class="wp-block-list">
<li>Verify your site in Bing Webmaster Tools and look at AI Performance. </li>



<li>Ask a few models what they say about your company and your top three service queries, and write the answers down verbatim so you have a baseline. </li>



<li>Check robots.txt for anything blocking AI crawlers. </li>



<li>Fix your sitemap&#8217;s lastmod values and turn on IndexNow. </li>



<li>Add organization, service, and FAQ schema to the pages that matter. </li>



<li>Rewrite your five highest intent pages so the answer comes first and the specifics are numeric. </li>



<li>Turn on Clarity&#8217;s AI channel groups so you can prove any of this actually worked.</li>
</ol>



<p class="wp-block-paragraph">None of that is glamorous but all of it compounds.<br>And you&#8217;re welcome. </p>



<h2 class="wp-block-heading">Where CSW Solutions Comes In</h2>



<p class="wp-block-paragraph">Now the part where I tell you what we do, because you have read a couple thousand words and we always give  a straight answer at CSW Solutions. We are a Chicago based IT and AI consulting firm. The reason we care about this particular topic is that it sits exactly where our service lines overlap, and it is a rare problem where the technical fix and the revenue fix are the same fix.</p>



<p class="wp-block-paragraph">On the <strong><a href="https://cswsolutions.com/managed-it-cloud/" data-type="page" data-id="12">managed IT and cloud</a></strong> side, we do the unsexy foundation work: getting your site properly indexed, verifying you in Bing Webmaster Tools, cleaning up robots.txt and sitemaps, wiring up IndexNow, and making sure your Azure hosted site is fast, secure, and consistently crawlable. Models cannot cite a page that times out.</p>



<p class="wp-block-paragraph">On the <strong><a href="https://cswsolutions.com/software-development/" data-type="page" data-id="11">custom software development</a></strong> side, we do it all. We implement the structured data layer that makes your content machine readable, and we fix the CMS and template problems that bury your best facts inside tabs, accordions, and PDFs. If your service catalog lives in a system that nobody can export cleanly, that is a development problem wearing a marketing costume, and we have solved it a number of times.</p>



<p class="wp-block-paragraph">On the <strong><a href="https://cswsolutions.com/ai-workflow-automation/" data-type="page" data-id="19">AI and automation</a></strong> side, we build the monitoring loop. We track what the major assistants actually say about you, catch the moment they start describing you incorrectly, and automate the freshness signals so your published facts stay current without somebody remembering to do it. We also help you keep the internal knowledge that feeds all of this in one governed place, on Microsoft 365 and Azure, rather than scattered across eleven people&#8217;s laptops.</p>



<p class="wp-block-paragraph">If you would rather just get your <a href="https://cswsolutions.com/blog/posts/category/code-audit/" data-type="category" data-id="50">code</a> up to speed or <a href="https://cswsolutions.com/erp-modernization/" data-type="page" data-id="17">modernize</a> ERPs in your company, those are fine reasons to call us too. Reach out to <a href="https://cswsolutions.com/contact/" data-type="page" data-id="9">CSW Solutions</a> and let us take a look. The models are already answering questions about your business. It would be nice if they got them right.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://cswsolutions.com/blog/posts/2026/08/ai-search-visibility/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
