mirror of
https://gitlab.com/Anson-Projects/projects.git
synced 2026-06-03 21:00:27 +00:00
2564 lines
84 KiB
HTML
2564 lines
84 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||
|
||
<head>
|
||
|
||
<meta charset="utf-8" />
|
||
<meta name="generator" content="quarto-1.7.31" />
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||
|
||
<meta name="author" content="Anson Biggs" />
|
||
<meta name="dcterms.date" content="2026-01-17" />
|
||
|
||
<title>GenAI Tools Trade Study – Anson's Projects</title>
|
||
<style>
|
||
code{white-space: pre-wrap;}
|
||
span.smallcaps{font-variant: small-caps;}
|
||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||
div.column{flex: auto; overflow-x: auto;}
|
||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||
ul.task-list{list-style: none;}
|
||
ul.task-list li input[type="checkbox"] {
|
||
width: 0.8em;
|
||
margin: 0 0.8em 0.2em -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */
|
||
vertical-align: middle;
|
||
}
|
||
</style>
|
||
|
||
<!-- htmldependencies:E3FAD763 -->
|
||
<script id="quarto-search-options" type="application/json">{
|
||
"location": "sidebar",
|
||
"copy-button": false,
|
||
"collapse-after": 3,
|
||
"panel-placement": "start",
|
||
"type": "textbox",
|
||
"limit": 50,
|
||
"keyboard-shortcut": [
|
||
"f",
|
||
"/",
|
||
"s"
|
||
],
|
||
"show-item-context": false,
|
||
"language": {
|
||
"search-no-results-text": "No results",
|
||
"search-matching-documents-text": "matching documents",
|
||
"search-copy-link-title": "Copy link to search",
|
||
"search-hide-matches-text": "Hide additional matches",
|
||
"search-more-match-text": "more match in this document",
|
||
"search-more-matches-text": "more matches in this document",
|
||
"search-clear-button-title": "Clear",
|
||
"search-text-placeholder": "",
|
||
"search-detached-cancel-button-title": "Cancel",
|
||
"search-submit-button-title": "Submit",
|
||
"search-label": "Search"
|
||
}
|
||
}</script>
|
||
<script src="../../site_libs/quarto-diagram/mermaid.min.js"></script>
|
||
<script src="../../site_libs/quarto-diagram/mermaid-init.js"></script>
|
||
<link href="../../site_libs/quarto-diagram/mermaid.css" rel="stylesheet" />
|
||
|
||
|
||
</head>
|
||
|
||
<body>
|
||
|
||
<div id="quarto-search-results"></div>
|
||
<!-- content -->
|
||
<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article">
|
||
<!-- sidebar -->
|
||
<!-- margin-sidebar -->
|
||
<div id="quarto-margin-sidebar" class="sidebar margin-sidebar">
|
||
<div id="quarto-toc-target"></div>
|
||
</div>
|
||
<!-- main -->
|
||
<main class="content" id="quarto-document-content">
|
||
|
||
|
||
<header id="title-block-header" class="quarto-title-block default">
|
||
<div class="quarto-title-banner">
|
||
<div class="quarto-title column-body">
|
||
<h1 class="title">GenAI Tools Trade Study</h1>
|
||
<p class="subtitle lead">Supporting Documentation for Tooling Alignment RFC</p>
|
||
<div class="quarto-categories">
|
||
<div class="quarto-category">RFC</div>
|
||
<div class="quarto-category">GenAI</div>
|
||
<div class="quarto-category">Tooling</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="quarto-title-meta-author">
|
||
<div class="quarto-title-meta-heading">Author</div>
|
||
<div class="quarto-title-meta-heading">Affiliation</div>
|
||
|
||
<div class="quarto-title-meta-contents">
|
||
<p class="author">Anson Biggs </p>
|
||
</div>
|
||
<div class="quarto-title-meta-contents">
|
||
<p class="affiliation">
|
||
Shield AI
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="quarto-title-meta">
|
||
|
||
|
||
<div>
|
||
<div class="quarto-title-meta-heading">Published</div>
|
||
<div class="quarto-title-meta-contents">
|
||
<p class="date">January 17, 2026</p>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
<div>
|
||
<div class="abstract">
|
||
<div class="block-title">Abstract</div>
|
||
<p>Comprehensive comparison of AI coding tools and platforms to support the case for tool/model alignment. Covers feature comparisons, pricing, security certifications, and enterprise capabilities.</p>
|
||
</div>
|
||
</div>
|
||
|
||
</header>
|
||
|
||
<nav id="TOC" role="doc-toc">
|
||
<h2 id="toc-title">On this page</h2>
|
||
|
||
<ul>
|
||
<li><a href="#executive-summary-who-led-innovation" id="toc-executive-summary-who-led-innovation">Executive Summary: Who Led Innovation</a></li>
|
||
<li><a href="#market-adoption-has-reached-critical-mass" id="toc-market-adoption-has-reached-critical-mass">Market Adoption Has Reached Critical Mass</a>
|
||
<ul>
|
||
<li><a href="#adoption-statistics" id="toc-adoption-statistics">Adoption Statistics</a></li>
|
||
<li><a href="#tool-revenue-and-growth" id="toc-tool-revenue-and-growth">Tool Revenue and Growth</a></li>
|
||
<li><a href="#productivity-impact-controlled-studies" id="toc-productivity-impact-controlled-studies">Productivity Impact (Controlled Studies)</a></li>
|
||
<li><a href="#realistic-productivity-expectations" id="toc-realistic-productivity-expectations">Realistic Productivity Expectations</a></li>
|
||
<li><a href="#important-caveats" id="toc-important-caveats">Important Caveats</a></li>
|
||
<li><a href="#defense-prime-deployments" id="toc-defense-prime-deployments">Defense Prime Deployments</a></li>
|
||
<li><a href="#tech-forward-aerospace" id="toc-tech-forward-aerospace">Tech-Forward Aerospace</a></li>
|
||
<li><a href="#business-case-cost-vs.-productivity-gain" id="toc-business-case-cost-vs.-productivity-gain">Business Case: Cost vs. Productivity Gain</a></li>
|
||
<li><a href="#key-insight" id="toc-key-insight">Key Insight</a></li>
|
||
</ul></li>
|
||
<li><a href="#tool-release-timeline" id="toc-tool-release-timeline">Tool Release Timeline</a></li>
|
||
<li><a href="#feature-comparison-matrix" id="toc-feature-comparison-matrix">Feature Comparison Matrix</a>
|
||
<ul>
|
||
<li><a href="#core-capabilities" id="toc-core-capabilities">Core Capabilities</a></li>
|
||
<li><a href="#configuration-customization" id="toc-configuration-customization">Configuration & Customization</a></li>
|
||
<li><a href="#model-access" id="toc-model-access">Model Access</a></li>
|
||
</ul></li>
|
||
<li><a href="#pricing-comparison" id="toc-pricing-comparison">Pricing Comparison</a>
|
||
<ul>
|
||
<li><a href="#individual-plans" id="toc-individual-plans">Individual Plans</a></li>
|
||
<li><a href="#enterprise-plans" id="toc-enterprise-plans">Enterprise Plans</a></li>
|
||
</ul></li>
|
||
<li><a href="#mcp-adoption-timeline" id="toc-mcp-adoption-timeline">MCP Adoption Timeline</a></li>
|
||
<li><a href="#enterprise-feature-comparison" id="toc-enterprise-feature-comparison">Enterprise Feature Comparison</a></li>
|
||
<li><a href="#secure-environment-support-fedramp-cui-air-gapped" id="toc-secure-environment-support-fedramp-cui-air-gapped">Secure Environment Support (FedRAMP, CUI, Air-Gapped)</a>
|
||
<ul>
|
||
<li><a href="#fedramp-authorization-is-no-longer-a-bottleneck" id="toc-fedramp-authorization-is-no-longer-a-bottleneck">FedRAMP Authorization Is No Longer a Bottleneck</a></li>
|
||
<li><a href="#fedramp-authorization-status" id="toc-fedramp-authorization-status">FedRAMP Authorization Status</a></li>
|
||
<li><a href="#govcloud-model-availability" id="toc-govcloud-model-availability">GovCloud Model Availability</a></li>
|
||
<li><a href="#deployment-options-by-environment" id="toc-deployment-options-by-environment">Deployment Options by Environment</a></li>
|
||
<li><a href="#air-gapped-deployment-details" id="toc-air-gapped-deployment-details">Air-Gapped Deployment Details</a></li>
|
||
<li><a href="#cui-controlled-unclassified-information-support" id="toc-cui-controlled-unclassified-information-support">CUI (Controlled Unclassified Information) Support</a></li>
|
||
<li><a href="#fedramp-scope-guidance-aug-2025" id="toc-fedramp-scope-guidance-aug-2025">FedRAMP Scope Guidance (Aug 2025)</a></li>
|
||
<li><a href="#security-certification-summary" id="toc-security-certification-summary">Security Certification Summary</a></li>
|
||
<li><a href="#key-takeaways-for-secure-environments" id="toc-key-takeaways-for-secure-environments">Key Takeaways for Secure Environments</a></li>
|
||
</ul></li>
|
||
<li><a href="#enterprise-private-plugin-marketplace-claude-code-exclusive" id="toc-enterprise-private-plugin-marketplace-claude-code-exclusive">Enterprise Private Plugin Marketplace (Claude Code Exclusive)</a>
|
||
<ul>
|
||
<li><a href="#what-claude-code-offers" id="toc-what-claude-code-offers">What Claude Code Offers</a></li>
|
||
<li><a href="#how-it-works" id="toc-how-it-works">How It Works</a></li>
|
||
<li><a href="#what-plugins-can-bundle" id="toc-what-plugins-can-bundle">What Plugins Can Bundle</a></li>
|
||
<li><a href="#competitor-comparison" id="toc-competitor-comparison">Competitor Comparison</a></li>
|
||
<li><a href="#why-this-matters-for-enterprise" id="toc-why-this-matters-for-enterprise">Why This Matters for Enterprise</a></li>
|
||
<li><a href="#example-use-cases" id="toc-example-use-cases">Example Use Cases</a></li>
|
||
</ul></li>
|
||
<li><a href="#benchmark-performance" id="toc-benchmark-performance">Benchmark Performance</a>
|
||
<ul>
|
||
<li><a href="#swe-bench-verified-jan-2026" id="toc-swe-bench-verified-jan-2026">SWE-bench Verified (Jan 2026)</a></li>
|
||
<li><a href="#speed-vs-quality-tradeoff" id="toc-speed-vs-quality-tradeoff">Speed vs Quality Tradeoff</a></li>
|
||
</ul></li>
|
||
<li><a href="#key-differentiators-by-tool" id="toc-key-differentiators-by-tool">Key Differentiators by Tool</a>
|
||
<ul>
|
||
<li><a href="#claude-code" id="toc-claude-code">Claude Code</a></li>
|
||
<li><a href="#codex-openai" id="toc-codex-openai">Codex (OpenAI)</a></li>
|
||
<li><a href="#cursor" id="toc-cursor">Cursor</a></li>
|
||
<li><a href="#github-copilot" id="toc-github-copilot">GitHub Copilot</a></li>
|
||
<li><a href="#windsurf" id="toc-windsurf">Windsurf</a></li>
|
||
<li><a href="#chatgpt" id="toc-chatgpt">ChatGPT</a></li>
|
||
</ul></li>
|
||
<li><a href="#the-case-for-anthropic-alignment" id="toc-the-case-for-anthropic-alignment">The Case for Anthropic Alignment</a>
|
||
<ul>
|
||
<li><a href="#innovation-leadership" id="toc-innovation-leadership">1. Innovation Leadership</a></li>
|
||
<li><a href="#mcp-ecosystem-advantage" id="toc-mcp-ecosystem-advantage">2. MCP Ecosystem Advantage</a></li>
|
||
<li><a href="#configuration-portability" id="toc-configuration-portability">3. Configuration Portability</a></li>
|
||
<li><a href="#agent-sdk" id="toc-agent-sdk">4. Agent SDK</a></li>
|
||
<li><a href="#benchmark-leadership" id="toc-benchmark-leadership">5. Benchmark Leadership</a></li>
|
||
<li><a href="#enterprise-readiness" id="toc-enterprise-readiness">6. Enterprise Readiness</a></li>
|
||
<li><a href="#enterprise-private-plugin-marketplace-unique" id="toc-enterprise-private-plugin-marketplace-unique">7. Enterprise Private Plugin Marketplace (Unique)</a></li>
|
||
</ul></li>
|
||
<li><a href="#risks-of-multi-tool-strategy" id="toc-risks-of-multi-tool-strategy">Risks of Multi-Tool Strategy</a></li>
|
||
<li><a href="#recommendation" id="toc-recommendation">Recommendation</a></li>
|
||
<li><a href="#sources" id="toc-sources">Sources</a></li>
|
||
</ul>
|
||
</nav>
|
||
<section id="executive-summary-who-led-innovation" class="level2">
|
||
<h2>Executive Summary: Who Led Innovation</h2>
|
||
<div class="cell" data-layout-align="default">
|
||
<div class="cell-output-display">
|
||
<div>
|
||
<p><figure class=''></p>
|
||
<div>
|
||
<pre class="mermaid mermaid-js">timeline
|
||
title AI Coding Innovation Timeline
|
||
|
||
2021 : Code Completion - Copilot (Microsoft)
|
||
|
||
2022 : Chat Interface - ChatGPT (OpenAI)
|
||
|
||
2023 : Chat - Claude Web (Anthropic)
|
||
: Chat - Copilot Chat (Microsoft)
|
||
: Code Completion - Cursor
|
||
|
||
2024 : Computer Use - Claude 3.5 (Anthropic)
|
||
: MCP Protocol - Anthropic
|
||
: Code Completion - Windsurf
|
||
|
||
2025 : Computer Use - Operator (OpenAI)
|
||
: Agentic CLI - Claude Code (Anthropic)
|
||
: MCP - OpenAI adopts
|
||
: Agentic CLI - Codex (OpenAI)
|
||
: MCP - Google adopts
|
||
: Enterprise Plugins - Claude Code (Anthropic)
|
||
: MCP - VS Code adopts
|
||
</pre>
|
||
</div>
|
||
<p></figure></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p><strong>Anthropic first mover</strong> — Led on Computer Use, MCP, Agentic CLI, Enterprise Plugins</p>
|
||
<hr />
|
||
</section>
|
||
<section id="market-adoption-has-reached-critical-mass" class="level2">
|
||
<h2>Market Adoption Has Reached Critical Mass</h2>
|
||
<p>The AI coding tools market has crossed the enterprise adoption threshold. Organizations that delay adoption now face competitive disadvantage.</p>
|
||
<section id="adoption-statistics" class="level3">
|
||
<h3>Adoption Statistics</h3>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 34%" />
|
||
<col style="width: 30%" />
|
||
<col style="width: 34%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Metric</th>
|
||
<th>Value</th>
|
||
<th>Source</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Developers using/planning to use AI tools</td>
|
||
<td><strong>76-85%</strong></td>
|
||
<td>Stack Overflow 2024, JetBrains 2025</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Fortune 100 companies using Copilot</td>
|
||
<td><strong>90%</strong></td>
|
||
<td>GitHub/Microsoft</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Enterprise adoption projected by 2028</td>
|
||
<td><strong>90%</strong></td>
|
||
<td>Gartner</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Market size (2025)</td>
|
||
<td><strong>$7.37B</strong></td>
|
||
<td>Industry analysts</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Market size projected (2030)</td>
|
||
<td><strong>$24-30B</strong></td>
|
||
<td>Industry analysts</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>YoY enterprise AI dev tool spending increase</td>
|
||
<td><strong>3.2x</strong></td>
|
||
<td>$11.5B → $37B (2024→2025)</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="tool-revenue-and-growth" class="level3">
|
||
<h3>Tool Revenue and Growth</h3>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 23%" />
|
||
<col style="width: 26%" />
|
||
<col style="width: 19%" />
|
||
<col style="width: 30%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Tool</th>
|
||
<th>Users</th>
|
||
<th>ARR</th>
|
||
<th>Growth</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>GitHub Copilot</td>
|
||
<td>20M users, 77K+ orgs</td>
|
||
<td>~$800M+</td>
|
||
<td>42% market share</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Cursor</td>
|
||
<td>1M+ daily users, 50K+ teams</td>
|
||
<td><strong>$1B+</strong></td>
|
||
<td>Fastest-growing SaaS ever ($1M→$1B in <2 years)</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Claude Code</td>
|
||
<td>300K+ business customers</td>
|
||
<td><strong>$1B</strong> (run-rate in 6 months)</td>
|
||
<td>80% from enterprise</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Windsurf/Codeium</td>
|
||
<td>800K+ developers</td>
|
||
<td>$82M</td>
|
||
<td>Declining (acquired)</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="productivity-impact-controlled-studies" class="level3">
|
||
<h3>Productivity Impact (Controlled Studies)</h3>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 27%" />
|
||
<col style="width: 44%" />
|
||
<col style="width: 27%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Metric</th>
|
||
<th>Improvement</th>
|
||
<th>Source</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Task completion speed</td>
|
||
<td><strong>55% faster</strong></td>
|
||
<td>GitHub study (95 developers)</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Pull requests per developer</td>
|
||
<td><strong>+8.69%</strong></td>
|
||
<td>Accenture (450+ developers)</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Merge rate improvement</td>
|
||
<td><strong>+15%</strong></td>
|
||
<td>Accenture</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Successful builds</td>
|
||
<td><strong>+84%</strong></td>
|
||
<td>Accenture</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>PR turnaround time</td>
|
||
<td><strong>4x faster</strong> (9.6 → 2.4 days)</td>
|
||
<td>Enterprise deployments</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Code review time</td>
|
||
<td><strong>-67%</strong></td>
|
||
<td>Enterprise deployments</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Code generated by AI (active users)</td>
|
||
<td><strong>46%</strong></td>
|
||
<td>GitHub</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="realistic-productivity-expectations" class="level3">
|
||
<h3>Realistic Productivity Expectations</h3>
|
||
<p>Vendor claims of 50%+ productivity gains rarely materialize in production. The most rigorous studies show:</p>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 21%" />
|
||
<col style="width: 24%" />
|
||
<col style="width: 27%" />
|
||
<col style="width: 27%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Study</th>
|
||
<th>Sample</th>
|
||
<th>Finding</th>
|
||
<th>Context</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>GitHub/Microsoft RCT 2023</td>
|
||
<td>95 developers</td>
|
||
<td><strong>55.8% faster</strong></td>
|
||
<td>Simple isolated tasks</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>MIT/Microsoft Field 2024</td>
|
||
<td><strong>4,867 developers</strong></td>
|
||
<td><strong>26% more PRs/week</strong></td>
|
||
<td>Production environment</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>METR RCT 2025</td>
|
||
<td>16 senior developers</td>
|
||
<td><strong>19% slower</strong></td>
|
||
<td>Complex established codebases</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Uplevel 2024</td>
|
||
<td>800 developers</td>
|
||
<td>No significant gains</td>
|
||
<td><strong>41% more bugs</strong> introduced</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>The realistic number is 26%</strong> from the MIT/Microsoft multi-company field study—substantial but half the vendor headline. The METR study found experienced developers were actually <strong>19% slower</strong> on complex codebases where they had implicit context the model lacked.</p>
|
||
<p><strong>Where AI tools work best:</strong></p>
|
||
<ul>
|
||
<li>Junior developers (25-30% gains well-documented)</li>
|
||
<li>Greenfield projects and boilerplate code</li>
|
||
<li>Documentation and technical writing (50% time savings)</li>
|
||
<li>Test generation and debugging</li>
|
||
</ul>
|
||
<p><strong>Where AI tools struggle:</strong></p>
|
||
<ul>
|
||
<li>Complex, established codebases</li>
|
||
<li>Senior engineers with deep domain knowledge</li>
|
||
<li>Safety-critical code requiring certification</li>
|
||
</ul>
|
||
</section>
|
||
<section id="important-caveats" class="level3">
|
||
<h3>Important Caveats</h3>
|
||
<ul>
|
||
<li><strong>11 weeks</strong> for users to fully realize productivity gains (initial dip during learning)</li>
|
||
<li>AI-generated code has <strong>41% higher churn rate</strong> than human-written code (GitClear 2024)</li>
|
||
<li><strong>45% of AI-generated code</strong> fails security tests (Veracode 2025)</li>
|
||
<li>AI-assisted developers produce <strong>10x more security issues</strong> (Apiiro 2025)</li>
|
||
<li><strong>95% of enterprise AI pilots fail</strong> to deliver measurable ROI (MIT Media Lab 2025)</li>
|
||
<li>Organizations with <strong>80-100% developer adoption</strong> see 110%+ productivity gains; partial adoption (<50%) shows minimal impact</li>
|
||
</ul>
|
||
</section>
|
||
<section id="defense-prime-deployments" class="level3">
|
||
<h3>Defense Prime Deployments</h3>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 30%" />
|
||
<col style="width: 30%" />
|
||
<col style="width: 14%" />
|
||
<col style="width: 24%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Defense Prime</th>
|
||
<th>Platform/Tool</th>
|
||
<th>Scale</th>
|
||
<th>Key Metric</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Lockheed Martin</td>
|
||
<td>AI Factory, Genesis, Jiminy</td>
|
||
<td><strong>70,000+ users</strong></td>
|
||
<td>1B+ tokens/week</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Boeing</td>
|
||
<td>GenAI Platform, Code Assistant</td>
|
||
<td><strong>170,000 deployed</strong></td>
|
||
<td>Up to 2 hrs/day saved</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Northrop Grumman</td>
|
||
<td>NVIDIA RTX PRO Servers</td>
|
||
<td><strong>100,000 employees</strong></td>
|
||
<td>Enterprise-wide</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>General Dynamics</td>
|
||
<td>Aurora AI, ChatGDIT</td>
|
||
<td>10,000+ in AI training</td>
|
||
<td>10% more tasks</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>Note:</strong> No major defense prime has publicly disclosed GitHub Copilot Enterprise deployment—likely due to security and IP concerns with cloud-based tools. All emphasize on-premise, secure deployment architectures.</p>
|
||
</section>
|
||
<section id="tech-forward-aerospace" class="level3">
|
||
<h3>Tech-Forward Aerospace</h3>
|
||
<p>Blue Origin provides the most aggressive adoption metrics:</p>
|
||
<ul>
|
||
<li><strong>95% of software engineers</strong> use GenAI tools</li>
|
||
<li><strong>2,700+ AI agents</strong> deployed</li>
|
||
<li><strong>70% company-wide adoption</strong></li>
|
||
<li><strong>3.5 million AI interactions monthly</strong></li>
|
||
<li>Claims <strong>90% reduction in hardware development time</strong></li>
|
||
</ul>
|
||
</section>
|
||
<section id="business-case-cost-vs.-productivity-gain" class="level3">
|
||
<h3>Business Case: Cost vs. Productivity Gain</h3>
|
||
<p><strong>Claude Enterprise Pricing:</strong></p>
|
||
<table class="caption-top">
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Tier</th>
|
||
<th>Price</th>
|
||
<th>Notes</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Team Standard</td>
|
||
<td>$25/seat/month</td>
|
||
<td>5 seat minimum</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Team Premium</td>
|
||
<td>$150/seat/month</td>
|
||
<td>Includes Claude Code</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Enterprise</td>
|
||
<td>~$60/seat/month</td>
|
||
<td>70+ seats, annual contract</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>Estimated minimum enterprise contract: <strong>$50,000/year</strong>. Batch processing offers 50% API cost savings; prompt caching reduces costs up to 90% on repeated prompts.</p>
|
||
<p><strong>Simple ROI Math:</strong></p>
|
||
<p>For an engineer costing $200K/year fully loaded:</p>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 14%" />
|
||
<col style="width: 26%" />
|
||
<col style="width: 28%" />
|
||
<col style="width: 22%" />
|
||
<col style="width: 7%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Scenario</th>
|
||
<th>Annual Tool Cost</th>
|
||
<th>Productivity Gain</th>
|
||
<th>Value Created</th>
|
||
<th>ROI</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Conservative (20%)</td>
|
||
<td>$720/engineer</td>
|
||
<td>+$40,000 output</td>
|
||
<td>$39,280</td>
|
||
<td><strong>55x</strong></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Realistic (26%)</td>
|
||
<td>$720/engineer</td>
|
||
<td>+$52,000 output</td>
|
||
<td>$51,280</td>
|
||
<td><strong>71x</strong></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Optimistic (30%)</td>
|
||
<td>$720/engineer</td>
|
||
<td>+$60,000 output</td>
|
||
<td>$59,280</td>
|
||
<td><strong>82x</strong></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>Even at conservative estimates, <strong>every $1 spent returns $55+ in productivity</strong>.</p>
|
||
<p><strong>Enterprise ROI Case Studies:</strong></p>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 43%" />
|
||
<col style="width: 31%" />
|
||
<col style="width: 25%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Organization</th>
|
||
<th>Industry</th>
|
||
<th>Result</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Novo Nordisk</td>
|
||
<td>Pharma</td>
|
||
<td>90% time reduction (10 weeks → 10 min); 50 writers → 3; Claude cost < 1 writer’s salary</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Bridgewater</td>
|
||
<td>Finance</td>
|
||
<td>50-70% time reduction on complex reports</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Pfizer</td>
|
||
<td>Pharma</td>
|
||
<td>16,000 hours/year saved</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>TELUS (57K employees)</td>
|
||
<td>Telecom</td>
|
||
<td>30% code delivery velocity improvement</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Palo Alto Networks</td>
|
||
<td>Cybersecurity</td>
|
||
<td>44% faster vulnerability response</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Altana</td>
|
||
<td>Supply chain/defense</td>
|
||
<td>2-10x development velocity</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>Novo Nordisk’s deployment is instructive:</strong> Their clinical study report writing went from 10+ weeks to 10 minutes. The team shrank from 50 writers to 3, with annual Claude spend less than one writer’s salary—achieving potential savings of <strong>$15 million/day</strong> from faster drug-to-market timelines.</p>
|
||
</section>
|
||
<section id="key-insight" class="level3">
|
||
<h3>Key Insight</h3>
|
||
<p><strong>This is no longer experimental.</strong> 90% of Fortune 100 have deployed. The question isn’t whether to adopt AI coding tools—it’s which ones and how to standardize. Even with conservative 20% productivity estimates, the ROI is overwhelming—the real risk is <em>not</em> adopting.</p>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 28%" />
|
||
<col style="width: 30%" />
|
||
<col style="width: 14%" />
|
||
<col style="width: 26%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Innovation</th>
|
||
<th>First Mover</th>
|
||
<th>Date</th>
|
||
<th>Followers</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>AI Code Completion</strong></td>
|
||
<td>GitHub Copilot</td>
|
||
<td>June 2021</td>
|
||
<td>Cursor (2023), Windsurf (2024)</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Chat Interface</strong></td>
|
||
<td>ChatGPT</td>
|
||
<td>Nov 2022</td>
|
||
<td>Claude Web (Mar 2023), Copilot Chat (Jul 2023)</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Agentic Coding (CLI)</strong></td>
|
||
<td>Claude Code</td>
|
||
<td>Feb 2025</td>
|
||
<td>Codex (May 2025)</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>MCP (Tool Protocol)</strong></td>
|
||
<td>Anthropic</td>
|
||
<td>Nov 2024</td>
|
||
<td>OpenAI (Mar 2025), Google (May 2025), VS Code (Jul 2025)</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Extended Thinking</strong></td>
|
||
<td>Claude 3.7</td>
|
||
<td>Feb 2025</td>
|
||
<td>o1 had reasoning (Sep 2024) but Claude was first “hybrid”</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Computer Use</strong></td>
|
||
<td>Claude 3.5</td>
|
||
<td>Oct 2024</td>
|
||
<td>OpenAI Operator (Jan 2025)</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Multi-Model IDE</strong></td>
|
||
<td>Cursor</td>
|
||
<td>2024</td>
|
||
<td>Copilot (Oct 2024), Windsurf (2025)</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Background Agents</strong></td>
|
||
<td>Cursor</td>
|
||
<td>Jun 2025</td>
|
||
<td>Claude Code has subagents</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Consumer Plugin Marketplace</strong></td>
|
||
<td>ChatGPT</td>
|
||
<td>Mar 2023</td>
|
||
<td>Copilot Extensions (May 2024), Claude Integrations (Jun 2025)</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Enterprise Private Plugin Marketplace</strong></td>
|
||
<td>Claude Code</td>
|
||
<td>2025</td>
|
||
<td><strong>No competitors</strong> - unique capability</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>Key Insight</strong>: Anthropic consistently leads in novel capabilities (MCP, extended thinking, computer use, agentic CLI, enterprise plugin marketplace), while OpenAI/Microsoft lead in distribution and ecosystem breadth.</p>
|
||
<hr />
|
||
</section>
|
||
</section>
|
||
<section id="tool-release-timeline" class="level2">
|
||
<h2>Tool Release Timeline</h2>
|
||
<pre><code>2021
|
||
Jun 29 - GitHub Copilot technical preview (OpenAI Codex)
|
||
|
||
2022
|
||
Mar - Cursor founded (Anysphere)
|
||
Jun 29 - GitHub Copilot GA ($10/mo)
|
||
Nov 30 - ChatGPT web launch
|
||
|
||
2023
|
||
Feb 1 - ChatGPT Plus ($20/mo)
|
||
Mar 14 - Claude web launch (waitlist)
|
||
Mar 22 - Copilot X announced (GPT-4 upgrade)
|
||
Mar 23 - ChatGPT Plugins alpha
|
||
Jul 11 - Claude 2 public access (claude.ai)
|
||
Aug - ChatGPT Enterprise
|
||
Sep 7 - Claude Pro ($20/mo)
|
||
Oct - Cursor launches publicly with GPT-4
|
||
Nov 6 - Custom GPTs announced
|
||
Dec - Copilot Chat GA
|
||
|
||
2024
|
||
Jan 10 - GPT Store, ChatGPT Team
|
||
Feb 27 - Copilot Enterprise GA ($39/user)
|
||
Mar 4 - Claude 3 family (vision capabilities)
|
||
May 1 - Claude Team ($30/user)
|
||
May 13 - GPT-4o, ChatGPT Mac app
|
||
May 21 - Copilot Extensions beta
|
||
Jun 20 - Claude 3.5 Sonnet + Artifacts
|
||
Aug - Cursor Series A ($400M valuation)
|
||
Sep 4 - Claude Enterprise
|
||
Sep 12 - OpenAI o1 (reasoning models)
|
||
Oct 22 - Claude Computer Use (first frontier model)
|
||
Oct 29 - Copilot multi-model (Claude, Gemini added)
|
||
Oct 31 - Claude Desktop app
|
||
Nov 13 - Windsurf launches ("first agentic IDE")
|
||
Nov 25 - MCP announced by Anthropic
|
||
Dec - Cursor Series B ($2.6B valuation)
|
||
Dec 5 - ChatGPT Pro ($200/mo)
|
||
Dec 18 - Copilot Free tier
|
||
|
||
2025
|
||
Feb 6 - Copilot Agent Mode preview
|
||
Feb 24 - Claude Code research preview + Claude 3.7 (extended thinking)
|
||
Mar 26 - OpenAI adopts MCP
|
||
Apr 9 - Claude Max ($100-200/mo)
|
||
Apr 16 - Codex CLI open-sourced
|
||
May 16 - OpenAI Codex cloud agent
|
||
May 22 - Claude Code GA + Claude 4
|
||
May 27 - Claude Voice Mode
|
||
Jun 3 - Claude Integrations (MCP on web)
|
||
Jun 4 - Cursor 1.0 (Background Agents)
|
||
Jul 14 - VS Code MCP GA
|
||
Jul 14 - Windsurf acquired (Google + Cognition)
|
||
Oct 20 - Claude Code on web
|
||
Oct 29 - Cursor 2.0 (Composer model)
|
||
Nov - Claude Code $1B ARR
|
||
Dec 2 - Anthropic acquires Bun
|
||
Dec 9 - MCP donated to Linux Foundation
|
||
|
||
2026
|
||
Jan 12 - Claude Cowork (GUI for non-technical users)</code></pre>
|
||
<hr />
|
||
</section>
|
||
<section id="feature-comparison-matrix" class="level2">
|
||
<h2>Feature Comparison Matrix</h2>
|
||
<section id="core-capabilities" class="level3">
|
||
<h3>Core Capabilities</h3>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 13%" />
|
||
<col style="width: 20%" />
|
||
<col style="width: 10%" />
|
||
<col style="width: 12%" />
|
||
<col style="width: 13%" />
|
||
<col style="width: 15%" />
|
||
<col style="width: 13%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Feature</th>
|
||
<th>Claude Code</th>
|
||
<th>Codex</th>
|
||
<th>Cursor</th>
|
||
<th>Copilot</th>
|
||
<th>Windsurf</th>
|
||
<th>ChatGPT</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>Code Completion</strong></td>
|
||
<td>Via IDE plugins</td>
|
||
<td>Via API</td>
|
||
<td>Native</td>
|
||
<td>Native</td>
|
||
<td>Native</td>
|
||
<td>No</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Chat Interface</strong></td>
|
||
<td>CLI + IDE</td>
|
||
<td>Web + CLI</td>
|
||
<td>Native</td>
|
||
<td>Native</td>
|
||
<td>Native</td>
|
||
<td>Web/App</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Multi-file Editing</strong></td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes (Edits)</td>
|
||
<td>Yes</td>
|
||
<td>No</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Agentic Mode</strong></td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes (Cascade)</td>
|
||
<td>Limited</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Terminal Access</strong></td>
|
||
<td>Native</td>
|
||
<td>Sandbox</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>No</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Background Tasks</strong></td>
|
||
<td>Yes (subagents)</td>
|
||
<td>Yes (parallel)</td>
|
||
<td>Yes</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Extended Thinking</strong></td>
|
||
<td>Yes (128K tokens)</td>
|
||
<td>Yes (reasoning)</td>
|
||
<td>Via model</td>
|
||
<td>Via model</td>
|
||
<td>No</td>
|
||
<td>Via o1</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Computer Use</strong></td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>Operator</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="configuration-customization" class="level3">
|
||
<h3>Configuration & Customization</h3>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 16%" />
|
||
<col style="width: 23%" />
|
||
<col style="width: 12%" />
|
||
<col style="width: 14%" />
|
||
<col style="width: 16%" />
|
||
<col style="width: 17%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Feature</th>
|
||
<th>Claude Code</th>
|
||
<th>Codex</th>
|
||
<th>Cursor</th>
|
||
<th>Copilot</th>
|
||
<th>Windsurf</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>Project Config File</strong></td>
|
||
<td>CLAUDE.md</td>
|
||
<td>AGENTS.md</td>
|
||
<td>.cursorrules</td>
|
||
<td>copilot-instructions.md</td>
|
||
<td>memories</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>MCP Support</strong></td>
|
||
<td>Full (stdio + HTTP)</td>
|
||
<td>stdio only</td>
|
||
<td>Tools only</td>
|
||
<td>GA (Jul 2025)</td>
|
||
<td>Yes</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Plugin System</strong></td>
|
||
<td>Yes (Dec 2025)</td>
|
||
<td>Skills (Dec 2025)</td>
|
||
<td>Extensions</td>
|
||
<td>Extensions (GA Feb 2025)</td>
|
||
<td>Limited</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Custom Agents</strong></td>
|
||
<td>Agent SDK</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Hooks System</strong></td>
|
||
<td>Yes</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>Cascade Hooks</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="model-access" class="level3">
|
||
<h3>Model Access</h3>
|
||
<table class="caption-top">
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Tool</th>
|
||
<th>Models Available</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>Claude Code</strong></td>
|
||
<td>Claude Opus 4.5, Sonnet 4, Haiku</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Codex</strong></td>
|
||
<td>GPT-5.x Codex, codex-mini</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Cursor</strong></td>
|
||
<td>Claude, GPT, Gemini, Composer (own model)</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Copilot</strong></td>
|
||
<td>GPT-4.1, Claude, Gemini (Oct 2024+)</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Windsurf</strong></td>
|
||
<td>SWE-1.x (own), Claude, GPT, DeepSeek</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>ChatGPT</strong></td>
|
||
<td>GPT-4o, o1, GPT-5.x</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr />
|
||
</section>
|
||
</section>
|
||
<section id="pricing-comparison" class="level2">
|
||
<h2>Pricing Comparison</h2>
|
||
<section id="individual-plans" class="level3">
|
||
<h3>Individual Plans</h3>
|
||
<table class="caption-top">
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Tool</th>
|
||
<th>Free</th>
|
||
<th>Pro/Plus</th>
|
||
<th>Power User</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>Claude</strong></td>
|
||
<td>Limited</td>
|
||
<td>$20/mo (Pro)</td>
|
||
<td>$100-200/mo (Max)</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>ChatGPT</strong></td>
|
||
<td>Limited</td>
|
||
<td>$20/mo (Plus)</td>
|
||
<td>$200/mo (Pro)</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Cursor</strong></td>
|
||
<td>50 requests</td>
|
||
<td>$20/mo</td>
|
||
<td>$200/mo (Ultra)</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Copilot</strong></td>
|
||
<td>2000 completions</td>
|
||
<td>$10/mo</td>
|
||
<td>$39/mo (Pro+)</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Windsurf</strong></td>
|
||
<td>25 credits</td>
|
||
<td>$15/mo</td>
|
||
<td>N/A</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Codex</strong></td>
|
||
<td>Bundled with ChatGPT</td>
|
||
<td>Bundled</td>
|
||
<td>API pricing</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="enterprise-plans" class="level3">
|
||
<h3>Enterprise Plans</h3>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 15%" />
|
||
<col style="width: 18%" />
|
||
<col style="width: 28%" />
|
||
<col style="width: 36%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Tool</th>
|
||
<th>Price</th>
|
||
<th>Min Users</th>
|
||
<th>Key Features</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>Claude Enterprise</strong></td>
|
||
<td>Custom (~$60/seat reported)</td>
|
||
<td>Unknown</td>
|
||
<td>500K context, SSO, audit logs, SCIM</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>ChatGPT Enterprise</strong></td>
|
||
<td>Custom (~$60/seat reported)</td>
|
||
<td>150+</td>
|
||
<td>SSO, admin console, no training on data</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Cursor Enterprise</strong></td>
|
||
<td>Custom</td>
|
||
<td>Unknown</td>
|
||
<td>SOC 2, SAML SSO, SCIM, privacy mode</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Copilot Enterprise</strong></td>
|
||
<td>$39/user/mo</td>
|
||
<td>Unknown</td>
|
||
<td>Fine-tuning, knowledge base, IP indemnity</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Windsurf Enterprise</strong></td>
|
||
<td>$60/user/mo</td>
|
||
<td>Unknown</td>
|
||
<td>Self-hosted option, FedRAMP</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr />
|
||
</section>
|
||
</section>
|
||
<section id="mcp-adoption-timeline" class="level2">
|
||
<h2>MCP Adoption Timeline</h2>
|
||
<p>MCP (Model Context Protocol) is Anthropic’s open standard for connecting AI to external tools. It’s becoming the “USB-C of AI.”</p>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 46%" />
|
||
<col style="width: 53%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Date</th>
|
||
<th>Event</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>Nov 2024</strong></td>
|
||
<td>Anthropic announces MCP, Claude Desktop ships with support</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Dec 2024</strong></td>
|
||
<td>Windsurf begins MCP integration</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Feb 2025</strong></td>
|
||
<td>Claude Code launches with MCP</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Mar 2025</strong></td>
|
||
<td><strong>OpenAI adopts MCP</strong> - major validation</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>May 2025</strong></td>
|
||
<td>Google announces Gemini MCP support, Cursor adds native MCP</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Jun 2025</strong></td>
|
||
<td>Claude.ai gets MCP via Integrations</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Jul 2025</strong></td>
|
||
<td>VS Code/Copilot MCP becomes GA</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Dec 2025</strong></td>
|
||
<td>MCP donated to Linux Foundation (vendor-neutral governance)</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>Ecosystem Size (End 2025)</strong>:</p>
|
||
<ul>
|
||
<li>11,400+ MCP servers registered</li>
|
||
<li>300+ MCP clients</li>
|
||
<li>97M+ monthly SDK downloads</li>
|
||
<li>90% of organizations projected to use MCP</li>
|
||
</ul>
|
||
<p><strong>Key Point</strong>: Anthropic created the standard that everyone else adopted. Being on the Anthropic ecosystem means being 6-12 months ahead on MCP tooling.</p>
|
||
<hr />
|
||
</section>
|
||
<section id="enterprise-feature-comparison" class="level2">
|
||
<h2>Enterprise Feature Comparison</h2>
|
||
<table class="caption-top">
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Feature</th>
|
||
<th>Claude</th>
|
||
<th>ChatGPT</th>
|
||
<th>Cursor</th>
|
||
<th>Copilot</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>SSO (SAML)</strong></td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>SCIM Provisioning</strong></td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Audit Logs</strong></td>
|
||
<td>30 days, SIEM export</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>180 days</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>SOC 2 Type II</strong></td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Data Retention Control</strong></td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Privacy Mode</td>
|
||
<td>Yes</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>IP Indemnity</strong></td>
|
||
<td>Unknown</td>
|
||
<td>Unknown</td>
|
||
<td>Unknown</td>
|
||
<td>Yes</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Self-Hosted Option</strong></td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>FedRAMP</strong></td>
|
||
<td>Via cloud providers</td>
|
||
<td>In process</td>
|
||
<td>No</td>
|
||
<td>Windsurf only</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr />
|
||
</section>
|
||
<section id="secure-environment-support-fedramp-cui-air-gapped" class="level2">
|
||
<h2>Secure Environment Support (FedRAMP, CUI, Air-Gapped)</h2>
|
||
<p>This section covers deployment options for regulated environments including federal government, defense contractors, and organizations handling CUI (Controlled Unclassified Information).</p>
|
||
<section id="fedramp-authorization-is-no-longer-a-bottleneck" class="level3">
|
||
<h3>FedRAMP Authorization Is No Longer a Bottleneck</h3>
|
||
<p>The lag between commercial AI release and FedRAMP authorization has <strong>collapsed from 17 months to under 3 months</strong>. This changes the calculus for tool selection—we no longer need to choose based on “what’s authorized today” because authorization follows quickly.</p>
|
||
<div id="cell-fig-fedramp-lag" class="cell" data-execution_count="1">
|
||
<div class="cell-output cell-output-display" data-execution_count="2">
|
||
<div id="fig-fedramp-lag" class="quarto-float quarto-figure quarto-figure-center">
|
||
<figure class="quarto-float quarto-float-fig">
|
||
<div aria-describedby="fig-fedramp-lag-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
|
||
<img src="trade-study_files/figure-html/fig-fedramp-lag-output-1.svg" class="img-fluid" />
|
||
</div>
|
||
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-fedramp-lag-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
|
||
Figure 1: Time from commercial release to FedRAMP authorization is converging toward zero.
|
||
</figcaption>
|
||
</figure>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 14%" />
|
||
<col style="width: 38%" />
|
||
<col style="width: 28%" />
|
||
<col style="width: 20%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Model</th>
|
||
<th>Commercial Release</th>
|
||
<th>FedRAMP High</th>
|
||
<th>Lag Time</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>GPT-4</td>
|
||
<td>March 2023</td>
|
||
<td>August 2024</td>
|
||
<td><strong>17 months</strong></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>GPT-4o</td>
|
||
<td>May 2024</td>
|
||
<td>August 2024</td>
|
||
<td><strong>3 months</strong></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Claude 3.5 Sonnet</td>
|
||
<td>June 2024</td>
|
||
<td>May 2025</td>
|
||
<td>11 months</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Claude 3.7 Sonnet</td>
|
||
<td>February 2025</td>
|
||
<td>July 2025</td>
|
||
<td><strong>~5 months</strong></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Claude Sonnet 4.5</td>
|
||
<td>September 2025</td>
|
||
<td>November 2025</td>
|
||
<td><strong>~2 months</strong> (GovCloud)</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Gemini 2.0 Flash</td>
|
||
<td>December 2024</td>
|
||
<td>Inherited</td>
|
||
<td><strong>~3-4 months</strong></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>Why authorization is accelerating:</strong></p>
|
||
<ol type="1">
|
||
<li><p><strong>FedRAMP 20x</strong> (March 2025) — Replaced paper-heavy processes with automation. Average authorization dropped from 12+ months to <strong>~5 weeks</strong>. Cleared 114 authorizations in FY25 (2x FY24).</p></li>
|
||
<li><p><strong>AI prioritization framework</strong> (August 2025) — FedRAMP Board fast-tracked “AI-based cloud services” for <strong>2-month authorization</strong> pathways.</p></li>
|
||
<li><p><strong>Cloud partner inheritance</strong> — All three frontier providers (Anthropic, OpenAI, Google) leverage existing cloud authorizations rather than pursuing standalone certification.</p></li>
|
||
</ol>
|
||
<p><strong>Strategic implication:</strong> Choose tools based on capability and ecosystem fit, not authorization status. By the time you’ve completed procurement and rollout, any tool you choose will likely be authorized.</p>
|
||
</section>
|
||
<section id="fedramp-authorization-status" class="level3">
|
||
<h3>FedRAMP Authorization Status</h3>
|
||
<table class="caption-top">
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Tool</th>
|
||
<th>FedRAMP Status</th>
|
||
<th>IL Levels</th>
|
||
<th>How</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>Windsurf</strong></td>
|
||
<td><strong>FedRAMP High</strong> (Mar 2025)</td>
|
||
<td>IL4, IL5, IL6, ITAR</td>
|
||
<td>Via Palantir FedStart on AWS GovCloud. First AI coding assistant with FedRAMP High.</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Azure OpenAI</strong></td>
|
||
<td><strong>FedRAMP High</strong></td>
|
||
<td>IL4, IL5, <strong>IL6</strong>, <strong>Top Secret</strong></td>
|
||
<td><a href="https://devblogs.microsoft.com/azuregov/azure-openai-authorization/">GPT-4o authorized for all classification levels</a> including Top Secret (ICD 503) as of Jan 2025.</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Claude</strong></td>
|
||
<td><strong>FedRAMP High</strong></td>
|
||
<td>IL2, IL4, IL5</td>
|
||
<td>Via <a href="https://aws.amazon.com/blogs/publicsector/accelerating-government-innovation-amazon-bedrock-models-get-fedramp-high-and-dod-il-4-5-approval-in-aws-govcloud-us/">AWS GovCloud</a> (Bedrock) and <a href="https://www.anthropic.com/news/claude-on-google-cloud-fedramp-high">Google Cloud Vertex AI</a>. <strong>No IL6 or Top Secret.</strong></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>ChatGPT/Codex</strong></td>
|
||
<td><strong>In Process</strong></td>
|
||
<td>IL5 (self-hosted)</td>
|
||
<td><a href="https://openai.com/global-affairs/introducing-chatgpt-gov/">ChatGPT Gov</a> can be self-hosted in Azure GCC for IL5, CJIS, ITAR, FedRAMP High compliance. SaaS pursuing FedRAMP Moderate/High.</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>GitHub Copilot</strong></td>
|
||
<td><strong>Pursuing Moderate</strong></td>
|
||
<td>N/A</td>
|
||
<td><a href="https://github.com/newsroom/press-releases/github-to-pursue-fedramp-moderate">GitHub pursuing FedRAMP Moderate</a> (Oct 2024). Copilot not separately authorized.</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Cursor</strong></td>
|
||
<td><strong>None</strong></td>
|
||
<td>N/A</td>
|
||
<td>SOC 2 Type II only. No FedRAMP path announced. Cloud-only.</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Tabnine</strong></td>
|
||
<td><strong>Unknown</strong></td>
|
||
<td>N/A</td>
|
||
<td>Not listed on FedRAMP marketplace. Contact vendor for status.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="govcloud-model-availability" class="level3">
|
||
<h3>GovCloud Model Availability</h3>
|
||
<p>Not all models are available in government environments. Here’s what you actually get:</p>
|
||
<p><strong>Claude (AWS GovCloud / Bedrock)</strong>:</p>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 22%" />
|
||
<col style="width: 29%" />
|
||
<col style="width: 48%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Model</th>
|
||
<th>Regions</th>
|
||
<th>Authorization</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Claude Sonnet 4.5</td>
|
||
<td>US-West, US-East (cross-region)</td>
|
||
<td>FedRAMP High, IL4/IL5</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Claude 3.7 Sonnet</td>
|
||
<td>US-West</td>
|
||
<td>FedRAMP High, IL4/IL5</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Claude 3.5 Sonnet v1</td>
|
||
<td>GovCloud (US)</td>
|
||
<td>FedRAMP High, IL4/IL5</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Claude 3 Haiku</td>
|
||
<td>GovCloud (US)</td>
|
||
<td>FedRAMP High, IL4/IL5</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>Not available in GovCloud</strong>: Claude Opus 4.5 (flagship), Claude Code (agentic tool)</p>
|
||
<p><strong>OpenAI (Azure Government)</strong>:</p>
|
||
<table class="caption-top">
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Model</th>
|
||
<th>Authorization</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>GPT-4o</td>
|
||
<td>FedRAMP High, IL4, IL5, <strong>IL6</strong>, <strong>Top Secret (ICD 503)</strong></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>GPT-4</td>
|
||
<td>FedRAMP High, IL4, IL5, IL6</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>GPT-3.5</td>
|
||
<td>FedRAMP High, IL4, IL5</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>DALL-E</td>
|
||
<td>FedRAMP High, IL4, IL5</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>Key difference</strong>: OpenAI via Azure has IL6 and Top Secret authorization. Claude maxes out at IL5. For classified work, OpenAI has a significant advantage.</p>
|
||
</section>
|
||
<section id="deployment-options-by-environment" class="level3">
|
||
<h3>Deployment Options by Environment</h3>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 18%" />
|
||
<col style="width: 13%" />
|
||
<col style="width: 11%" />
|
||
<col style="width: 20%" />
|
||
<col style="width: 11%" />
|
||
<col style="width: 12%" />
|
||
<col style="width: 12%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Environment</th>
|
||
<th>Windsurf</th>
|
||
<th>Claude</th>
|
||
<th>ChatGPT/Codex</th>
|
||
<th>Cursor</th>
|
||
<th>Copilot</th>
|
||
<th>Tabnine</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>SaaS (Commercial Cloud)</strong></td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>GovCloud (AWS/Azure)</strong></td>
|
||
<td>Yes</td>
|
||
<td>Yes</td>
|
||
<td>Yes (ChatGPT Gov)</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>Unknown</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>VPC / Private Cloud</strong></td>
|
||
<td>Yes</td>
|
||
<td>Via Bedrock</td>
|
||
<td>ChatGPT Gov</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>Yes</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Self-Hosted On-Prem</strong></td>
|
||
<td>Yes</td>
|
||
<td>No</td>
|
||
<td>ChatGPT Gov</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>Yes</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Air-Gapped (Fully Offline)</strong></td>
|
||
<td><strong>Yes</strong></td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td><strong>Yes</strong></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="air-gapped-deployment-details" class="level3">
|
||
<h3>Air-Gapped Deployment Details</h3>
|
||
<p>Only <strong>Windsurf</strong> and <strong>Tabnine</strong> offer true air-gapped deployment:</p>
|
||
<p><strong>Windsurf (Self-Hosted Tier)</strong>:</p>
|
||
<ul>
|
||
<li>Docker Compose or Helm chart deployment</li>
|
||
<li>Customer-managed GPU-enabled tenant</li>
|
||
<li>Connects to customer’s private LLM endpoint (Bedrock, Azure OpenAI, Vertex AI)</li>
|
||
<li>Offline install/update via private container registry</li>
|
||
<li>No outbound traffic except to trusted LLM endpoint</li>
|
||
<li><a href="https://windsurf.com/enterprise">Source: Windsurf Enterprise</a></li>
|
||
</ul>
|
||
<p><strong>Tabnine (Enterprise)</strong>:</p>
|
||
<ul>
|
||
<li><a href="https://www.tabnine.com/blog/the-only-airgapped-ai-software-development-platform/">Purpose-built for air-gapped deployment</a></li>
|
||
<li>All inference and context handling within your environment</li>
|
||
<li>No external API calls, no cloud dependencies, no data egress</li>
|
||
<li>Deployed in SCIFs and DoDIN enclaves</li>
|
||
<li>LLM-agnostic: deploy commercial, open-source, or proprietary models</li>
|
||
<li><a href="https://docs.tabnine.com/main/administering-tabnine/private-installation/server-setup-guide/air-gapped-deployment-guide">Source: Tabnine Air-Gapped Guide</a></li>
|
||
</ul>
|
||
<p><strong>GitHub Copilot</strong> explicitly cannot work in air-gapped environments - the model runs in the cloud only.</p>
|
||
<p><strong>Cursor</strong> is cloud-only on AWS with no self-hosted or air-gapped options.</p>
|
||
</section>
|
||
<section id="cui-controlled-unclassified-information-support" class="level3">
|
||
<h3>CUI (Controlled Unclassified Information) Support</h3>
|
||
<p>CUI handling requires NIST SP 800-171 compliance, typically achieved through:</p>
|
||
<ul>
|
||
<li>FedRAMP High authorization</li>
|
||
<li>DoD IL4+ certification</li>
|
||
<li>CMMC 2.0 compliance</li>
|
||
</ul>
|
||
<table class="caption-top">
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Tool</th>
|
||
<th>CUI Support</th>
|
||
<th>Notes</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>Windsurf</strong></td>
|
||
<td><strong>Yes</strong></td>
|
||
<td>Explicitly maps to <a href="https://windsurf.com/security">NIST SP 800-171 and CMMC 2.0</a>. FedRAMP High + IL5 + ITAR compliant.</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Claude</strong></td>
|
||
<td><strong>Yes</strong></td>
|
||
<td>Via AWS GovCloud (IL4/IL5) or Google Cloud Vertex AI (FedRAMP High).</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>ChatGPT Gov</strong></td>
|
||
<td><strong>Yes</strong></td>
|
||
<td>Self-hosted in Azure GCC supports IL5, CJIS, ITAR.</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Azure OpenAI</strong></td>
|
||
<td><strong>Yes</strong></td>
|
||
<td>FedRAMP High in Azure Government.</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Cursor</strong></td>
|
||
<td><strong>No</strong></td>
|
||
<td>SOC 2 only. Not suitable for CUI workloads.</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Copilot</strong></td>
|
||
<td><strong>Limited</strong></td>
|
||
<td>GitHub pursuing FedRAMP Moderate. Copilot itself not authorized for CUI.</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Tabnine</strong></td>
|
||
<td><strong>Likely</strong></td>
|
||
<td>Air-gapped deployment in customer environment. No FedRAMP listing but deployed in defense environments.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="fedramp-scope-guidance-aug-2025" class="level3">
|
||
<h3>FedRAMP Scope Guidance (Aug 2025)</h3>
|
||
<p><a href="https://www.fedramp.gov/scope/">FedRAMP updated guidance</a> on AI coding assistants:</p>
|
||
<ul>
|
||
<li><strong>Out of Scope</strong>: AI assistants used on entirely public code repositories (info already public)</li>
|
||
<li><strong>In Scope</strong>: AI assistants used on private repositories with controlled access and protected information</li>
|
||
</ul>
|
||
<p>This means: if your org uses AI coding tools on proprietary/internal code, FedRAMP authorization matters.</p>
|
||
</section>
|
||
<section id="security-certification-summary" class="level3">
|
||
<h3>Security Certification Summary</h3>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 10%" />
|
||
<col style="width: 11%" />
|
||
<col style="width: 15%" />
|
||
<col style="width: 11%" />
|
||
<col style="width: 10%" />
|
||
<col style="width: 21%" />
|
||
<col style="width: 20%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Tool</th>
|
||
<th>SOC 2</th>
|
||
<th>FedRAMP</th>
|
||
<th>HIPAA</th>
|
||
<th>ITAR</th>
|
||
<th>Self-Hosted</th>
|
||
<th>Air-Gapped</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>Windsurf</strong></td>
|
||
<td>Type II</td>
|
||
<td><strong>High</strong></td>
|
||
<td>BAA</td>
|
||
<td><strong>Yes</strong></td>
|
||
<td><strong>Yes</strong></td>
|
||
<td><strong>Yes</strong></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Claude</strong></td>
|
||
<td>Type II</td>
|
||
<td><strong>High</strong> (via cloud)</td>
|
||
<td>Unknown</td>
|
||
<td>Via GovCloud</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>ChatGPT/Codex</strong></td>
|
||
<td>Type II</td>
|
||
<td>In Process</td>
|
||
<td>Enterprise</td>
|
||
<td>ChatGPT Gov</td>
|
||
<td>ChatGPT Gov</td>
|
||
<td>No</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Cursor</strong></td>
|
||
<td>Type II</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Copilot</strong></td>
|
||
<td>Type II</td>
|
||
<td>Pursuing</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
<td>No</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Tabnine</strong></td>
|
||
<td>Type II</td>
|
||
<td>Unknown</td>
|
||
<td>Unknown</td>
|
||
<td>Unknown</td>
|
||
<td><strong>Yes</strong></td>
|
||
<td><strong>Yes</strong></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="key-takeaways-for-secure-environments" class="level3">
|
||
<h3>Key Takeaways for Secure Environments</h3>
|
||
<ol type="1">
|
||
<li><strong>Defense/IC work requiring air-gapped</strong>: Windsurf or Tabnine are your only options</li>
|
||
<li><strong>Federal civilian (FedRAMP High)</strong>: Windsurf, Claude (via GovCloud), or ChatGPT Gov</li>
|
||
<li><strong>CUI handling</strong>: Windsurf, Claude via GovCloud, or ChatGPT Gov self-hosted</li>
|
||
<li><strong>Commercial regulated (SOC 2 sufficient)</strong>: Any tool works</li>
|
||
<li><strong>Cursor is unsuitable</strong> for any government or CUI workload - no FedRAMP, no self-hosted, cloud-only</li>
|
||
</ol>
|
||
<p><strong>For Shield AI’s defense work</strong>: This may be a limiting factor. Claude Code itself doesn’t have air-gapped deployment, but Claude models are available via AWS GovCloud at IL4/IL5. Windsurf is the only AI IDE with FedRAMP High + air-gapped capability.</p>
|
||
<hr />
|
||
</section>
|
||
</section>
|
||
<section id="enterprise-private-plugin-marketplace-claude-code-exclusive" class="level2">
|
||
<h2>Enterprise Private Plugin Marketplace (Claude Code Exclusive)</h2>
|
||
<p>This is a <strong>major enterprise differentiator</strong> with no equivalent from competitors.</p>
|
||
<section id="what-claude-code-offers" class="level3">
|
||
<h3>What Claude Code Offers</h3>
|
||
<p>Claude Code allows enterprises to <a href="https://code.claude.com/docs/en/plugin-marketplaces">host their own private plugin marketplace</a>:</p>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 48%" />
|
||
<col style="width: 52%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Capability</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>Self-hosted</strong></td>
|
||
<td>Just a <code>marketplace.json</code> on your own GitHub/GitLab/internal git</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Private repos</strong></td>
|
||
<td>Auth token support for enterprise git hosts</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Bundles everything</strong></td>
|
||
<td>Commands + agents + MCP servers + hooks in one installable package</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Team distribution</strong></td>
|
||
<td>Auto-prompt install when team members trust a project folder</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Air-gap compatible</strong></td>
|
||
<td>No external marketplace dependency</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Version controlled</strong></td>
|
||
<td>Everything lives in git with full history</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="how-it-works" class="level3">
|
||
<h3>How It Works</h3>
|
||
<ol type="1">
|
||
<li>Create a <code>marketplace.json</code> listing your plugins</li>
|
||
<li>Host on any git server (GitHub, GitLab, internal)</li>
|
||
<li>Team members add via <code>/plugin marketplace add <url></code></li>
|
||
<li>Plugins auto-update when marketplace updates</li>
|
||
<li>Private repos work with <code>GITHUB_TOKEN</code> or <code>GITLAB_TOKEN</code></li>
|
||
</ol>
|
||
</section>
|
||
<section id="what-plugins-can-bundle" class="level3">
|
||
<h3>What Plugins Can Bundle</h3>
|
||
<p>A single Claude Code plugin can include:</p>
|
||
<ul>
|
||
<li><strong>Slash commands</strong> - Custom <code>/commands</code> for your workflows</li>
|
||
<li><strong>Agents</strong> - Domain-specific agents for your codebase</li>
|
||
<li><strong>MCP servers</strong> - Connections to internal APIs/databases</li>
|
||
<li><strong>Hooks</strong> - Automated triggers (pre-commit, post-test, etc.)</li>
|
||
</ul>
|
||
</section>
|
||
<section id="competitor-comparison" class="level3">
|
||
<h3>Competitor Comparison</h3>
|
||
<table class="caption-top">
|
||
<colgroup>
|
||
<col style="width: 16%" />
|
||
<col style="width: 83%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Tool</th>
|
||
<th>Private Enterprise Marketplace</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td><strong>Claude Code</strong></td>
|
||
<td><strong>Yes</strong> - Self-hosted, git-based, bundles commands/agents/MCP/hooks</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Copilot Extensions</strong></td>
|
||
<td>Partial - but <strong>deprecated Nov 2025</strong>. GitHub recommends MCP instead. No enterprise allowlist/blocklist.</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Cursor</strong></td>
|
||
<td><strong>No</strong> - Uses OpenVSX for VS Code extensions. No AI-specific plugin system. Microsoft actively blocking marketplace access.</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong>Codex</strong></td>
|
||
<td><strong>No</strong> - GitHub-based Skills catalog only, no enterprise hosting infrastructure</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong>Windsurf</strong></td>
|
||
<td><strong>No</strong> - No plugin marketplace system</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
<section id="why-this-matters-for-enterprise" class="level3">
|
||
<h3>Why This Matters for Enterprise</h3>
|
||
<ol type="1">
|
||
<li><strong>Internal tooling</strong> - Build plugins for proprietary APIs, databases, deployment systems</li>
|
||
<li><strong>Governance</strong> - Curate exactly which plugins your org uses</li>
|
||
<li><strong>Security</strong> - Keep everything behind your firewall</li>
|
||
<li><strong>Consistency</strong> - Every engineer gets the same tooling automatically</li>
|
||
<li><strong>IP protection</strong> - No proprietary code leaves your infrastructure</li>
|
||
<li><strong>Onboarding</strong> - New engineers get full tooling by trusting the project folder</li>
|
||
</ol>
|
||
</section>
|
||
<section id="example-use-cases" class="level3">
|
||
<h3>Example Use Cases</h3>
|
||
<ul>
|
||
<li>Plugin that connects to your internal deployment system</li>
|
||
<li>Agent trained on your architecture patterns</li>
|
||
<li>MCP server for your proprietary database</li>
|
||
<li>Hooks that enforce your code review process</li>
|
||
<li>Commands that integrate with internal ticketing</li>
|
||
</ul>
|
||
<p><strong>Bottom line</strong>: No other tool lets enterprises build, host, and distribute their own AI coding plugins. This is a unique capability that enables true organizational standardization.</p>
|
||
<hr />
|
||
</section>
|
||
</section>
|
||
<section id="benchmark-performance" class="level2">
|
||
<h2>Benchmark Performance</h2>
|
||
<section id="swe-bench-verified-jan-2026" class="level3">
|
||
<h3>SWE-bench Verified (Jan 2026)</h3>
|
||
<pre class="{python}"><code>#| label: fig-swebench-full
|
||
#| fig-cap: "SWE-bench Score vs Cost (Jan 2026). Shape and color indicate GovCloud authorization level."
|
||
|
||
import matplotlib.pyplot as plt
|
||
import matplotlib.patches as mpatches
|
||
|
||
# Data
|
||
models = [
|
||
{"model": "Claude 4.5 Opus", "score": 74.4, "cost": 0.72, "govcloud": "Not Available"},
|
||
{"model": "Gemini 3 Pro", "score": 74.2, "cost": 0.46, "govcloud": "Not Available"},
|
||
{"model": "GPT-5.2", "score": 71.8, "cost": 0.52, "govcloud": "IL6 / Top Secret"},
|
||
{"model": "Claude 4.5 Sonnet", "score": 70.6, "cost": 0.56, "govcloud": "FedRAMP High (IL4/5)"},
|
||
{"model": "GPT-4o", "score": 21.62, "cost": 1.53, "govcloud": "IL6 / Top Secret"}
|
||
]
|
||
|
||
# Color and marker mapping
|
||
color_map = {
|
||
"IL6 / Top Secret": "#059669",
|
||
"FedRAMP High (IL4/5)": "#D97706",
|
||
"Not Available": "#9CA3AF"
|
||
}
|
||
marker_map = {
|
||
"IL6 / Top Secret": "^",
|
||
"FedRAMP High (IL4/5)": "o",
|
||
"Not Available": "X"
|
||
}
|
||
|
||
fig, ax = plt.subplots(figsize=(10, 7))
|
||
|
||
for m in models:
|
||
ax.scatter(m["cost"], m["score"],
|
||
c=color_map[m["govcloud"]],
|
||
marker=marker_map[m["govcloud"]],
|
||
s=200, zorder=3)
|
||
ax.annotate(m["model"], (m["cost"], m["score"]),
|
||
textcoords="offset points", xytext=(0, 12),
|
||
ha='center', fontsize=10)
|
||
|
||
ax.set_xlabel("Cost per Instance ($)", fontsize=12)
|
||
ax.set_ylabel("SWE-bench Verified Score (%)", fontsize=12)
|
||
ax.set_xlim(0, 1.8)
|
||
ax.set_ylim(0, 85)
|
||
ax.grid(True, alpha=0.3)
|
||
ax.set_title("SWE-bench Score vs Cost (Jan 2026)", fontsize=14)
|
||
|
||
# Legend
|
||
legend_elements = [
|
||
mpatches.Patch(color="#059669", label="IL6 / Top Secret"),
|
||
mpatches.Patch(color="#D97706", label="FedRAMP High (IL4/5)"),
|
||
mpatches.Patch(color="#9CA3AF", label="Not Available")
|
||
]
|
||
ax.legend(handles=legend_elements, title="GovCloud Status", loc="lower right")
|
||
|
||
plt.tight_layout()
|
||
plt.show()</code></pre>
|
||
<table class="caption-top">
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Model</th>
|
||
<th>Score</th>
|
||
<th>Cost/Instance</th>
|
||
<th>GovCloud</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Claude 4.5 Opus</td>
|
||
<td><strong>74.4%</strong></td>
|
||
<td>$0.72</td>
|
||
<td>Not Available</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Gemini 3 Pro Preview</td>
|
||
<td>74.2%</td>
|
||
<td>$0.46</td>
|
||
<td>Not Available</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>GPT-5.2 (high reasoning)</td>
|
||
<td>71.8%</td>
|
||
<td>$0.52</td>
|
||
<td>IL6/TS</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Claude 4.5 Sonnet*</td>
|
||
<td>70.6%</td>
|
||
<td>$0.56</td>
|
||
<td>IL4/5</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>GPT-4o</td>
|
||
<td>21.6%</td>
|
||
<td>$1.53</td>
|
||
<td>IL6/TS</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>* Claude 4.5 Sonnet is the latest Anthropic model available in AWS GovCloud (FedRAMP High, IL4/IL5)</p>
|
||
<p>OpenAI models available through IL6 and Top Secret via Azure Government</p>
|
||
<p><strong>Key insight</strong>: Claude 4.5 Sonnet (the best GovCloud option) scores within 4 points of the flagship Opus model. For FedRAMP High workloads, you’re not giving up much performance.</p>
|
||
</section>
|
||
<section id="speed-vs-quality-tradeoff" class="level3">
|
||
<h3>Speed vs Quality Tradeoff</h3>
|
||
<table class="caption-top">
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Tool</th>
|
||
<th>Tokens/sec</th>
|
||
<th>Notes</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Windsurf SWE-1.5</td>
|
||
<td>950</td>
|
||
<td>13x faster than Sonnet</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Codex</td>
|
||
<td>~73K tokens/task</td>
|
||
<td>3x more efficient than Claude</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Claude Code</td>
|
||
<td>~235K tokens/task</td>
|
||
<td>More thorough, higher quality</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr />
|
||
</section>
|
||
</section>
|
||
<section id="key-differentiators-by-tool" class="level2">
|
||
<h2>Key Differentiators by Tool</h2>
|
||
<section id="claude-code" class="level3">
|
||
<h3>Claude Code</h3>
|
||
<ul>
|
||
<li><strong>First mover</strong> in agentic CLI coding (Feb 2025)</li>
|
||
<li><strong>Created MCP</strong> - 6-12 months ahead on ecosystem</li>
|
||
<li><strong>Highest SWE-bench score</strong> (80.9%)</li>
|
||
<li><strong>Agent SDK</strong> for building custom agents</li>
|
||
<li><strong>Hooks system</strong> for autonomous workflows</li>
|
||
<li><strong>$1B ARR</strong> in ~6 months - fastest growing</li>
|
||
</ul>
|
||
</section>
|
||
<section id="codex-openai" class="level3">
|
||
<h3>Codex (OpenAI)</h3>
|
||
<ul>
|
||
<li><strong>Cloud sandbox</strong> - isolated execution environment</li>
|
||
<li><strong>Open source CLI</strong> (Apache 2.0)</li>
|
||
<li><strong>Parallel task execution</strong></li>
|
||
<li><strong>Bundled with ChatGPT</strong> - no separate subscription</li>
|
||
<li><strong>AGENTS.md</strong> standard (now Linux Foundation)</li>
|
||
</ul>
|
||
</section>
|
||
<section id="cursor" class="level3">
|
||
<h3>Cursor</h3>
|
||
<ul>
|
||
<li><strong>AI-first IDE</strong> - purpose-built interface</li>
|
||
<li><strong>Multi-model</strong> - Claude, GPT, Gemini, own Composer model</li>
|
||
<li><strong>Background Agents</strong> - work while you do other things</li>
|
||
<li><strong>BugBot</strong> - automated code review</li>
|
||
<li><strong>$29B valuation</strong> - massive investment in tooling</li>
|
||
</ul>
|
||
</section>
|
||
<section id="github-copilot" class="level3">
|
||
<h3>GitHub Copilot</h3>
|
||
<ul>
|
||
<li><strong>Distribution</strong> - 20M+ users, 90% of Fortune 100</li>
|
||
<li><strong>IP Indemnity</strong> - legal protection</li>
|
||
<li><strong>IDE breadth</strong> - VS Code, JetBrains, Neovim, Xcode</li>
|
||
<li><strong>Enterprise maturity</strong> - longest track record</li>
|
||
<li><strong>Multi-model</strong> (Oct 2024) - but late to the party</li>
|
||
</ul>
|
||
</section>
|
||
<section id="windsurf" class="level3">
|
||
<h3>Windsurf</h3>
|
||
<ul>
|
||
<li><strong>Cascade</strong> - automatic context indexing</li>
|
||
<li><strong>SWE-1.x</strong> - own model family, very fast</li>
|
||
<li><strong>Lower price</strong> - $15/mo vs $20/mo</li>
|
||
<li><strong>Acquired</strong> - Google hired leadership, Cognition bought product</li>
|
||
<li><strong>FedRAMP</strong> - only tool with this certification</li>
|
||
</ul>
|
||
</section>
|
||
<section id="chatgpt" class="level3">
|
||
<h3>ChatGPT</h3>
|
||
<ul>
|
||
<li><strong>Broadest capabilities</strong> - not coding-specific</li>
|
||
<li><strong>Operator</strong> - computer use agent</li>
|
||
<li><strong>Deep Research</strong> - autonomous research</li>
|
||
<li><strong>Largest user base</strong> - brand recognition</li>
|
||
<li><strong>Voice mode</strong> - multimodal interaction</li>
|
||
</ul>
|
||
<hr />
|
||
</section>
|
||
</section>
|
||
<section id="the-case-for-anthropic-alignment" class="level2">
|
||
<h2>The Case for Anthropic Alignment</h2>
|
||
<section id="innovation-leadership" class="level3">
|
||
<h3>1. Innovation Leadership</h3>
|
||
<p>Anthropic consistently ships novel capabilities 6-12 months before competitors:</p>
|
||
<ul>
|
||
<li>MCP (Nov 2024) → OpenAI adopted Mar 2025</li>
|
||
<li>Computer Use (Oct 2024) → OpenAI Operator Jan 2025</li>
|
||
<li>Extended Thinking (Feb 2025) → Hybrid model first</li>
|
||
<li>Agentic CLI (Feb 2025) → Codex May 2025</li>
|
||
</ul>
|
||
</section>
|
||
<section id="mcp-ecosystem-advantage" class="level3">
|
||
<h3>2. MCP Ecosystem Advantage</h3>
|
||
<p>By aligning on Claude, you get:</p>
|
||
<ul>
|
||
<li>Native MCP support from day one</li>
|
||
<li>Access to 11,400+ MCP servers</li>
|
||
<li>First-party integrations (Slack, GitHub, databases)</li>
|
||
<li>Remote MCP with OAuth</li>
|
||
<li>Plugin system for custom tools</li>
|
||
</ul>
|
||
</section>
|
||
<section id="configuration-portability" class="level3">
|
||
<h3>3. Configuration Portability</h3>
|
||
<p>CLAUDE.md files work across:</p>
|
||
<ul>
|
||
<li>Claude Code (CLI)</li>
|
||
<li>Claude Desktop</li>
|
||
<li>Claude.ai (web)</li>
|
||
<li>IDE plugins (VS Code, JetBrains)</li>
|
||
</ul>
|
||
</section>
|
||
<section id="agent-sdk" class="level3">
|
||
<h3>4. Agent SDK</h3>
|
||
<p>Only Anthropic offers a first-party SDK for building custom agents. This enables:</p>
|
||
<ul>
|
||
<li>Custom workflows</li>
|
||
<li>Domain-specific agents</li>
|
||
<li>Integration with internal tools</li>
|
||
<li>Programmatic control</li>
|
||
</ul>
|
||
</section>
|
||
<section id="benchmark-leadership" class="level3">
|
||
<h3>5. Benchmark Leadership</h3>
|
||
<p>Claude consistently leads on:</p>
|
||
<ul>
|
||
<li>SWE-bench (80.9% - highest score)</li>
|
||
<li>Complex reasoning tasks</li>
|
||
<li>Novel problem solving</li>
|
||
<li>Long-context understanding</li>
|
||
</ul>
|
||
</section>
|
||
<section id="enterprise-readiness" class="level3">
|
||
<h3>6. Enterprise Readiness</h3>
|
||
<ul>
|
||
<li>SOC 2 Type II</li>
|
||
<li>SAML SSO + SCIM</li>
|
||
<li>Audit logs with SIEM export</li>
|
||
<li>Zero data retention options</li>
|
||
<li>Managed settings for org-wide policy</li>
|
||
</ul>
|
||
</section>
|
||
<section id="enterprise-private-plugin-marketplace-unique" class="level3">
|
||
<h3>7. Enterprise Private Plugin Marketplace (Unique)</h3>
|
||
<p><strong>No competitor offers this.</strong> Claude Code lets enterprises:</p>
|
||
<ul>
|
||
<li>Host private plugin marketplaces on internal git</li>
|
||
<li>Bundle commands, agents, MCP servers, and hooks together</li>
|
||
<li>Distribute tooling automatically when engineers trust a project</li>
|
||
<li>Keep all proprietary tooling behind the firewall</li>
|
||
<li>Version control everything with full audit history</li>
|
||
</ul>
|
||
<p>This enables true organizational standardization - every engineer gets the same AI tooling, configured the same way, updated automatically.</p>
|
||
<hr />
|
||
</section>
|
||
</section>
|
||
<section id="risks-of-multi-tool-strategy" class="level2">
|
||
<h2>Risks of Multi-Tool Strategy</h2>
|
||
<ol type="1">
|
||
<li><strong>No shared configuration</strong> - CLAUDE.md ≠ AGENTS.md ≠ .cursorrules</li>
|
||
<li><strong>No shared training</strong> - each tool requires separate onboarding</li>
|
||
<li><strong>No shared automation</strong> - hooks/plugins don’t transfer</li>
|
||
<li><strong>Prompt incompatibility</strong> - 27-76% performance drop when transferring prompts</li>
|
||
<li><strong>Vendor lock-in fragmentation</strong> - locked into multiple ecosystems instead of one</li>
|
||
<li><strong>Support complexity</strong> - multiple vendors to manage</li>
|
||
</ol>
|
||
<hr />
|
||
</section>
|
||
<section id="recommendation" class="level2">
|
||
<h2>Recommendation</h2>
|
||
<p>Standardize on the <strong>Anthropic ecosystem</strong>:</p>
|
||
<ul>
|
||
<li><strong>Claude Enterprise</strong> for chat/general use</li>
|
||
<li><strong>Claude Code</strong> for engineering</li>
|
||
<li><strong>MCP servers</strong> for tool integration</li>
|
||
<li><strong>Agent SDK</strong> for custom automation</li>
|
||
</ul>
|
||
<p>This provides:</p>
|
||
<ul>
|
||
<li>Single vendor relationship</li>
|
||
<li>Unified configuration (CLAUDE.md)</li>
|
||
<li>Shared MCP ecosystem</li>
|
||
<li>Consistent prompt optimization</li>
|
||
<li>Consolidated training and support</li>
|
||
</ul>
|
||
<hr />
|
||
</section>
|
||
<section id="sources" class="level2">
|
||
<h2>Sources</h2>
|
||
<ul>
|
||
<li><a href="https://www.anthropic.com/news">Anthropic News</a></li>
|
||
<li><a href="https://openai.com/blog">OpenAI Blog</a></li>
|
||
<li><a href="https://github.blog">GitHub Blog</a></li>
|
||
<li><a href="https://cursor.com/changelog">Cursor Changelog</a></li>
|
||
<li><a href="https://windsurf.com/changelog">Windsurf Changelog</a></li>
|
||
<li><a href="https://modelcontextprotocol.io">MCP Documentation</a></li>
|
||
<li><a href="https://techcrunch.com">TechCrunch</a></li>
|
||
<li><a href="https://arxiv.org">arXiv Papers</a> - Prompt sensitivity research</li>
|
||
</ul>
|
||
<div id="quarto-navigation-envelope" class="hidden">
|
||
<p><span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1zaWRlYmFyLXRpdGxl">Anson’s Projects</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXItdGl0bGU=">Anson’s Projects</span></p>
|
||
</div>
|
||
<div id="quarto-meta-markdown" class="hidden">
|
||
<p><span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLW1ldGF0aXRsZQ==">GenAI Tools Trade Study – Anson’s Projects</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLXR3aXR0ZXJjYXJkdGl0bGU=">GenAI Tools Trade Study – Anson’s Projects</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLW9nY2FyZHRpdGxl">GenAI Tools Trade Study – Anson’s Projects</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLW1ldGFzaXRlbmFtZQ==">Anson’s Projects</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLXR3aXR0ZXJjYXJkZGVzYw==">Comprehensive comparison of AI coding tools and platforms to support the case for tool/model alignment. Covers feature comparisons, pricing, security certifications, and enterprise capabilities.</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLW9nY2FyZGRkZXNj">Comprehensive comparison of AI coding tools and platforms to support the case for tool/model alignment. Covers feature comparisons, pricing, security certifications, and enterprise capabilities.</span></p>
|
||
</div>
|
||
</section>
|
||
|
||
</main> <!-- /main -->
|
||
<script id = "quarto-html-after-body" type="application/javascript">
|
||
window.document.addEventListener("DOMContentLoaded", function (event) {
|
||
const icon = "";
|
||
const anchorJS = new window.AnchorJS();
|
||
anchorJS.options = {
|
||
placement: 'right',
|
||
icon: icon
|
||
};
|
||
anchorJS.add('.anchored');
|
||
const isCodeAnnotation = (el) => {
|
||
for (const clz of el.classList) {
|
||
if (clz.startsWith('code-annotation-')) {
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
const onCopySuccess = function(e) {
|
||
// button target
|
||
const button = e.trigger;
|
||
// don't keep focus
|
||
button.blur();
|
||
// flash "checked"
|
||
button.classList.add('code-copy-button-checked');
|
||
var currentTitle = button.getAttribute("title");
|
||
button.setAttribute("title", "Copied!");
|
||
let tooltip;
|
||
if (window.bootstrap) {
|
||
button.setAttribute("data-bs-toggle", "tooltip");
|
||
button.setAttribute("data-bs-placement", "left");
|
||
button.setAttribute("data-bs-title", "Copied!");
|
||
tooltip = new bootstrap.Tooltip(button,
|
||
{ trigger: "manual",
|
||
customClass: "code-copy-button-tooltip",
|
||
offset: [0, -8]});
|
||
tooltip.show();
|
||
}
|
||
setTimeout(function() {
|
||
if (tooltip) {
|
||
tooltip.hide();
|
||
button.removeAttribute("data-bs-title");
|
||
button.removeAttribute("data-bs-toggle");
|
||
button.removeAttribute("data-bs-placement");
|
||
}
|
||
button.setAttribute("title", currentTitle);
|
||
button.classList.remove('code-copy-button-checked');
|
||
}, 1000);
|
||
// clear code selection
|
||
e.clearSelection();
|
||
}
|
||
const getTextToCopy = function(trigger) {
|
||
const codeEl = trigger.previousElementSibling.cloneNode(true);
|
||
for (const childEl of codeEl.children) {
|
||
if (isCodeAnnotation(childEl)) {
|
||
childEl.remove();
|
||
}
|
||
}
|
||
return codeEl.innerText;
|
||
}
|
||
const clipboard = new window.ClipboardJS('.code-copy-button:not([data-in-quarto-modal])', {
|
||
text: getTextToCopy
|
||
});
|
||
clipboard.on('success', onCopySuccess);
|
||
if (window.document.getElementById('quarto-embedded-source-code-modal')) {
|
||
const clipboardModal = new window.ClipboardJS('.code-copy-button[data-in-quarto-modal]', {
|
||
text: getTextToCopy,
|
||
container: window.document.getElementById('quarto-embedded-source-code-modal')
|
||
});
|
||
clipboardModal.on('success', onCopySuccess);
|
||
}
|
||
var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//);
|
||
var mailtoRegex = new RegExp(/^mailto:/);
|
||
var filterRegex = new RegExp("https:\/\/projects\.ansonbiggs\.com");
|
||
var isInternal = (href) => {
|
||
return filterRegex.test(href) || localhostRegex.test(href) || mailtoRegex.test(href);
|
||
}
|
||
// Inspect non-navigation links and adorn them if external
|
||
var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool):not(.about-link)');
|
||
for (var i=0; i<links.length; i++) {
|
||
const link = links[i];
|
||
if (!isInternal(link.href)) {
|
||
// undo the damage that might have been done by quarto-nav.js in the case of
|
||
// links that we want to consider external
|
||
if (link.dataset.originalHref !== undefined) {
|
||
link.href = link.dataset.originalHref;
|
||
}
|
||
}
|
||
}
|
||
function tippyHover(el, contentFn, onTriggerFn, onUntriggerFn) {
|
||
const config = {
|
||
allowHTML: true,
|
||
maxWidth: 500,
|
||
delay: 100,
|
||
arrow: false,
|
||
appendTo: function(el) {
|
||
return el.parentElement;
|
||
},
|
||
interactive: true,
|
||
interactiveBorder: 10,
|
||
theme: 'quarto',
|
||
placement: 'bottom-start',
|
||
};
|
||
if (contentFn) {
|
||
config.content = contentFn;
|
||
}
|
||
if (onTriggerFn) {
|
||
config.onTrigger = onTriggerFn;
|
||
}
|
||
if (onUntriggerFn) {
|
||
config.onUntrigger = onUntriggerFn;
|
||
}
|
||
window.tippy(el, config);
|
||
}
|
||
const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]');
|
||
for (var i=0; i<noterefs.length; i++) {
|
||
const ref = noterefs[i];
|
||
tippyHover(ref, function() {
|
||
// use id or data attribute instead here
|
||
let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href');
|
||
try { href = new URL(href).hash; } catch {}
|
||
const id = href.replace(/^#\/?/, "");
|
||
const note = window.document.getElementById(id);
|
||
if (note) {
|
||
return note.innerHTML;
|
||
} else {
|
||
return "";
|
||
}
|
||
});
|
||
}
|
||
const xrefs = window.document.querySelectorAll('a.quarto-xref');
|
||
const processXRef = (id, note) => {
|
||
// Strip column container classes
|
||
const stripColumnClz = (el) => {
|
||
el.classList.remove("page-full", "page-columns");
|
||
if (el.children) {
|
||
for (const child of el.children) {
|
||
stripColumnClz(child);
|
||
}
|
||
}
|
||
}
|
||
stripColumnClz(note)
|
||
if (id === null || id.startsWith('sec-')) {
|
||
// Special case sections, only their first couple elements
|
||
const container = document.createElement("div");
|
||
if (note.children && note.children.length > 2) {
|
||
container.appendChild(note.children[0].cloneNode(true));
|
||
for (let i = 1; i < note.children.length; i++) {
|
||
const child = note.children[i];
|
||
if (child.tagName === "P" && child.innerText === "") {
|
||
continue;
|
||
} else {
|
||
container.appendChild(child.cloneNode(true));
|
||
break;
|
||
}
|
||
}
|
||
if (window.Quarto?.typesetMath) {
|
||
window.Quarto.typesetMath(container);
|
||
}
|
||
return container.innerHTML
|
||
} else {
|
||
if (window.Quarto?.typesetMath) {
|
||
window.Quarto.typesetMath(note);
|
||
}
|
||
return note.innerHTML;
|
||
}
|
||
} else {
|
||
// Remove any anchor links if they are present
|
||
const anchorLink = note.querySelector('a.anchorjs-link');
|
||
if (anchorLink) {
|
||
anchorLink.remove();
|
||
}
|
||
if (window.Quarto?.typesetMath) {
|
||
window.Quarto.typesetMath(note);
|
||
}
|
||
if (note.classList.contains("callout")) {
|
||
return note.outerHTML;
|
||
} else {
|
||
return note.innerHTML;
|
||
}
|
||
}
|
||
}
|
||
for (var i=0; i<xrefs.length; i++) {
|
||
const xref = xrefs[i];
|
||
tippyHover(xref, undefined, function(instance) {
|
||
instance.disable();
|
||
let url = xref.getAttribute('href');
|
||
let hash = undefined;
|
||
if (url.startsWith('#')) {
|
||
hash = url;
|
||
} else {
|
||
try { hash = new URL(url).hash; } catch {}
|
||
}
|
||
if (hash) {
|
||
const id = hash.replace(/^#\/?/, "");
|
||
const note = window.document.getElementById(id);
|
||
if (note !== null) {
|
||
try {
|
||
const html = processXRef(id, note.cloneNode(true));
|
||
instance.setContent(html);
|
||
} finally {
|
||
instance.enable();
|
||
instance.show();
|
||
}
|
||
} else {
|
||
// See if we can fetch this
|
||
fetch(url.split('#')[0])
|
||
.then(res => res.text())
|
||
.then(html => {
|
||
const parser = new DOMParser();
|
||
const htmlDoc = parser.parseFromString(html, "text/html");
|
||
const note = htmlDoc.getElementById(id);
|
||
if (note !== null) {
|
||
const html = processXRef(id, note);
|
||
instance.setContent(html);
|
||
}
|
||
}).finally(() => {
|
||
instance.enable();
|
||
instance.show();
|
||
});
|
||
}
|
||
} else {
|
||
// See if we can fetch a full url (with no hash to target)
|
||
// This is a special case and we should probably do some content thinning / targeting
|
||
fetch(url)
|
||
.then(res => res.text())
|
||
.then(html => {
|
||
const parser = new DOMParser();
|
||
const htmlDoc = parser.parseFromString(html, "text/html");
|
||
const note = htmlDoc.querySelector('main.content');
|
||
if (note !== null) {
|
||
// This should only happen for chapter cross references
|
||
// (since there is no id in the URL)
|
||
// remove the first header
|
||
if (note.children.length > 0 && note.children[0].tagName === "HEADER") {
|
||
note.children[0].remove();
|
||
}
|
||
const html = processXRef(null, note);
|
||
instance.setContent(html);
|
||
}
|
||
}).finally(() => {
|
||
instance.enable();
|
||
instance.show();
|
||
});
|
||
}
|
||
}, function(instance) {
|
||
});
|
||
}
|
||
let selectedAnnoteEl;
|
||
const selectorForAnnotation = ( cell, annotation) => {
|
||
let cellAttr = 'data-code-cell="' + cell + '"';
|
||
let lineAttr = 'data-code-annotation="' + annotation + '"';
|
||
const selector = 'span[' + cellAttr + '][' + lineAttr + ']';
|
||
return selector;
|
||
}
|
||
const selectCodeLines = (annoteEl) => {
|
||
const doc = window.document;
|
||
const targetCell = annoteEl.getAttribute("data-target-cell");
|
||
const targetAnnotation = annoteEl.getAttribute("data-target-annotation");
|
||
const annoteSpan = window.document.querySelector(selectorForAnnotation(targetCell, targetAnnotation));
|
||
const lines = annoteSpan.getAttribute("data-code-lines").split(",");
|
||
const lineIds = lines.map((line) => {
|
||
return targetCell + "-" + line;
|
||
})
|
||
let top = null;
|
||
let height = null;
|
||
let parent = null;
|
||
if (lineIds.length > 0) {
|
||
//compute the position of the single el (top and bottom and make a div)
|
||
const el = window.document.getElementById(lineIds[0]);
|
||
top = el.offsetTop;
|
||
height = el.offsetHeight;
|
||
parent = el.parentElement.parentElement;
|
||
if (lineIds.length > 1) {
|
||
const lastEl = window.document.getElementById(lineIds[lineIds.length - 1]);
|
||
const bottom = lastEl.offsetTop + lastEl.offsetHeight;
|
||
height = bottom - top;
|
||
}
|
||
if (top !== null && height !== null && parent !== null) {
|
||
// cook up a div (if necessary) and position it
|
||
let div = window.document.getElementById("code-annotation-line-highlight");
|
||
if (div === null) {
|
||
div = window.document.createElement("div");
|
||
div.setAttribute("id", "code-annotation-line-highlight");
|
||
div.style.position = 'absolute';
|
||
parent.appendChild(div);
|
||
}
|
||
div.style.top = top - 2 + "px";
|
||
div.style.height = height + 4 + "px";
|
||
div.style.left = 0;
|
||
let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter");
|
||
if (gutterDiv === null) {
|
||
gutterDiv = window.document.createElement("div");
|
||
gutterDiv.setAttribute("id", "code-annotation-line-highlight-gutter");
|
||
gutterDiv.style.position = 'absolute';
|
||
const codeCell = window.document.getElementById(targetCell);
|
||
const gutter = codeCell.querySelector('.code-annotation-gutter');
|
||
gutter.appendChild(gutterDiv);
|
||
}
|
||
gutterDiv.style.top = top - 2 + "px";
|
||
gutterDiv.style.height = height + 4 + "px";
|
||
}
|
||
selectedAnnoteEl = annoteEl;
|
||
}
|
||
};
|
||
const unselectCodeLines = () => {
|
||
const elementsIds = ["code-annotation-line-highlight", "code-annotation-line-highlight-gutter"];
|
||
elementsIds.forEach((elId) => {
|
||
const div = window.document.getElementById(elId);
|
||
if (div) {
|
||
div.remove();
|
||
}
|
||
});
|
||
selectedAnnoteEl = undefined;
|
||
};
|
||
// Handle positioning of the toggle
|
||
window.addEventListener(
|
||
"resize",
|
||
throttle(() => {
|
||
elRect = undefined;
|
||
if (selectedAnnoteEl) {
|
||
selectCodeLines(selectedAnnoteEl);
|
||
}
|
||
}, 10)
|
||
);
|
||
function throttle(fn, ms) {
|
||
let throttle = false;
|
||
let timer;
|
||
return (...args) => {
|
||
if(!throttle) { // first call gets through
|
||
fn.apply(this, args);
|
||
throttle = true;
|
||
} else { // all the others get throttled
|
||
if(timer) clearTimeout(timer); // cancel #2
|
||
timer = setTimeout(() => {
|
||
fn.apply(this, args);
|
||
timer = throttle = false;
|
||
}, ms);
|
||
}
|
||
};
|
||
}
|
||
// Attach click handler to the DT
|
||
const annoteDls = window.document.querySelectorAll('dt[data-target-cell]');
|
||
for (const annoteDlNode of annoteDls) {
|
||
annoteDlNode.addEventListener('click', (event) => {
|
||
const clickedEl = event.target;
|
||
if (clickedEl !== selectedAnnoteEl) {
|
||
unselectCodeLines();
|
||
const activeEl = window.document.querySelector('dt[data-target-cell].code-annotation-active');
|
||
if (activeEl) {
|
||
activeEl.classList.remove('code-annotation-active');
|
||
}
|
||
selectCodeLines(clickedEl);
|
||
clickedEl.classList.add('code-annotation-active');
|
||
} else {
|
||
// Unselect the line
|
||
unselectCodeLines();
|
||
clickedEl.classList.remove('code-annotation-active');
|
||
}
|
||
});
|
||
}
|
||
const findCites = (el) => {
|
||
const parentEl = el.parentElement;
|
||
if (parentEl) {
|
||
const cites = parentEl.dataset.cites;
|
||
if (cites) {
|
||
return {
|
||
el,
|
||
cites: cites.split(' ')
|
||
};
|
||
} else {
|
||
return findCites(el.parentElement)
|
||
}
|
||
} else {
|
||
return undefined;
|
||
}
|
||
};
|
||
var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]');
|
||
for (var i=0; i<bibliorefs.length; i++) {
|
||
const ref = bibliorefs[i];
|
||
const citeInfo = findCites(ref);
|
||
if (citeInfo) {
|
||
tippyHover(citeInfo.el, function() {
|
||
var popup = window.document.createElement('div');
|
||
citeInfo.cites.forEach(function(cite) {
|
||
var citeDiv = window.document.createElement('div');
|
||
citeDiv.classList.add('hanging-indent');
|
||
citeDiv.classList.add('csl-entry');
|
||
var biblioDiv = window.document.getElementById('ref-' + cite);
|
||
if (biblioDiv) {
|
||
citeDiv.innerHTML = biblioDiv.innerHTML;
|
||
}
|
||
popup.appendChild(citeDiv);
|
||
});
|
||
return popup.innerHTML;
|
||
});
|
||
}
|
||
}
|
||
});
|
||
</script>
|
||
</div> <!-- /content -->
|
||
|
||
</body>
|
||
|
||
</html>
|