[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:stajic:fr":3,"public-menus:all":38,"post:air-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access:fr":205,"related:post:air-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access:fr:1":3697},{"statusCode":4,"data":5,"message":37},200,{"tenantId":6,"lang":7,"defaultLang":8,"siteUrl":9,"contactEmail":10,"brandName":11,"logoUrl":12,"siteName":11,"siteDescription":13,"ogImage":10,"robotsIndex":14,"socialLinks":10,"reservedSlugs":10,"seoPolicy":15},"stajic","fr","de","https:\u002F\u002Fstajic.de",null,"Stajic Platform","\u002FLogo_Planet.svg","Stajic Portal",true,{"branding":16,"relatedContent":17,"crossDomainLinks":18},{"logoUrl":12},{"enabled":14},[19,22,25,28,31,34],{"url":20,"label":21,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Ffigure.rocks","figure.rocks",{"url":23,"label":24,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Floving.rocks","loving.rocks",{"url":26,"label":27,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.com","bazify.com",{"url":29,"label":30,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.de","bazify.de",{"url":32,"label":33,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.at","bazify.at",{"url":35,"label":36,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.ba","bazify.ba","Portal settings resolved",[39,45],{"id":40,"name":41,"location":42,"isActive":14,"isDefault":43,"items":44},1,"main-navigation","header",false,[],{"id":46,"name":47,"location":48,"isActive":14,"isDefault":14,"items":49},4,"main-menu","sidebar",[50,66,79,93,103,118,133],{"id":51,"title":52,"url":60,"target":61,"icon":62,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":64,"portfolioId":10,"children":65},"item-18",{"de":53,"en":54,"es":55,"fr":56,"it":54,"ru":57,"sr":58,"zh":59},"Startseite","Home","Inicio","Accueil","Главная","Почетна","首页","\u002Ffull-stack-web-developer-munich-performance-seo-and-maintainable-builds","_self","i-lucide-home","page",111,[],{"id":67,"title":68,"url":75,"target":61,"icon":76,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":77,"portfolioId":10,"children":78},"item-22",{"de":69,"en":69,"es":70,"fr":69,"it":71,"ru":72,"sr":73,"zh":74},"Vision","Visión","Visione","Видение","Визија","想象","\u002Fueber-uns-webdesign-muenchen-webaplikation","i-lucide-eye",113,[],{"id":80,"title":81,"url":89,"target":61,"icon":90,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":91,"portfolioId":10,"children":92},"item-19",{"de":82,"en":83,"es":84,"fr":83,"it":85,"ru":86,"sr":87,"zh":88},"Leistungen","Services","Servicios","Servizi","Услуги","Услуге","服务","\u002Fservices-dienstleistungen-muenchen","i-lucide-wrench",116,[],{"id":94,"title":95,"url":99,"target":61,"icon":100,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":101,"portfolioId":10,"children":102},"item-23",{"de":96,"en":96,"es":96,"fr":96,"it":96,"ru":97,"sr":97,"zh":98},"Blog","Блог","博客","\u002Fblog","i-lucide-book-open",112,[],{"id":104,"title":105,"url":114,"target":61,"icon":115,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":116,"portfolioId":10,"children":117},"item-32",{"de":106,"en":107,"es":108,"fr":109,"it":110,"ru":111,"sr":112,"zh":113},"Neue Technologien","New Technologies","Nuevas tecnologías","Nouvelles technologies","Nuove tecnologie","Новые технологии","Нове технологије","新技术！","\u002Fneue-webtechnologien","i-lucide-sparkles",122,[],{"id":119,"title":120,"url":129,"target":61,"icon":130,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":131,"portfolioId":10,"children":132},"item-20",{"de":121,"en":122,"es":123,"fr":124,"it":125,"ru":126,"sr":127,"zh":128},"Kontakt","Contact us!","Contacto","Contact","Contatto","Контакт","Контактирајте нас","联系我们！","\u002Fcontact","i-lucide-mail",115,[],{"id":134,"title":135,"url":144,"target":61,"icon":145,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":147},"item-21",{"de":136,"en":137,"es":138,"fr":139,"it":140,"ru":141,"sr":142,"zh":143},"Unsere Arbeit","Our Work","Nuestro trabajo","Nos réalisations","I nostri lavori","Наши работы","Наши радови","文件夹","\u002Fportfolio","i-lucide-briefcase",114,[148,161,175,181,193],{"id":149,"title":150,"url":144,"target":61,"icon":159,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":160},"item-24",{"de":151,"en":152,"es":153,"fr":154,"it":155,"ru":156,"sr":157,"zh":158},"Alle Projekte","All Projects","Todos los proyectos","Tous les projets","Tutti i progetti","Все проекты","Сви пројекти","所有项目","i-lucide-grid-3x3",[],{"id":162,"title":163,"url":171,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":174},"item-29",{"de":164,"en":165,"es":166,"fr":167,"it":168,"ru":169,"sr":170,"zh":143},"Local Roots, Global Reach","Local Roots - Global Reach","Empresa local ","Entreprise locale","Azienda locale","Местная компания","Локално предузеће глобално тржиште","\u002Fportfolio\u002Flocal-roots-global-reach-communication-media-systems-for-modern-business","i-lucide-folder","custom",[],{"id":176,"title":177,"url":179,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":180},"item-28",{"de":178,"en":178,"es":178,"fr":178,"it":178,"ru":178,"sr":178,"zh":178},"Solr Suggester","\u002Fportfolio\u002Fsolr-fuzzy-suggester-und-solr-infix-suggester-abfrage-ueber-ajax-und-filterung",[],{"id":182,"title":183,"url":191,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":192},"item-27",{"de":184,"en":185,"es":186,"fr":187,"it":188,"ru":189,"sr":190,"zh":185},"Firmenwebseite SEO","Company Website SEO","Sitio web corporativo SEO","Site web d’entreprise SEO","Sito web aziendale SEO","Корпоративный сайт SEO","Пословна веб-страница SEO","\u002Fportfolio\u002Fseo-sem-branding-mobile-webseite-muenchen",[],{"id":194,"title":195,"url":203,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":204},"item-31",{"de":196,"en":197,"es":198,"fr":199,"it":200,"ru":201,"sr":202,"zh":197},"Digitalisierungsportal","Digitalization Portal","Portal de digitalización","Portail de numérisation","Portale di digitalizzazione","Портал цифровизации","Портал за дигитализацију","\u002Fportfolio\u002Fdigitalisierungsportal-archiv-museum-bibliothek-ead-lido-mets-mods",[],{"statusCode":4,"data":206,"message":3696},{"id":207,"title":208,"slug":209,"content":210,"contentJson":211,"excerpt":1686,"featuredImage":1687,"featuredImageAlt":1688,"featuredImageCaption":10,"featuredImageTitle":10,"featuredImageCopyright":10,"featuredImageAuthor":10,"featuredImageSourceUrl":10,"featuredImageLicense":10,"featuredImageIsAiGenerated":43,"status":1689,"publishedAt":1690,"createdAt":1691,"updatedAt":1692,"seoLocalePaths":1693,"categories":1702,"author":1715,"translations":1720},"494","IA en environnement isolé : comment les systèmes d’IA fonctionnent sans accès à Internet ni au cloud","air-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access","\u003Cp>L'IA en air gap est un système d'IA déployé à l'intérieur d'un domaine de sécurité qui n'a aucune connexion réseau physique avec les systèmes externes dont il est séparé, tout transfert au-delà de cette frontière étant effectué par des procédures délibérément contrôlées et non automatisées. Le modèle d'IA, le runtime, les données, les index de récupération, les outils et les dépendances opérationnelles nécessaires à l'inférence doivent donc être disponibles à l'intérieur de l'environnement isolé. L'IA en air gap n'est pas simplement « un modèle local » ou « un serveur sur site » : la propriété déterminante est la frontière réseau et de transfert autour du système complet.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--info my-6 rounded-xl border p-5 border-blue-300 bg-blue-50 dark:border-blue-900 dark:bg-blue-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Réponse directe\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Un système d&#39;IA en air gap peut exécuter l&#39;inférence LLM, le RAG, l&#39;analyse de documents et même des workflows agentiques sans internet ni API cloud si chaque dépendance requise est disponible à l&#39;intérieur du domaine isolé.\u003Cbr>\u003Cbr>Une architecture pratique est :\u003Cbr>\u003Cstrong>import contrôlé → dépôts internes d&#39;artefacts\u002Fmodèles → runtime d&#39;IA local → données\u002FRAG locaux → outils locaux → utilisateurs\u002Fservices internes → surveillance\u002Faudit locaux\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>La partie difficile n&#39;est pas de faire répondre un LLM hors ligne. C&#39;est d&#39;exploiter l&#39;ensemble du cycle de vie de l&#39;IA — mises à jour, modèles, pilotes, paquets, imports de données, identifiants, journalisation et sécurité — sans dépendre silencieusement de services externes.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">L&#39;air gap a une signification plus stricte que « pas d&#39;internet »\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Le glossaire de cybersécurité du NIST définit un air gap comme une interface où deux systèmes ne sont \u003Cstrong>pas physiquement connectés\u003C\u002Fstrong> et où tout transfert logique n&#39;est \u003Cstrong>pas automatisé\u003C\u002Fstrong> ; les données ne franchissent la frontière que manuellement sous contrôle humain. La documentation des fournisseurs utilise parfois « air-gapped » ou « déconnecté » de manière plus large pour des environnements sans connexion à l&#39;internet externe mais avec un réseau interne et une infrastructure de préparation contrôlée. La documentation d&#39;architecture doit préciser quelle signification est réellement mise en œuvre.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Air gap ne signifie pas sécurisé par définition\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">La suppression de la connectivité réseau directe élimine de nombreux chemins distants, mais elle n&#39;élimine pas les supports amovibles malveillants, les imports de logiciels\u002Fmodèles compromis, les menaces internes, les services internes vulnérables, la compromission physique, l&#39;injection de prompt via des documents importés ou les mouvements latéraux à l&#39;intérieur du réseau isolé.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Note sur les sources actuelles — 8 octobre 2026\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">La documentation actuelle de NVIDIA NIM et de Red Hat AI Inference prend en charge le service LLM sans accès à l&#39;internet externe en pré-positionnant les actifs de modèles et de conteneurs. NVIDIA documente une phase de préparation connectée suivie d&#39;une phase d&#39;exécution isolée avec des actifs locaux et sans identifiants de registre cloud. Red Hat utilise des dépôts miroirs de conteneurs\u002Fmodèles pour les environnements OpenShift déconnectés. Ce sont des exemples de mise en œuvre utiles, mais ils ne remplacent pas la définition plus stricte de l&#39;air gap du NIST.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Sommaire\">\u003Cstrong class=\"editorjs-toc__title\">Sommaire\u003C\u002Fstrong>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-0\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-7\" class=\"editorjs-toc__link\">Ce que signifie réellement l&#39;IA en air gap\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-11\" class=\"editorjs-toc__link\">L&#39;exemple le plus simple\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-17\" class=\"editorjs-toc__link\">Où l&#39;exemple simple s&#39;arrête\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-21\" class=\"editorjs-toc__link\">IA isolée vs hors ligne vs locale vs sur site vs privée vs souveraine\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-25\" class=\"editorjs-toc__link\">Isolation stricte vs déploiement déconnecté pratique\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-28\" class=\"editorjs-toc__link\">Une architecture d&#39;IA isolée pratique\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-32\" class=\"editorjs-toc__link\">Les modèles doivent être pré-stockés\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-36\" class=\"editorjs-toc__link\">Les modèles avec des dépendances de code distant sont un risque pour l&#39;isolation\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-40\" class=\"editorjs-toc__link\">Les conteneurs, paquets et pilotes deviennent des artefacts locaux de la chaîne d&#39;approvisionnement\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-44\" class=\"editorjs-toc__link\">Connaître la facture complète des dépendances\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-46\" class=\"editorjs-toc__link\">Les miroirs internes sont une infrastructure, pas une commodité\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-50\" class=\"editorjs-toc__link\">Le RAG peut fonctionner entièrement en air-gapped\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-56\" class=\"editorjs-toc__link\">Les agents peuvent fonctionner en environnement isolé — mais uniquement avec des outils accessibles\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-60\" class=\"editorjs-toc__link\">Le MCP ne contourne pas l&#39;isolement\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-64\" class=\"editorjs-toc__link\">L&#39;identité et l&#39;authentification doivent également fonctionner hors ligne\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-68\" class=\"editorjs-toc__link\">Le temps, les certificats et les magasins de confiance deviennent des dépendances locales\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-72\" class=\"editorjs-toc__link\">La télémétrie et les rapports de plantage nécessitent une politique explicite\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-76\" class=\"editorjs-toc__link\">Les systèmes air-gapped ont toujours besoin de correctifs\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-80\" class=\"editorjs-toc__link\">Un chemin de mise à jour contrôlé\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-82\" class=\"editorjs-toc__link\">La frontière de transfert est l&#39;interface opérationnelle la plus sensible\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-86\" class=\"editorjs-toc__link\">Les supports amovibles ne sont pas un conduit neutre\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-90\" class=\"editorjs-toc__link\">L&#39;air-gapping accroît l&#39;importance de la chaîne d&#39;approvisionnement\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-94\" class=\"editorjs-toc__link\">La préparation à l&#39;air gap doit être testée, pas supposée\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-97\" class=\"editorjs-toc__link\">Mis en cache une fois n&#39;est pas synonyme de prêt pour l&#39;air gap\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-101\" class=\"editorjs-toc__link\">Quelles menaces subsistent à l&#39;intérieur d&#39;un air gap ?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-103\" class=\"editorjs-toc__link\">Ce qu&#39;un air gap améliore réellement\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-107\" class=\"editorjs-toc__link\">Ce qu&#39;un air gap rend plus difficile\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-109\" class=\"editorjs-toc__link\">IA isolée vs IA privée\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-113\" class=\"editorjs-toc__link\">IA isolée vs IA souveraine\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-117\" class=\"editorjs-toc__link\">Preuves de mise en œuvre originale : ce que le client IA Aaasaasa prouve — et ce qu&#39;il ne prouve pas\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-123\" class=\"editorjs-toc__link\">Quand l&#39;IA isolée est-elle justifiée ?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-127\" class=\"editorjs-toc__link\">Une séquence de conception d&#39;IA en air gap pratique\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-129\" class=\"editorjs-toc__link\">Liste de contrôle de l&#39;architecture d&#39;IA en air gap\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-131\" class=\"editorjs-toc__link\">Modes de défaillance courants de l&#39;IA en air gap\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-133\" class=\"editorjs-toc__link\">Idées fausses courantes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-135\" class=\"editorjs-toc__link\">Limites\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-141\" class=\"editorjs-toc__link\">Qu&#39;est-ce qui changerait cette réponse ?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-145\" class=\"editorjs-toc__link\">Connaissances canoniques associées\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-150\" class=\"editorjs-toc__link\">Questions fréquentes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-152\" class=\"editorjs-toc__link\">Glossaire\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-154\" class=\"editorjs-toc__link\">Conclusion\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-158\" class=\"editorjs-toc__link\">Sources primaires et références d&#39;implémentation actuelles\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-7\">Ce que signifie réellement l'IA en air gap\u003C\u002Fh2>\n\u003Cp>Le mot IA ne change pas le concept de sécurité de base. Un air gap est une frontière entre domaines de sécurité. L'IA rend simplement le côté isolé plus exigeant sur le plan opérationnel, car les piles d'IA modernes supposent normalement des modèles téléchargeables, des registres de paquets, de la télémétrie, des API, des hubs de modèles et des mises à jour logicielles fréquentes.\u003C\u002Fp>\n\u003Cp>L'environnement isolé peut néanmoins contenir de nombreuses machines connectées. Un cluster interne peut avoir des GPU, des serveurs d'application, du stockage, des bases de données, des services d'identité et de surveillance connectés les uns aux autres. L'air gap existe entre cette enclave et le domaine extérieur.\u003C\u002Fp>\n\u003Cp>La question pertinente n'est donc pas « Ce GPU a-t-il le Wi-Fi ? » mais « Cet environnement d'IA peut-il échanger des informations avec le domaine externe par un chemin physique ou logique automatisé ? »\u003C\u002Fp>\n\u003Ch2 id=\"section-11\">L'exemple le plus simple\u003C\u002Fh2>\n\u003Cp>Imaginez qu'une entreprise souhaite un assistant interne pour des documents techniques confidentiels, mais que l'environnement n'est pas autorisé à envoyer ces documents sur internet.\u003C\u002Fp>\n\u003Cp>L'entreprise télécharge un LLM approuvé, un modèle d'embedding, des images de conteneurs et des paquets logiciels dans un environnement de préparation connecté. Après validation, les artefacts approuvés sont transférés dans l'environnement isolé.\u003C\u002Fp>\n\u003Cp>À l'intérieur de l'enclave, le serveur de modèles, l'analyseur de documents, la base de données vectorielle, l'application et les services d'identité s'exécutent localement. Les utilisateurs peuvent poser des questions et utiliser le RAG sur des documents internes sans modèle cloud ni registre de modèles public.\u003C\u002Fp>\n\u003Cp>Lorsqu'une mise à jour est nécessaire, celle-ci repasse par le processus d'import contrôlé plutôt que d'être téléchargée directement par le serveur d'IA de production.\u003C\u002Fp>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Un cycle opérationnel de base pour l'IA en air gap\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Acquérir en dehors de l'enclave\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Télécharger les modèles, paquets, conteneurs, pilotes, signatures et documentations approuvés dans un environnement de préparation connecté.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Vérifier avant le transfert\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Contrôler la provenance, les signatures\u002Fsommes de contrôle, l'état malveillant, les licences et la compatibilité conformément à la politique de l'organisation.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Transférer via une frontière contrôlée\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Déplacer les artefacts approuvés à l'aide du processus manuel ou médiatisé autorisé.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Publier en interne\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Placer les artefacts dans des dépôts internes de modèles, conteneurs, paquets ou fichiers.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Déployer localement\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Exécuter l'inférence, le RAG, les applications et les outils sans dépendances externes.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Surveiller à l'intérieur de l'enclave\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Collecter localement les journaux, métriques, états des modèles\u002Fruntime et événements de sécurité.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Exporter uniquement les preuves approuvées\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Déplacer les rapports ou artefacts sélectionnés vers l'extérieur via le processus contrôlé inverse lorsque la politique le permet.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">8\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">8. Répéter pour les mises à jour\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Traiter les nouveaux modèles, correctifs, corpus et dépendances comme de nouveaux imports de la chaîne d'approvisionnement.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-17\">Où l'exemple simple s'arrête\u003C\u002Fh2>\n\u003Cp>Un environnement de production en air gap peut être bien plus vaste qu'un seul poste de travail. Il peut inclure Kubernetes\u002FOpenShift, des registres internes, du stockage objet, des fournisseurs d'identité, des bases de données vectorielles, de l'observabilité, une infrastructure de sauvegarde et plusieurs nœuds de service de modèles.\u003C\u002Fp>\n\u003Cp>Plus il y a de services à l'intérieur de l'enceinte, plus l'organisation doit reproduire des capacités que les environnements connectés consomment normalement depuis Internet.\u003C\u002Fp>\n\u003Cp>L'isolation réseau déplace donc la complexité. Elle réduit la connectivité externe directe mais augmente la gestion des artefacts, des correctifs, des dépendances, de la chaîne d'approvisionnement et des responsabilités opérationnelles à l'intérieur du domaine isolé.\u003C\u002Fp>\n\u003Ch2 id=\"section-21\">IA isolée vs hors ligne vs locale vs sur site vs privée vs souveraine\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Terme\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Ce qu'il décrit principalement\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Connectivité Internet\u002Fexterne requise ?\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">IA locale\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'inférence\u002Fl'exécution s'effectue sur du matériel local\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Non ; mais elle peut toujours appeler des services cloud\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">IA capable de fonctionner hors ligne\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Peut continuer à fonctionner sans Internet\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Non pendant le fonctionnement hors ligne ; la reconnexion peut être normale\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Environnement déconnecté\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aucun chemin direct vers Internet externe depuis l'environnement de déploiement\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Généralement non ; peut utiliser des miroirs\u002Fbastions contrôlés\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">IA sur site\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'infrastructure s'exécute dans l'environnement propre\u002Fsur site d'une organisation\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Peut toujours disposer d'une connectivité Internet complète\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">IA privée\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le traitement de l'IA est contrôlé pour répondre aux exigences de confidentialité\u002Fvie privée\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Spécifique à l'architecture ; peut être connectée ou déconnectée\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">IA isolée\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les domaines de sécurité sont physiquement déconnectés et le transfert transfrontalier est non automatisé\u002Fmanuel selon une définition stricte\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aucun chemin externe automatisé\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">IA souveraine\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Contrôle\u002Fjuridiction sur les modèles, les données, l'infrastructure et les dépendances\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pas nécessairement ; la souveraineté est plus large que l'isolation réseau\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Ces termes peuvent se chevaucher mais ne sont pas synonymes. Un serveur Ollama local connecté à Internet est de l'IA locale, pas de l'IA isolée. Une plateforme RAG sur site qui appelle un modèle cloud est une infrastructure applicative sur site avec inférence cloud, pas de l'IA isolée.\u003C\u002Fp>\n\u003Cp>Un système isolé est souvent privé par conception car les données restent à l'intérieur de l'enceinte, mais la confidentialité dépend aussi de l'autorisation, de la journalisation, du traitement des données, de la sécurité physique et de la politique opérationnelle.\u003C\u002Fp>\n\u003Ch2 id=\"section-25\">Isolation stricte vs déploiement déconnecté pratique\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Deux significations souvent appelées « isolées »\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Isolation stricte\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Déploiement déconnecté \u002F sans Internet\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Connexion physique externe\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Transfert transfrontalier\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Accès Internet depuis la charge de travail IA\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Réseautage interne\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Utiliser le terme quand\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Caside class=\"editorjs-callout editorjs-callout--success my-6 rounded-xl border p-5 border-emerald-300 bg-emerald-50 dark:border-emerald-900 dark:bg-emerald-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Documentez la frontière au lieu de vous fier à l&#39;étiquette\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Pour les revues d&#39;architecture et de sécurité, écrivez la règle réelle : \u003Cstrong>aucun accès Internet sortant\u003C\u002Fstrong>, \u003Cstrong>aucun chemin réseau physique externe\u003C\u002Fstrong>, \u003Cstrong>transfert manuel uniquement\u003C\u002Fstrong>, ou \u003Cstrong>cluster déconnecté avec bastion\u002Fmiroir approuvé\u003C\u002Fstrong>. C&#39;est plus précis que de dire seulement « isolé ».\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-28\">Une architecture d'IA isolée pratique\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Couche\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Ce qui doit exister à l'intérieur de l'environnement isolé\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Couche utilisateur\u002Fapplication\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Interface de chat, API, application métier ou interface d'agent interne\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Identité &amp; autorisation\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Authentification locale\u002Finterne, RBAC, permissions de locataire\u002Fressource\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Passerelle\u002Fexécution IA\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Routage de modèle, politique de requête, assemblage de contexte et contrôles d'exécution\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Service de modèles\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Serveur(s) de modèles local(aux), poids, tokenizer\u002Fconfig et exécution d'accélérateur\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">RAG \u002F connaissance\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Stockage de documents, analyseur, embeddings, index vectoriels\u002Flexicaux, métadonnées et provenance\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Outils\u002Fservices\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Uniquement les API internes\u002Flocales et les systèmes approuvés accessibles depuis l'enceinte\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Dépôts d'artefacts\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Registre de conteneurs local, miroir de paquets, stockage de modèles et éventuellement dépôts OS\u002Fmises à jour\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Observabilité\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Journaux, métriques, traces et enregistrements d'audit internes\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sauvegarde\u002Frécupération\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Processus de sauvegarde local ou contrôlé séparément, adapté au domaine de sécurité\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Frontière de transfert\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Processus d'import\u002Fexport contrôlé avec inspection et approbation\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Une architecture complète doit pouvoir démarrer et fonctionner sans résolutions DNS, vérifications de licence, téléchargements de paquets ou appels API vers des services publics, sauf si ces dépendances ont des remplacements internes approuvés.\u003C\u002Fp>\n\u003Cp>Un test de conception utile consiste à déconnecter le déploiement de tout service externe et à démarrer la pile à froid. Les dépendances cachées ont tendance à apparaître lors du démarrage, du chargement du modèle, de l'authentification, de la résolution des paquets ou de l'initialisation de la télémétrie.\u003C\u002Fp>\n\u003Ch2 id=\"section-32\">Les modèles doivent être pré-stockés\u003C\u002Fh2>\n\u003Cp>Les API de modèles cloud sont indisponibles par définition si la charge de travail isolée n'a aucun chemin vers elles. L'enceinte a donc besoin d'artefacts de modèles exécutables localement ou d'un service d'inférence hébergé en interne.\u003C\u002Fp>\n\u003Cp>La documentation actuelle de NVIDIA sur l'isolation NIM utilise explicitement un modèle en deux phases : télécharger et préparer les ressources du modèle sur une machine connectée, les transférer, puis exécuter le NIM isolé depuis le stockage local sans accès sortant au registre ni clés API cloud.\u003C\u002Fp>\n\u003Cp>Les poids du modèle ne sont qu'une partie de l'ensemble des dépendances. Les tokenizers, fichiers de configuration, adaptateurs, métadonnées de quantification et tout code d'exécution requis doivent également être présents.\u003C\u002Fp>\n\u003Ch2 id=\"section-36\">Les modèles avec des dépendances de code distant sont un risque pour l'isolation\u003C\u002Fh2>\n\u003Cp>Certains dépôts de modèles contiennent du code Python personnalisé ou des hooks d'exécution qui récupèrent normalement du code ou des ressources supplémentaires.\u003C\u002Fp>\n\u003Cp>La documentation actuelle de Red Hat AI Inference avertit explicitement que certains modèles Hugging Face nécessitant du code distant ne peuvent pas fonctionner normalement dans des environnements déconnectés, car la bibliothèque tente d'accéder au réseau même lorsque le mode hors ligne est configuré.\u003C\u002Fp>\n\u003Cp>La leçon pratique est de tester l'intégralité du chemin de chargement d'un modèle hors ligne avant de l'approuver pour un déploiement isolé. « J'ai téléchargé les poids » ne prouve pas que le modèle est autonome.\u003C\u002Fp>\n\u003Ch2 id=\"section-40\">Les conteneurs, paquets et pilotes deviennent des artefacts locaux de la chaîne d'approvisionnement\u003C\u002Fh2>\n\u003Cp>Les environnements connectés récupèrent régulièrement des images de conteneurs, des paquets Python, des mises à jour du système d'exploitation et des composants GPU depuis des registres publics. Un environnement isolé du réseau ne peut compter sur aucun de ces services.\u003C\u002Fp>\n\u003Cp>Le modèle de déploiement IA déconnecté de Red Hat utilise des registres miroirs internes pour les images de conteneurs et les catalogues d'opérateurs. Les modèles peuvent être mis en miroir en tant qu'artefacts OCI ou transférés vers un stockage persistant.\u003C\u002Fp>\n\u003Cp>Pour des piles plus larges, le même schéma s'applique souvent aux paquets de langage, aux dépôts Linux, aux paquets JavaScript et aux binaires internes : les artefacts approuvés entrent une fois par le processus de transfert, puis sont servis depuis des dépôts internes de confiance.\u003C\u002Fp>\n\u003Ch2 id=\"section-44\">Connaître la facture complète des dépendances\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Classe de dépendance\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Exemples\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Artefacts de modèle\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Poids, tokenizer, configuration, adaptateurs, métadonnées de quantification\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Runtime d'inférence\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">vLLM, llama.cpp, Ollama, NIM ou autre runtime de service\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pile GPU\u002Fruntime\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pilotes, bibliothèques CUDA\u002FROCm, runtime de conteneur\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Paquets applicatifs\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Wheels Python, paquets npm, bibliothèques système\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Conteneurs\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Images d'application, d'inférence, de base de données, de base de données vectorielle, de supervision\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Modèles RAG\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Modèle d'embedding, reranker, modèles OCR\u002Fvision\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Données\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Corpus de connaissances, métadonnées, schémas, jeux de données d'évaluation\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Matériel de sécurité\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Certificats, bundles de CA, politique\u002Fconfiguration, signatures de malwares le cas échéant\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Artefacts opérationnels\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Tableaux de bord, règles d'alerte, outils de sauvegarde, runbooks\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Licences\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Licences\u002Fdroits compatibles hors ligne lorsque requis\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-46\">Les miroirs internes sont une infrastructure, pas une commodité\u003C\u002Fh2>\n\u003Cp>Un déploiement déconnecté devient maintenable lorsque le domaine isolé dispose de sources internes connues pour les artefacts approuvés.\u003C\u002Fp>\n\u003Cp>L'approche documentée de Red Hat utilise un registre miroir accessible au cluster déconnecté afin que les charges de travail n'aient pas besoin de registres publics.\u003C\u002Fp>\n\u003Cp>La même idée architecturale peut être appliquée aux magasins de modèles et aux dépôts de paquets. L'objectif est de rendre explicites l'origine, la version et l'approbation des artefacts plutôt que de copier manuellement des fichiers aléatoires sur chaque serveur.\u003C\u002Fp>\n\u003Ch2 id=\"section-50\">Le RAG peut fonctionner entièrement en air-gapped\u003C\u002Fh2>\n\u003Cp>Le RAG ne nécessite pas l'internet public. Il nécessite un corpus récupérable, un pipeline d'ingestion\u002Findexation et un modèle capable d'utiliser le contexte récupéré.\u003C\u002Fp>\n\u003Cp>Dans un environnement air-gapped, le stockage de documents, le parseur\u002FOCR, le modèle d'embedding, l'index vectoriel ou lexical, le reranker et le modèle de génération peuvent tous fonctionner localement.\u003C\u002Fp>\n\u003Cp>Ce qui change, c'est l'acquisition des sources. La recherche web en direct et les connecteurs de documents cloud ne sont pas disponibles, sauf si des données équivalentes sont importées via la frontière contrôlée.\u003C\u002Fp>\n\u003Cp>Le corpus devient donc un artefact gouverné. Chaque importation doit préserver l'identité de la source, la date\u002Fversion et la provenance afin que les utilisateurs sachent quelles connaissances le système isolé contient réellement.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">Qu'est-ce que le RAG ? L'explication la plus simple de son fonctionnement\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Le RAG lui-même est indépendant de l'hébergement cloud. Dans une architecture isolée, la récupération et la génération doivent simplement être fournies par des composants locaux\u002Finternes.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Lire les fondements du RAG →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-56\">Les agents peuvent fonctionner en environnement isolé — mais uniquement avec des outils accessibles\u003C\u002Fh2>\n\u003Cp>Une boucle d'agent peut s'exécuter entièrement à l'intérieur d'une enclave isolée si le modèle\u002Fenvironnement d'exécution et les outils requis sont locaux ou accessibles sur le réseau interne.\u003C\u002Fp>\n\u003Cp>Un outil qui dépend de GitHub, d'une recherche web publique, d'un e-mail cloud ou d'une API SaaS externe échouera, sauf si l'architecture fournit un équivalent interne approuvé ou un processus d'échange asynchrone contrôlé.\u003C\u002Fp>\n\u003Cp>C'est pourquoi la conception d'agents en environnement isolé doit commencer par un inventaire des capacités : chaque point de terminaison d'outil doit être classé comme interne, importé, indisponible ou délibérément exclu.\u003C\u002Fp>\n\u003Ch2 id=\"section-60\">Le MCP ne contourne pas l'isolement\u003C\u002Fh2>\n\u003Cp>Le MCP peut exposer des outils et des ressources locales au sein d'un environnement d'IA isolé, mais le protocole ne crée pas de connectivité à travers la frontière de sécurité.\u003C\u002Fp>\n\u003Cp>Un serveur MCP local qui lit des documents internes peut fonctionner parfaitement hors ligne. Un serveur MCP distant sur l'internet public ne peut pas être atteint depuis une enclave strictement isolée.\u003C\u002Fp>\n\u003Cp>Le même principe s'applique à tout protocole de connexion : l'interopérabilité est distincte de l'autorité réseau.\u003C\u002Fp>\n\u003Ch2 id=\"section-64\">L'identité et l'authentification doivent également fonctionner hors ligne\u003C\u002Fh2>\n\u003Cp>Une application d'IA peut être hébergée localement tout en dépendant d'un fournisseur d'identité cloud. Cette dépendance cachée empêche un fonctionnement véritablement déconnecté.\u003C\u002Fp>\n\u003Cp>Les conceptions isolées nécessitent donc une architecture d'identité qui fonctionne à l'intérieur de l'enclave : annuaire local, fournisseur d'identité interne, PKI interne, informations d'identification de service locales ou tout autre mécanisme approuvé.\u003C\u002Fp>\n\u003Cp>L'autorisation reste nécessaire même en l'absence d'internet. L'isolement ne remplace pas le RBAC, l'isolation des locataires ni le principe du moindre privilège.\u003C\u002Fp>\n\u003Ch2 id=\"section-68\">Le temps, les certificats et les magasins de confiance deviennent des dépendances locales\u003C\u002Fh2>\n\u003Cp>De nombreux systèmes d'authentification et de journalisation dépendent d'une heure fiable. Les certificats expirent. Les magasins de confiance changent. Les artefacts signés nécessitent une validation.\u003C\u002Fp>\n\u003Cp>Une enclave déconnectée doit donc disposer d'une synchronisation horaire interne et d'un cycle de vie des certificats et de la confiance qui ne dépend pas de l'accès aux services publics lors du fonctionnement ordinaire.\u003C\u002Fp>\n\u003Cp>Ce sont des préoccupations d'infrastructure ordinaires qui ne deviennent visibles que lorsqu'une architecture est testée sans accès à internet.\u003C\u002Fp>\n\u003Ch2 id=\"section-72\">La télémétrie et les rapports de plantage nécessitent une politique explicite\u003C\u002Fh2>\n\u003Cp>De nombreuses bibliothèques modernes tentent d'effectuer des analyses, des vérifications de mise à jour ou des rapports d'erreurs par défaut.\u003C\u002Fp>\n\u003Cp>Dans un environnement isolé, ces appels devraient être soit désactivés, soit redirigés vers une observabilité interne. Des tentatives de télémétrie échouées à répétition peuvent créer des délais, des journaux bruyants et un comportement de démarrage inattendu.\u003C\u002Fp>\n\u003Cp>Un déploiement en air-gapped devrait savoir quels composants tentent une sortie réseau même si le pare-feu les bloquait.\u003C\u002Fp>\n\u003Ch2 id=\"section-76\">Les systèmes air-gapped ont toujours besoin de correctifs\u003C\u002Fh2>\n\u003Cp>L'isolation réseau n'empêche pas les logiciels de développer des vulnérabilités. Elle change seulement la façon dont les correctifs atteignent le système.\u003C\u002Fp>\n\u003Cp>Le NIST présente la gestion des correctifs comme une maintenance préventive : les organisations doivent toujours identifier, acquérir, prioriser, installer et vérifier les correctifs et mises à jour.\u003C\u002Fp>\n\u003Cp>Les opérations air-gapped nécessitent donc une cadence d'importation reproductible pour les paquets du système d'exploitation, les images de conteneurs, les pilotes, les environnements d'exécution d'IA et les mises à jour de sécurité. Le compromis se situe entre la stabilité de l'isolation et l'exposition aux vulnérabilités due à des logiciels obsolètes.\u003C\u002Fp>\n\u003Ch2 id=\"section-80\">Un chemin de mise à jour contrôlé\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Exemple de cycle de vie de mise à jour pour un environnement d'IA isolé\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Identifier la mise à jour requise\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Un avis de sécurité, une amélioration du modèle\u002Fd'environnement d'exécution ou un besoin opérationnel déclenche le changement.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Acquérir dans un environnement de préparation connecté\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Télécharger les versions exactes ainsi que les signatures\u002Fsommes de contrôle et les métadonnées.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Valider les preuves de la chaîne d'approvisionnement\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Vérifier la source, l'intégrité, la compatibilité et les exigences de politique.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Tester dans un environnement de préparation hors ligne représentatif\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Confirmer que la mise à jour fonctionne sans dépendances réseau inattendues.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Approuver le transfert\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Appliquer le processus de changement et de sécurité de l'organisation.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Importer dans le référentiel de l'enceinte\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Publier l'artefact vers la source interne de confiance.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Déployer progressivement\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Appliquer aux nœuds de test\u002Fcanari avant un déploiement plus large lorsque l'architecture le permet.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">8\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">8. Vérifier et enregistrer\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Confirmer la version, l'état de santé, le comportement et l'état de restauration.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-82\">La frontière de transfert est l'interface opérationnelle la plus sensible\u003C\u002Fh2>\n\u003Cp>Si des informations externes doivent entrer dans un système air-gapped, le canal d'importation devient un point de contrôle de sécurité majeur.\u003C\u002Fp>\n\u003Cp>Le cadre de cybermenace technique de cybersécurité de la NSA reconnaît explicitement la réplication via des supports amovibles comme un chemin que les adversaires peuvent utiliser pour pénétrer dans des réseaux déconnectés ou air-gapped.\u003C\u002Fp>\n\u003Cp>C'est pourquoi la gestion contrôlée des supports, l'inspection, la provenance, le chiffrement lorsque nécessaire, l'analyse des logiciels malveillants et la séparation des rôles peuvent être aussi importants que la pile d'IA elle-même.\u003C\u002Fp>\n\u003Ch2 id=\"section-86\">Les supports amovibles ne sont pas un conduit neutre\u003C\u002Fh2>\n\u003Cp>Les clés USB et autres supports portables peuvent contenir à la fois des artefacts légitimes de modèles\u002Fdonnées et du contenu malveillant.\u003C\u002Fp>\n\u003Cp>Les directives du NIST sur l'assainissement des supports traitent les supports de stockage comme un objet de cycle de vie de confidentialité qui peut nécessiter un effacement, une purge ou une destruction selon la sensibilité et les besoins de réutilisation.\u003C\u002Fp>\n\u003Cp>La procédure exacte de transfert est propre à chaque organisation, mais le principe architectural est stable : les supports franchissant les frontières doivent être gouvernés comme un actif de sécurité, et non traités comme une commodité informelle.\u003C\u002Fp>\n\u003Ch2 id=\"section-90\">L'air-gapping accroît l'importance de la chaîne d'approvisionnement\u003C\u002Fh2>\n\u003Cp>Un système isolé reçoit moins d'entrées externes actives, mais chaque binaire, modèle, conteneur et paquet importé devient plus important car l'enceinte peut lui faire confiance pendant longtemps.\u003C\u002Fp>\n\u003Cp>Les directives du NIST sur la chaîne d'approvisionnement logicielle mettent l'accent sur la provenance, le risque fournisseur, la gestion des vulnérabilités, la vérification logicielle et les pratiques orientées SBOM. Ces préoccupations deviennent directement pertinentes pour l'importation hors ligne d'artefacts d'IA.\u003C\u002Fp>\n\u003Cp>La chaîne d'approvisionnement des modèles mérite la même attention que celle des applications : l'origine du modèle, la licence, le hachage, le format, le code requis, le tokenizer, les adaptateurs et le statut d'évaluation doivent être connus avant l'importation.\u003C\u002Fp>\n\u003Ch2 id=\"section-94\">La préparation à l'air gap doit être testée, pas supposée\u003C\u002Fh2>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Modèle de validation proposé\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Le test de préparation à l&#39;air gap suivant est une synthèse d&#39;ingénierie, et non une méthode de certification NIST ou d&#39;un fournisseur. Il est conçu pour exposer les dépendances externes cachées avant le déploiement.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Test\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Ce qu'il prouve\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Démarrage à froid avec tout le réseau sortant bloqué\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le runtime ne nécessite pas de services publics au démarrage\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Charger chaque modèle approuvé depuis le stockage local\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les poids\u002Ftokenizers\u002Fconfigs sont complets\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Reconstruire\u002Fredéployer uniquement depuis les registres internes\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les miroirs de conteneurs\u002Fpaquets sont suffisants\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Authentifier les utilisateurs lorsque l'IdP externe est inaccessible\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'identité fonctionne à l'intérieur de l'enceinte\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Exécuter l'ingestion et les requêtes RAG hors ligne\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La pile d'embedding\u002Findexation\u002Frécupération est locale\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Exécuter des outils d'agent représentatifs\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les outils ne dépendent pas d'API externes\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Redémarrer après suppression du cache\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le fonctionnement hors ligne ne repose pas accidentellement sur des téléchargements précédemment mis en cache\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Avancer le cycle de vie simulé des certificats\u002Fmises à jour\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les dépendances de confiance et de maintenance sont comprises\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Importer un nouveau modèle via le chemin de staging\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La procédure de transfert\u002Fchangement est opérationnelle\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Restaurer à partir d'une sauvegarde\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La récupération ne nécessite pas de stockage cloud indisponible\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-97\">Mis en cache une fois n'est pas synonyme de prêt pour l'air gap\u003C\u002Fh2>\n\u003Cp>Un système peut sembler hors ligne parce que le modèle et les paquets sont déjà mis en cache à partir d'un accès Internet antérieur.\u003C\u002Fp>\n\u003Cp>La suppression des caches ou le déploiement sur un nœud propre peut révéler des fichiers tokenizer manquants, des paquets Python, des manifestes de modèles ou des dépendances de code distant.\u003C\u002Fp>\n\u003Cp>La préparation à l'air gap doit donc être validée à partir d'artefacts internes propres, et non uniquement depuis un poste de développeur précédemment connecté.\u003C\u002Fp>\n\u003Ch2 id=\"section-101\">Quelles menaces subsistent à l'intérieur d'un air gap ?\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Menace\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Pourquoi l'air gap ne l'élimine pas\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Artefact importé compromis\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un malware\u002Fmodèle\u002Fpaquet peut entrer par le chemin de transfert autorisé\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Support amovible malveillant\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le transfert physique peut transporter des charges utiles exécutables\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Usage abusif interne\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des utilisateurs autorisés existent déjà à l'intérieur de l'enceinte\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Injection de prompt dans les documents importés\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un contenu non fiable peut influencer RAG\u002Fagents sans Internet\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Outils d'agent sur-privilégiés\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les outils locaux peuvent toujours endommager les systèmes locaux\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Fuite de données entre locataires\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des bugs d'autorisation internes restent possibles\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Logiciel interne vulnérable\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'absence de connexion externe n'élimine pas les bugs exploitables\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mouvement latéral\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un nœud compromis peut attaquer d'autres nœuds connectés en interne\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Dépendances obsolètes\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Une cadence de mise à jour lente peut laisser des vulnérabilités connues non corrigées\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vol\u002Faltération physique\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La sécurité du matériel et des supports reste critique\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mauvais comportement du modèle\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'hallucination, le biais et l'échec de tâche sont indépendants du réseau\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Empoisonnement de la chaîne d'approvisionnement\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des sources d'importation de confiance peuvent toujours être compromises\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-103\">Ce qu'un air gap améliore réellement\u003C\u002Fh2>\n\u003Cp>Un véritable air gap peut réduire matériellement les chemins d'attaque qui dépendent d'une connectivité distante directe : commande et contrôle externes, mauvaise utilisation des identifiants cloud, exploitation de services exposés à Internet et exfiltration accidentelle de données via des API sortantes ordinaires.\u003C\u002Fp>\n\u003Cp>Il simplifie aussi la résidence des données dans un sens étroit : les données d'inférence ne peuvent pas être envoyées à un service cloud externe s'il n'existe aucun chemin.\u003C\u002Fp>\n\u003Cp>Ces avantages sont les plus forts lorsque la frontière de transfert et les contrôles d'accès internes sont également disciplinés. Un processus USB mal géré peut compromettre l'isolation prévue.\u003C\u002Fp>\n\u003Ch2 id=\"section-107\">Ce qu'un air gap rend plus difficile\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Domaine\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Conséquence opérationnelle\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mises à jour de modèles\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Transfert manuel\u002Fstaged au lieu d'un pull direct depuis le hub de modèles\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Correctifs de sécurité\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Flux d'importation retardé et gouverné\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Installation de paquets\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Miroirs internes ou artefacts préconstruits requis\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">API d'IA cloud\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Indisponibles\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Recherche web\u002Fconnecteurs\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Indisponibles sauf si les données sont importées séparément\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Authentification\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Nécessite des services d'identité internes ou compatibles hors ligne\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Surveillance\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Nécessite une observabilité interne et une exportation contrôlée\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Licences\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les produits nécessitant une activation en ligne peuvent être inadaptés\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Dépannage\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pas d'accès direct facile aux ressources du fournisseur depuis l'enceinte de production\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Capacité\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Toute la puissance d'inférence doit exister localement\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Reprise après sinistre\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les sauvegardes cloud peuvent être indisponibles ou restreintes par politique\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Fraîcheur des connaissances\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les informations externes arrivent uniquement au rythme du processus d'importation\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-109\">IA isolée vs IA privée\u003C\u002Fh2>\n\u003Cp>L'IA privée concerne principalement le contrôle des données sensibles et du traitement de l'IA. Une plateforme d'IA privée peut être sur site et accéder tout de même à des modèles cloud approuvés ou à des services externes.\u003C\u002Fp>\n\u003Cp>L'IA isolée est plus stricte en matière de connectivité. Un système peut être privé sans être isolé, et un système isolé peut encore avoir une mauvaise confidentialité si chaque utilisateur interne a un accès illimité.\u003C\u002Fp>\n\u003Cp>L'objectif de sécurité doit déterminer l'architecture : confidentialité, souveraineté, résilience et isolation sont des exigences liées mais distinctes.\u003C\u002Fp>\n\u003Ch2 id=\"section-113\">IA isolée vs IA souveraine\u003C\u002Fh2>\n\u003Cp>L'IA souveraine concerne le contrôle de la chaîne de dépendance plus large : données, modèles, infrastructure, opérateurs, juridiction et dépendances stratégiques.\u003C\u002Fp>\n\u003Cp>Une isolation peut soutenir la souveraineté en réduisant la dépendance d'exécution externe, mais elle ne garantit pas un contrôle souverain. L'enceinte peut encore dépendre de matériel étranger, de licences de modèles propriétaires ou de fournisseurs de mises à jour externes.\u003C\u002Fp>\n\u003Cp>Le prochain article canonique sépare explicitement ces dimensions de contrôle.\u003C\u002Fp>\n\u003Ch2 id=\"section-117\">Preuves de mise en œuvre originale : ce que le client IA Aaasaasa prouve — et ce qu'il ne prouve pas\u003C\u002Fh2>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Limite de mise en œuvre\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Le client IA Aaasaasa est une preuve utile pour \u003Cstrong>l&#39;architecture d&#39;inférence locale\u003C\u002Fstrong>, l&#39;abstraction des fournisseurs et la séparation de l&#39;emplacement d&#39;exécution\u002Fdu modèle. Il \u003Cstrong>ne constitue pas une preuve d&#39;un environnement isolé déployé\u003C\u002Fstrong>. Le dépôt prend également en charge les chemins cloud et distants, et aucune preuve de projet vérifiée n&#39;établit un domaine de sécurité physiquement isolé.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cp>Le AI Hub sépare l'agent\u002Fclient, le fournisseur, le modèle et l'emplacement de connexion. Il prend en charge l'inférence locale Ollama et l'opération Codex avec fournisseur local comme des choix distincts plutôt que de supposer que chaque requête IA va vers un modèle cloud.\u003C\u002Fp>\n\u003Cp>Le dépôt note explicitement qu'un environnement d'exécution local peut encore utiliser un modèle cloud, tandis que le chat Direct Ollama est une inférence locale. Cette distinction est directement pertinente pour l'architecture isolée : l'exécution locale ne prouve pas que le modèle ou les dépendances environnantes sont déconnectés.\u003C\u002Fp>\n\u003Cp>L'abstraction des fournisseurs, la découverte de modèles locaux et l'inférence locale sont donc des éléments constitutifs d'une architecture produit capable d'isolation, mais la frontière réseau, le miroir de dépendances hors ligne, le processus de transfert contrôlé et l'identité\u002Fles opérations hors ligne doivent encore être conçus séparément.\u003C\u002Fp>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Capacité du projet vérifiée\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Pertinence pour l'isolation\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Inférence locale Ollama\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Prend en charge l'exécution locale du modèle\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Chemins de fournisseur\u002Fenvironnement d'exécution locaux\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Réduit la dépendance à l'inférence cloud\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Séparation fournisseur\u002Fmodèle\u002Fenvironnement d'exécution\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Rend les dépendances cloud explicites plutôt que cachées\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Permissions centrales\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Prend en charge le contrôle d'accès local aux outils\u002Fdonnées\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La prise en charge des fournisseurs cloud\u002Fdistants existe également\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Prouve que le produit lui-même est capable d'hybride, pas intrinsèquement isolé\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aucune frontière de déploiement isolé vérifiée\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Empêche de surestimer la maturité de l'isolation\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-123\">Quand l'IA isolée est-elle justifiée ?\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">L'isolation peut être justifiée lorsque\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Une architecture privée connectée peut être meilleure lorsque\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La politique de sécurité exige explicitement des domaines physiquement séparés\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'exigence principale est seulement que les invites\u002Fdonnées ne soient pas utilisées par des services grand public publics\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des données classifiées ou extrêmement sensibles ne peuvent pas traverser de réseaux externes\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des points de terminaison cloud\u002Fprivés d'entreprise approuvés satisfont les contrôles de données\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'environnement opérationnel n'a pas de connectivité externe fiable\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Internet est disponible et l'agilité opérationnelle compte\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La continuité de mission ne doit pas dépendre de la disponibilité du cloud\u002Fdu fournisseur\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La qualité des modèles gérés et les mises à niveau rapides sont plus précieuses\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un environnement réglementé\u002Fcritique impose un transfert contrôlé\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les contrôles de sécurité standard peuvent répondre au modèle de menace réel\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'accès aux SaaS\u002FAPI externes est interdit\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le flux de travail métier repose fortement sur des connecteurs externes\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>L'isolation devrait être une exigence dérivée d'un modèle de menace ou d'une politique, pas une fonctionnalité de prestige. Elle a une réelle valeur de sécurité lorsque le chemin de connectivité éliminé est lui-même inacceptable.\u003C\u002Fp>\n\u003Cp>Pour de nombreux cas d'usage d'entreprise, un réseau privé étroitement contrôlé avec des restrictions de sortie, une inférence locale et des canaux de mise à jour approuvés peut offrir un meilleur équilibre entre sécurité et maintenabilité qu'une stricte isolation physique.\u003C\u002Fp>\n\u003Ch2 id=\"section-127\">Une séquence de conception d'IA en air gap pratique\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Concevoir de la frontière vers l'intérieur\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Définir ce que l'air gap sépare\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Nommez les domaines de sécurité et si l'exigence est une séparation physique stricte ou simplement l'absence d'internet.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Inventorier chaque dépendance externe\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Modèles, paquets, registres, identité, télémétrie, licences, stockage, API, DNS\u002Fheure et services de support.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Sélectionner des modèles et runtimes capables de fonctionner hors ligne\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Vérifiez que les actifs de modèle et le code d'exécution peuvent se charger sans appels distants.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Construire des dépôts d'artefacts internes\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Créez des sources de confiance pour les conteneurs, paquets, modèles et mises à jour.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Concevoir un transfert contrôlé\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Définissez la préparation, la vérification, la gestion des supports\u002Fpasserelles, l'approbation et la provenance.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Construire une identité et une autorisation internes\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Assurez-vous que les utilisateurs, services et outils peuvent s'authentifier sans dépendances cloud.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Garder le RAG et les outils locaux\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Déployez les connaissances, les embeddings, les index et les API de service requises à l'intérieur de l'enceinte.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">8\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">8. Construire une observabilité interne\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Exploitez les journaux, métriques, traces et la surveillance de sécurité localement.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">9\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">9. Définir la cadence de mise à jour des correctifs\u002Fmodèles\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Équilibrez la réponse aux vulnérabilités avec le processus d'importation contrôlé.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">10\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">10. Tester à partir d'un état déconnecté propre\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Démarrez à froid et fonctionnez sans caches hérités ni accès internet caché.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">11\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">11. Tester les chemins de compromission\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Exercez les scénarios de supports amovibles, chaîne d'approvisionnement, injection de prompt, menace interne et mouvement latéral.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">12\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">12. Documenter les exceptions et les exports\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Chaque chemin transfrontalier autorisé doit avoir un objectif nommé, un propriétaire et un ensemble de contrôles.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-129\">Liste de contrôle de l'architecture d'IA en air gap\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Question\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Preuve attendue\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Qu'est-ce qui est exactement isolé de quoi ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Frontière de domaine de sécurité documentée\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La frontière est-elle physiquement déconnectée ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Preuve d'architecture réseau\u002Fphysique si un air gap strict est revendiqué\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comment les données traversent-elles la frontière ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Flux de travail déconnecté autorisé non automatisé\u002Fmanuel ou explicitement documenté\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Chaque modèle peut-il démarrer à froid hors ligne ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Test de chargement hors ligne\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les actifs tokenizer\u002Fconfig\u002Fruntime sont-ils complets ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Bundle de modèle interne vérifié\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">D'où viennent les conteneurs\u002Fpaquets ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Miroir\u002Fdépôt interne de confiance\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'identité peut-elle fonctionner sans services cloud ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Chemin d'identification interne IdP\u002FPKI\u002Fjustificatif de service\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le RAG peut-il ingérer\u002Finterroger hors ligne ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ingestion, embeddings, index et récupération locaux\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quels outils d'agent restent disponibles ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Inventaire des capacités internes\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comment les correctifs sont-ils importés ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Processus de maintenance contrôlé\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comment les artefacts sont-ils vérifiés ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Contrôles d'intégrité\u002Fprovenance\u002Fmalware\u002Fchaîne d'approvisionnement\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comment les supports amovibles sont-ils gouvernés ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Politique de gestion et de désinfection des supports\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le système peut-il fonctionner après la purge des caches ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Test hors ligne en environnement propre\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Où sont stockés les journaux et les traces ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Plateforme d'observabilité interne\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comment les exports sont-ils approuvés ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Processus de sortie contrôlé\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Qu'est-ce qui prouve qu'il s'agit d'un air gap plutôt que simplement local ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Preuve de frontière et de transfert, pas l'emplacement du modèle\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-131\">Modes de défaillance courants de l'IA en air gap\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Mode de défaillance\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Ce qui a réellement échoué\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le modèle local télécharge encore le tokenizer\u002Fconfig au démarrage\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le bundle de modèle était incomplet\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le conteneur référence un registre public\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le déploiement n'était pas autonome\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Identité cloud requise pour la connexion\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'application était locale mais l'identité ne l'était pas\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Serveur de licence requis en externe\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La dépendance au fournisseur contredisait le fonctionnement hors ligne\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Modèle d'embedding manquant\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le chat fonctionne mais l'ingestion RAG échoue\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'outil d'agent appelle un SaaS public\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'architecture de l'agent n'était pas compatible avec l'air gap\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Seul le nœud GPU est isolé\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La base de données, l'interface utilisateur ou la surveillance dépendent encore de services externes\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les imports USB sont informels\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La frontière de transfert devient un chemin d'attaque non contrôlé\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aucun processus de correctif\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'isolation crée une dette de vulnérabilité croissante\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Machine de développeur mise en cache utilisée comme preuve\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le déploiement frais échoue sans internet\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'air gap remplace la réflexion sur l'autorisation\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les utilisateurs\u002Fservices internes deviennent sur-privilégiés\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Étiquette air gap utilisée pour un blocage de sortie pare-feu uniquement\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La documentation de sécurité surestime la frontière réelle\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-133\">Idées fausses courantes\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Idée fausse\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Correction\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« L'IA locale est une IA en air gap. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Local décrit où l'inférence s'exécute ; air gap décrit la frontière de sécurité\u002Fréseau.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Air gap signifie un seul PC autonome. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Une enceinte isolée peut contenir tout un réseau interne ou une grappe.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Pas d'internet équivaut à un air gap strict. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Selon la définition du NIST, les systèmes séparés manquent aussi de connexion physique et le transfert transfrontalier est non automatisé.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Les air gaps éliminent le risque cyber. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les risques de chaîne d'approvisionnement, de supports amovibles, de menace interne, de réseau interne et d'application subsistent.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Le RAG a besoin du cloud. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le RAG peut fonctionner entièrement avec des modèles, index et données locaux.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Les agents ne peuvent pas fonctionner hors ligne. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les agents peuvent utiliser des outils internes\u002Flocaux ; ils ne peuvent simplement pas atteindre des services externes indisponibles.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Une fois installé, le système n'a pas besoin de mises à jour. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les correctifs, pilotes, modèles et dépendances nécessitent encore une gestion du cycle de vie.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Un modèle téléchargé est autonome. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les tokenizers, le code distant, les bibliothèques ou les actifs de modèle peuvent encore déclencher des dépendances réseau.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« IA privée et IA en air gap sont identiques. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'IA privée est une propriété de données\u002Fcontrôle ; l'air gap est une propriété de connectivité.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« L'air gap garantit la souveraineté. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le matériel externe, les licences, les modèles et la chaîne d'approvisionnement peuvent rester des dépendances.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-135\">Limites\u003C\u002Fh2>\n\u003Cp>Les air gaps stricts ralentissent la fraîcheur des connaissances externes car chaque nouvelle source doit passer par un processus de transfert.\u003C\u002Fp>\n\u003Cp>Ils peuvent contraindre le choix du modèle lorsque les licences, les exigences de code distant, les besoins matériels ou les API exclusives au fournisseur ne peuvent pas être satisfaits hors ligne.\u003C\u002Fp>\n\u003Cp>Ils augmentent le coût opérationnel car l'infrastructure normalement consommée comme services cloud doit être possédée et maintenue en interne.\u003C\u002Fp>\n\u003Cp>Ils peuvent aussi créer une latence de correctif : un contrôle des changements plus fort peut maintenir les systèmes stables tout en retardant la remédiation urgente des vulnérabilités.\u003C\u002Fp>\n\u003Cp>L'IA en air gap doit donc être évaluée comme une architecture de sécurité parmi d'autres, et non supposée universellement supérieure.\u003C\u002Fp>\n\u003Ch2 id=\"section-141\">Qu'est-ce qui changerait cette réponse ?\u003C\u002Fh2>\n\u003Cp>Le support des fournisseurs pour le fonctionnement déconnecté évolue rapidement. Les nouveaux formats de modèle, les artefacts OCI signés, les mécanismes de licence hors ligne et les registres de modèles intégrés peuvent réduire les frictions opérationnelles.\u003C\u002Fp>\n\u003Cp>La distinction entre air gap strict et déploiement déconnecté restera importante même si les fournisseurs continuent d'utiliser les termes de manière vague.\u003C\u002Fp>\n\u003Cp>Le principe stable est que les véritables revendications d'air gap dépendent de la frontière du système et du mécanisme de transfert, et non du fait que le LLM s'exécute localement.\u003C\u002Fp>\n\u003Ch2 id=\"section-145\">Connaissances canoniques associées\u003C\u002Fh2>\n\u003Cp>L'IA en air gap est un nœud d'architecture de déploiement et de sécurité. L'IA privée, l'IA souveraine et l'abstraction de fournisseur répondent à des questions différentes sur la confidentialité, le contrôle et la dépendance.\u003C\u002Fp>\n\u003Cp>MLOps\u002FLLMOps devient plus exigeant dans un environnement déconnecté, car les cycles de vie des modèles, des packages et des mises à jour doivent fonctionner via des dépôts internes et un transfert contrôlé.\u003C\u002Fp>\n\u003Cp>Le RAG et l'IA agentique restent des modèles valides à l'intérieur de l'enceinte tant que leurs données et outils sont disponibles en interne.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">La mémoire des agents IA n'est pas le RAG : comment séparer mémoire, récupération, état et contexte\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">L'IA en air gap a toujours besoin de frontières internes correctes entre mémoire durable, état faisant autorité, récupération et contexte du modèle.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Lire l'article sur l'architecture de la mémoire →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-150\">Questions fréquentes\u003C\u002Fh2>\n\u003Csection class=\"editorjs-faq my-6 rounded-xl border border-gray-200 p-5 dark:border-gray-700\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">FAQ sur l&#39;IA en air gap\u003C\u002Fh3>\u003Cdiv id=\"faq1\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Qu&#39;est-ce que l&#39;IA en air gap ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">L&#39;IA en air gap est une IA déployée à l&#39;intérieur d&#39;un domaine de sécurité physiquement déconnecté des systèmes externes dont elle est séparée, avec un transfert transfrontalier effectué via des procédures contrôlées non automatisées selon la définition stricte du NIST.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq2\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">L&#39;IA en air gap a-t-elle besoin d&#39;un accès Internet ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non pour l&#39;inférence et l&#39;exploitation normales. Les modèles, packages, données et services requis doivent être disponibles à l&#39;intérieur de l&#39;environnement isolé.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq3\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Un LLM local est-il automatiquement en air gap ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non. Un modèle local peut s&#39;exécuter sur une machine qui dispose encore d&#39;un accès Internet ou utilise une identité, des outils ou un stockage cloud. L&#39;air gap décrit la frontière complète du système.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq4\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Le RAG peut-il fonctionner dans un réseau en air gap ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Oui. Les documents, les modèles d&#39;embedding, les index vectoriels ou lexicaux, les rerankers et les modèles de génération peuvent tous s&#39;exécuter localement. Les connaissances externes doivent être importées via la frontière contrôlée.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq5\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Les agents IA peuvent-ils fonctionner en air gap ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Oui, si leurs outils et les systèmes requis sont disponibles à l&#39;intérieur du réseau isolé. Les SaaS publics et les API cloud sont indisponibles sans mécanisme transfrontalier autorisé.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq6\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Comment les modèles sont-ils mis à jour dans un environnement en air gap ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Les modèles sont généralement acquis et validés dans un environnement de préparation connecté, transférés via un processus approuvé et publiés dans un dépôt interne de modèles\u002Fartefacts.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq7\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">L&#39;IA sur site est-elle identique à l&#39;IA en air gap ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non. Sur site décrit l&#39;emplacement de l&#39;infrastructure. Les systèmes sur site peuvent rester connectés à Internet.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq8\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">L&#39;IA privée est-elle identique à l&#39;IA en air gap ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non. L&#39;IA privée concerne les exigences de données et de contrôle et peut encore utiliser une infrastructure connectée. L&#39;air gap décrit spécifiquement la séparation réseau\u002Fdomaine.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq9\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Un air gap rend-il l&#39;IA sécurisée ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Il supprime ou réduit certains risques de connectivité à distance, mais n&#39;élimine pas les risques liés à la chaîne d&#39;approvisionnement, aux supports amovibles, aux menaces internes, à l&#39;autorisation interne, aux risques physiques ou aux comportements du modèle.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq10\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Quel est le meilleur test pour la préparation à l&#39;air gap ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Déployer ou démarrer à froid la pile complète dans un environnement propre avec toute connectivité externe indisponible et vérifier que les modèles, l&#39;identité, le RAG, les outils, la surveillance, les mises à jour et la récupération dépendent uniquement d&#39;artefacts et de services internes approuvés.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-152\">Glossaire\u003C\u002Fh2>\n\u003Csection class=\"editorjs-glossary my-6 rounded-xl border border-gray-200 dark:border-gray-700 p-5\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Termes clés de l'IA en air gap\u003C\u002Fh3>\u003Cdl>\u003Cdiv id=\"air-gap\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Air gap\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Interface de domaine de sécurité où les systèmes ne sont pas physiquement connectés et tout transfert logique transfrontalier est non automatisé\u002Fmanuel selon la définition du glossaire du NIST.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"air-gapped-ai\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">IA en air gap\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Système d'IA déployé à l'intérieur d'un domaine de sécurité en air gap avec des dépendances d'inférence et d'exploitation disponibles localement.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"disconnected-environment\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Environnement déconnecté\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Environnement de déploiement sans accès direct à Internet ; les implémentations peuvent utiliser des workflows contrôlés de miroir ou de bastion.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"offline-capable-ai\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">IA capable de fonctionner hors ligne\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Application d'IA capable de fonctionner pour tout ou partie de ses fonctions sans connectivité Internet, sans nécessairement être isolée en permanence.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"local-ai\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">IA locale\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Inférence ou exécution d'IA sur du matériel local plutôt que sur un point de terminaison de modèle distant ; n'implique pas l'isolation réseau.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mirror-registry\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Registre miroir\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Dépôt interne contenant des copies approuvées d'images de conteneurs ou d'autres artefacts nécessaires à un déploiement déconnecté.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"staging-environment\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Environnement de préparation\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Zone connectée ou contrôlée où les artefacts sont acquis, vérifiés et préparés avant leur transfert vers un domaine isolé.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"controlled-transfer\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Transfert contrôlé\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Mouvement gouverné de données ou de logiciels à travers la frontière d'isolation à l'aide de supports\u002Fprocessus approuvés et de vérification.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"artifact-provenance\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Provenance des artefacts\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Informations indiquant l'origine d'un modèle, d'un package, d'un conteneur ou d'un autre artefact importé et la manière dont il a été produit ou vérifié.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"removable-media\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Support amovible\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Stockage portable utilisé pour transférer des données entre systèmes ; un chemin de sécurité potentiel à travers des domaines déconnectés.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"internal-model-store\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Magasin de modèles interne\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Dépôt à l'intérieur de l'environnement isolé à partir duquel les artefacts de modèles approuvés sont servis ou déployés.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"air-gap-readiness\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Préparation à l'air gap\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Capacité démontrée de la pile d'IA complète à s'installer, démarrer, fonctionner, se mettre à jour et récupérer sans connectivité externe non approuvée.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-154\">Conclusion\u003C\u002Fh2>\n\u003Cp>L'IA en air gap n'est pas un type particulier de modèle. C'est une architecture d'IA fonctionnant à l'intérieur d'un domaine de sécurité délibérément isolé.\u003C\u002Fp>\n\u003Cp>Le modèle peut être la partie facile. La préparation à la production dépend de la capacité de chaque dépendance environnante — actifs de modèles, packages, registres, identité, RAG, outils, surveillance, mises à jour et récupération — à fonctionner sans chemin externe automatisé.\u003C\u002Fp>\n\u003Cp>La règle fiable la plus courte est la suivante : l'inférence locale prouve où le modèle s'exécute ; les preuves d'air gap prouvent comment le système complet est séparé et comment chaque transfert autorisé franchit cette frontière.\u003C\u002Fp>\n\u003Ch2 id=\"section-158\">Sources primaires et références d'implémentation actuelles\u003C\u002Fh2>\n\u003Cp>Les sources ci-dessous établissent la définition de sécurité, les modèles actuels de déploiement d'IA déconnectée et les risques du cycle de vie. L'utilisation du terme « air-gapped » par les fournisseurs est intentionnellement distinguée de la définition plus stricte du NIST.\u003C\u002Fp>\n\u003Ca href=\"https:\u002F\u002Fcsrc.nist.gov\u002Fglossary\u002Fterm\u002Fair_gap\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NIST CSRC — Air gap\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Définition du glossaire du NIST : systèmes physiquement déconnectés avec transfert logique non automatisé et contrôlé manuellement à travers la frontière.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdocs.nvidia.com\u002Fnim\u002Flarge-language-models\u002Flatest\u002Fdeploy-air-gap.html\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NVIDIA NIM — Déploiement en air gap\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Conseils opérationnels actuels pour préparer les actifs de modèles sur un système connecté et exécuter NIM depuis un stockage local sans Internet, registres publics ni clés d&#39;API cloud.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdocs.redhat.com\u002Fen\u002Fdocumentation\u002Fred_hat_ai_inference\u002F3.5\u002Fhtml\u002Fdeploy_the_standalone_red_hat_ai_inference_container_in_a_disconnected_environment\u002Findex\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Red Hat AI Inference — Déploiement déconnecté\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Conseils actuels de Red Hat pour servir des LLM dans des environnements déconnectés avec des artefacts miroir et une infrastructure interne.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdocs.redhat.com\u002Fen\u002Fdocumentation\u002Fred_hat_ai_inference\u002F3.5\u002Fhtml\u002Fdeploy_the_standalone_red_hat_ai_inference_container_in_a_disconnected_environment\u002Fstoring-models-in-disconnected-environments_disconnected-deploy\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Red Hat AI Inference — Stockage des modèles dans des environnements déconnectés\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Recommandations actuelles couvrant les images de modèles OCI, le stockage persistant des modèles et les limitations des modèles nécessitant du code distant.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.nsa.gov\u002Fportals\u002F75\u002Fdocuments\u002Fwhat-we-do\u002Fcybersecurity\u002Fprofessional-resources\u002Fctr-nsa-css-technical-cyber-threat-framework.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NSA — Cadre technique de cybermenace\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Cadre de menace identifiant explicitement la réplication par support amovible comme un vecteur d&#39;accès aux réseaux déconnectés ou isolés.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.nist.gov\u002Fpublications\u002Fguidelines-media-sanitization\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NIST SP 800-88 Rév. 1 — Lignes directrices pour l&#39;assainissement des supports\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Recommandations pour la gestion et l&#39;assainissement des supports de stockage selon les exigences de confidentialité des informations.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Fsp\u002F800\u002F40\u002Fr4\u002Ffinal\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NIST SP 800-40 Rév. 4 — Planification de la gestion des correctifs en entreprise\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Recommandations présentant la mise à jour et les correctifs comme une maintenance préventive pour les systèmes d&#39;entreprise.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.nist.gov\u002Fitl\u002Fexecutive-order-14028-improving-nations-cybersecurity\u002Fsoftware-security-supply-chains\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NIST — Sécurité logicielle dans les chaînes d&#39;approvisionnement\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Recommandations du NIST couvrant les risques liés à la chaîne d&#39;approvisionnement logicielle, la provenance, la vérification, les pratiques liées aux SBOM et la gestion des vulnérabilités.\u003C\u002Fp>\u003C\u002Fa>",{"time":212,"blocks":213,"version":1685},1791488288882,[214,220,228,235,241,248,256,261,266,271,276,281,286,291,296,301,333,338,343,348,353,358,396,401,406,411,446,453,458,496,501,506,511,516,521,526,531,536,541,546,551,556,561,566,571,609,614,619,624,629,634,639,644,649,654,663,668,673,678,683,688,693,698,703,708,713,718,723,728,733,738,743,748,753,758,763,768,773,778,783,788,818,823,828,833,838,843,848,853,858,863,868,873,878,883,889,927,932,937,942,947,952,996,1001,1006,1011,1016,1021,1064,1069,1074,1079,1084,1089,1094,1099,1104,1109,1115,1120,1125,1130,1156,1161,1187,1192,1197,1202,1244,1249,1305,1310,1354,1359,1397,1402,1407,1412,1417,1422,1427,1432,1437,1442,1447,1452,1457,1462,1467,1475,1480,1526,1531,1582,1587,1592,1597,1602,1607,1612,1622,1631,1640,1649,1658,1667,1676],{"id":215,"data":216,"type":218,"tunes":219},"intro",{"text":217},"L'IA en air gap est un système d'IA déployé à l'intérieur d'un domaine de sécurité qui n'a aucune connexion réseau physique avec les systèmes externes dont il est séparé, tout transfert au-delà de cette frontière étant effectué par des procédures délibérément contrôlées et non automatisées. Le modèle d'IA, le runtime, les données, les index de récupération, les outils et les dépendances opérationnelles nécessaires à l'inférence doivent donc être disponibles à l'intérieur de l'environnement isolé. L'IA en air gap n'est pas simplement « un modèle local » ou « un serveur sur site » : la propriété déterminante est la frontière réseau et de transfert autour du système complet.","paragraph",{},{"id":221,"data":222,"type":226,"tunes":227},"direct",{"body":223,"title":224,"variant":225},"Un système d'IA en air gap peut exécuter l'inférence LLM, le RAG, l'analyse de documents et même des workflows agentiques sans internet ni API cloud si chaque dépendance requise est disponible à l'intérieur du domaine isolé.\u003Cbr>\u003Cbr>Une architecture pratique est :\u003Cbr>\u003Cstrong>import contrôlé → dépôts internes d'artefacts\u002Fmodèles → runtime d'IA local → données\u002FRAG locaux → outils locaux → utilisateurs\u002Fservices internes → surveillance\u002Faudit locaux\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>La partie difficile n'est pas de faire répondre un LLM hors ligne. C'est d'exploiter l'ensemble du cycle de vie de l'IA — mises à jour, modèles, pilotes, paquets, imports de données, identifiants, journalisation et sécurité — sans dépendre silencieusement de services externes.","Réponse directe","info","callout",{},{"id":229,"data":230,"type":226,"tunes":234},"nist-boundary",{"body":231,"title":232,"variant":233},"Le glossaire de cybersécurité du NIST définit un air gap comme une interface où deux systèmes ne sont \u003Cstrong>pas physiquement connectés\u003C\u002Fstrong> et où tout transfert logique n'est \u003Cstrong>pas automatisé\u003C\u002Fstrong> ; les données ne franchissent la frontière que manuellement sous contrôle humain. La documentation des fournisseurs utilise parfois « air-gapped » ou « déconnecté » de manière plus large pour des environnements sans connexion à l'internet externe mais avec un réseau interne et une infrastructure de préparation contrôlée. La documentation d'architecture doit préciser quelle signification est réellement mise en œuvre.","L'air gap a une signification plus stricte que « pas d'internet »","warning",{},{"id":236,"data":237,"type":226,"tunes":240},"not-security",{"body":238,"title":239,"variant":233},"La suppression de la connectivité réseau directe élimine de nombreux chemins distants, mais elle n'élimine pas les supports amovibles malveillants, les imports de logiciels\u002Fmodèles compromis, les menaces internes, les services internes vulnérables, la compromission physique, l'injection de prompt via des documents importés ou les mouvements latéraux à l'intérieur du réseau isolé.","Air gap ne signifie pas sécurisé par définition",{},{"id":242,"data":243,"type":226,"tunes":247},"current",{"body":244,"title":245,"variant":246},"La documentation actuelle de NVIDIA NIM et de Red Hat AI Inference prend en charge le service LLM sans accès à l'internet externe en pré-positionnant les actifs de modèles et de conteneurs. NVIDIA documente une phase de préparation connectée suivie d'une phase d'exécution isolée avec des actifs locaux et sans identifiants de registre cloud. Red Hat utilise des dépôts miroirs de conteneurs\u002Fmodèles pour les environnements OpenShift déconnectés. Ce sont des exemples de mise en œuvre utiles, mais ils ne remplacent pas la définition plus stricte de l'air gap du NIST.","Note sur les sources actuelles — 8 octobre 2026","note",{},{"id":249,"data":250,"type":254,"tunes":255},"toc",{"title":251,"maxLevel":252,"minLevel":253},"Sommaire",3,2,"tableOfContents",{},{"id":257,"data":258,"type":42,"tunes":260},"h-meaning",{"text":259,"level":253},"Ce que signifie réellement l'IA en air gap",{},{"id":262,"data":263,"type":218,"tunes":265},"p-meaning-1",{"text":264},"Le mot IA ne change pas le concept de sécurité de base. Un air gap est une frontière entre domaines de sécurité. L'IA rend simplement le côté isolé plus exigeant sur le plan opérationnel, car les piles d'IA modernes supposent normalement des modèles téléchargeables, des registres de paquets, de la télémétrie, des API, des hubs de modèles et des mises à jour logicielles fréquentes.",{},{"id":267,"data":268,"type":218,"tunes":270},"p-meaning-2",{"text":269},"L'environnement isolé peut néanmoins contenir de nombreuses machines connectées. Un cluster interne peut avoir des GPU, des serveurs d'application, du stockage, des bases de données, des services d'identité et de surveillance connectés les uns aux autres. L'air gap existe entre cette enclave et le domaine extérieur.",{},{"id":272,"data":273,"type":218,"tunes":275},"p-meaning-3",{"text":274},"La question pertinente n'est donc pas « Ce GPU a-t-il le Wi-Fi ? » mais « Cet environnement d'IA peut-il échanger des informations avec le domaine externe par un chemin physique ou logique automatisé ? »",{},{"id":277,"data":278,"type":42,"tunes":280},"h-simple",{"text":279,"level":253},"L'exemple le plus simple",{},{"id":282,"data":283,"type":218,"tunes":285},"p-simple-1",{"text":284},"Imaginez qu'une entreprise souhaite un assistant interne pour des documents techniques confidentiels, mais que l'environnement n'est pas autorisé à envoyer ces documents sur internet.",{},{"id":287,"data":288,"type":218,"tunes":290},"p-simple-2",{"text":289},"L'entreprise télécharge un LLM approuvé, un modèle d'embedding, des images de conteneurs et des paquets logiciels dans un environnement de préparation connecté. Après validation, les artefacts approuvés sont transférés dans l'environnement isolé.",{},{"id":292,"data":293,"type":218,"tunes":295},"p-simple-3",{"text":294},"À l'intérieur de l'enclave, le serveur de modèles, l'analyseur de documents, la base de données vectorielle, l'application et les services d'identité s'exécutent localement. Les utilisateurs peuvent poser des questions et utiliser le RAG sur des documents internes sans modèle cloud ni registre de modèles public.",{},{"id":297,"data":298,"type":218,"tunes":300},"p-simple-4",{"text":299},"Lorsqu'une mise à jour est nécessaire, celle-ci repasse par le processus d'import contrôlé plutôt que d'être téléchargée directement par le serveur d'IA de production.",{},{"id":302,"data":303,"type":331,"tunes":332},"simple-flow",{"steps":304,"title":329,"orientation":330},[305,308,311,314,317,320,323,326],{"label":306,"description":307},"1. Acquérir en dehors de l'enclave","Télécharger les modèles, paquets, conteneurs, pilotes, signatures et documentations approuvés dans un environnement de préparation connecté.",{"label":309,"description":310},"2. Vérifier avant le transfert","Contrôler la provenance, les signatures\u002Fsommes de contrôle, l'état malveillant, les licences et la compatibilité conformément à la politique de l'organisation.",{"label":312,"description":313},"3. Transférer via une frontière contrôlée","Déplacer les artefacts approuvés à l'aide du processus manuel ou médiatisé autorisé.",{"label":315,"description":316},"4. Publier en interne","Placer les artefacts dans des dépôts internes de modèles, conteneurs, paquets ou fichiers.",{"label":318,"description":319},"5. Déployer localement","Exécuter l'inférence, le RAG, les applications et les outils sans dépendances externes.",{"label":321,"description":322},"6. Surveiller à l'intérieur de l'enclave","Collecter localement les journaux, métriques, états des modèles\u002Fruntime et événements de sécurité.",{"label":324,"description":325},"7. Exporter uniquement les preuves approuvées","Déplacer les rapports ou artefacts sélectionnés vers l'extérieur via le processus contrôlé inverse lorsque la politique le permet.",{"label":327,"description":328},"8. Répéter pour les mises à jour","Traiter les nouveaux modèles, correctifs, corpus et dépendances comme de nouveaux imports de la chaîne d'approvisionnement.","Un cycle opérationnel de base pour l'IA en air gap","auto","processFlow",{},{"id":334,"data":335,"type":42,"tunes":337},"h-stops",{"text":336,"level":253},"Où l'exemple simple s'arrête",{},{"id":339,"data":340,"type":218,"tunes":342},"p-stops-1",{"text":341},"Un environnement de production en air gap peut être bien plus vaste qu'un seul poste de travail. Il peut inclure Kubernetes\u002FOpenShift, des registres internes, du stockage objet, des fournisseurs d'identité, des bases de données vectorielles, de l'observabilité, une infrastructure de sauvegarde et plusieurs nœuds de service de modèles.",{},{"id":344,"data":345,"type":218,"tunes":347},"p-stops-2",{"text":346},"Plus il y a de services à l'intérieur de l'enceinte, plus l'organisation doit reproduire des capacités que les environnements connectés consomment normalement depuis Internet.",{},{"id":349,"data":350,"type":218,"tunes":352},"p-stops-3",{"text":351},"L'isolation réseau déplace donc la complexité. Elle réduit la connectivité externe directe mais augmente la gestion des artefacts, des correctifs, des dépendances, de la chaîne d'approvisionnement et des responsabilités opérationnelles à l'intérieur du domaine isolé.",{},{"id":354,"data":355,"type":42,"tunes":357},"h-terms",{"text":356,"level":253},"IA isolée vs hors ligne vs locale vs sur site vs privée vs souveraine",{},{"id":359,"data":360,"type":394,"tunes":395},"terms-table",{"content":361,"stretched":43,"withHeadings":14},[362,366,370,374,378,382,386,390],[363,364,365],"Terme","Ce qu'il décrit principalement","Connectivité Internet\u002Fexterne requise ?",[367,368,369],"IA locale","L'inférence\u002Fl'exécution s'effectue sur du matériel local","Non ; mais elle peut toujours appeler des services cloud",[371,372,373],"IA capable de fonctionner hors ligne","Peut continuer à fonctionner sans Internet","Non pendant le fonctionnement hors ligne ; la reconnexion peut être normale",[375,376,377],"Environnement déconnecté","Aucun chemin direct vers Internet externe depuis l'environnement de déploiement","Généralement non ; peut utiliser des miroirs\u002Fbastions contrôlés",[379,380,381],"IA sur site","L'infrastructure s'exécute dans l'environnement propre\u002Fsur site d'une organisation","Peut toujours disposer d'une connectivité Internet complète",[383,384,385],"IA privée","Le traitement de l'IA est contrôlé pour répondre aux exigences de confidentialité\u002Fvie privée","Spécifique à l'architecture ; peut être connectée ou déconnectée",[387,388,389],"IA isolée","Les domaines de sécurité sont physiquement déconnectés et le transfert transfrontalier est non automatisé\u002Fmanuel selon une définition stricte","Aucun chemin externe automatisé",[391,392,393],"IA souveraine","Contrôle\u002Fjuridiction sur les modèles, les données, l'infrastructure et les dépendances","Pas nécessairement ; la souveraineté est plus large que l'isolation réseau","table",{},{"id":397,"data":398,"type":218,"tunes":400},"p-terms-1",{"text":399},"Ces termes peuvent se chevaucher mais ne sont pas synonymes. Un serveur Ollama local connecté à Internet est de l'IA locale, pas de l'IA isolée. Une plateforme RAG sur site qui appelle un modèle cloud est une infrastructure applicative sur site avec inférence cloud, pas de l'IA isolée.",{},{"id":402,"data":403,"type":218,"tunes":405},"p-terms-2",{"text":404},"Un système isolé est souvent privé par conception car les données restent à l'intérieur de l'enceinte, mais la confidentialité dépend aussi de l'autorisation, de la journalisation, du traitement des données, de la sécurité physique et de la politique opérationnelle.",{},{"id":407,"data":408,"type":42,"tunes":410},"h-strict",{"text":409,"level":253},"Isolation stricte vs déploiement déconnecté pratique",{},{"id":412,"data":413,"type":444,"tunes":445},"strict-comparison",{"rows":414,"title":436,"layout":394,"columns":437},[415,420,424,428,432],{"id":416,"label":417,"values":418},"physical","Connexion physique externe",[419,419],"",{"id":421,"label":422,"values":423},"transfer","Transfert transfrontalier",[419,419],{"id":425,"label":426,"values":427},"internet","Accès Internet depuis la charge de travail IA",[419,419],{"id":429,"label":430,"values":431},"internalnet","Réseautage interne",[419,419],{"id":433,"label":434,"values":435},"best","Utiliser le terme quand",[419,419],"Deux significations souvent appelées « isolées »",[438,441],{"id":439,"label":440},"strict","Isolation stricte",{"id":442,"label":443},"disconnected","Déploiement déconnecté \u002F sans Internet","comparison",{},{"id":447,"data":448,"type":226,"tunes":452},"naming-rule",{"body":449,"title":450,"variant":451},"Pour les revues d'architecture et de sécurité, écrivez la règle réelle : \u003Cstrong>aucun accès Internet sortant\u003C\u002Fstrong>, \u003Cstrong>aucun chemin réseau physique externe\u003C\u002Fstrong>, \u003Cstrong>transfert manuel uniquement\u003C\u002Fstrong>, ou \u003Cstrong>cluster déconnecté avec bastion\u002Fmiroir approuvé\u003C\u002Fstrong>. C'est plus précis que de dire seulement « isolé ».","Documentez la frontière au lieu de vous fier à l'étiquette","success",{},{"id":454,"data":455,"type":42,"tunes":457},"h-architecture",{"text":456,"level":253},"Une architecture d'IA isolée pratique",{},{"id":459,"data":460,"type":394,"tunes":495},"architecture-table",{"content":461,"stretched":43,"withHeadings":14},[462,465,468,471,474,477,480,483,486,489,492],[463,464],"Couche","Ce qui doit exister à l'intérieur de l'environnement isolé",[466,467],"Couche utilisateur\u002Fapplication","Interface de chat, API, application métier ou interface d'agent interne",[469,470],"Identité &amp; autorisation","Authentification locale\u002Finterne, RBAC, permissions de locataire\u002Fressource",[472,473],"Passerelle\u002Fexécution IA","Routage de modèle, politique de requête, assemblage de contexte et contrôles d'exécution",[475,476],"Service de modèles","Serveur(s) de modèles local(aux), poids, tokenizer\u002Fconfig et exécution d'accélérateur",[478,479],"RAG \u002F connaissance","Stockage de documents, analyseur, embeddings, index vectoriels\u002Flexicaux, métadonnées et provenance",[481,482],"Outils\u002Fservices","Uniquement les API internes\u002Flocales et les systèmes approuvés accessibles depuis l'enceinte",[484,485],"Dépôts d'artefacts","Registre de conteneurs local, miroir de paquets, stockage de modèles et éventuellement dépôts OS\u002Fmises à jour",[487,488],"Observabilité","Journaux, métriques, traces et enregistrements d'audit internes",[490,491],"Sauvegarde\u002Frécupération","Processus de sauvegarde local ou contrôlé séparément, adapté au domaine de sécurité",[493,494],"Frontière de transfert","Processus d'import\u002Fexport contrôlé avec inspection et approbation",{},{"id":497,"data":498,"type":218,"tunes":500},"p-architecture-1",{"text":499},"Une architecture complète doit pouvoir démarrer et fonctionner sans résolutions DNS, vérifications de licence, téléchargements de paquets ou appels API vers des services publics, sauf si ces dépendances ont des remplacements internes approuvés.",{},{"id":502,"data":503,"type":218,"tunes":505},"p-architecture-2",{"text":504},"Un test de conception utile consiste à déconnecter le déploiement de tout service externe et à démarrer la pile à froid. Les dépendances cachées ont tendance à apparaître lors du démarrage, du chargement du modèle, de l'authentification, de la résolution des paquets ou de l'initialisation de la télémétrie.",{},{"id":507,"data":508,"type":42,"tunes":510},"h-models",{"text":509,"level":253},"Les modèles doivent être pré-stockés",{},{"id":512,"data":513,"type":218,"tunes":515},"p-models-1",{"text":514},"Les API de modèles cloud sont indisponibles par définition si la charge de travail isolée n'a aucun chemin vers elles. L'enceinte a donc besoin d'artefacts de modèles exécutables localement ou d'un service d'inférence hébergé en interne.",{},{"id":517,"data":518,"type":218,"tunes":520},"p-models-2",{"text":519},"La documentation actuelle de NVIDIA sur l'isolation NIM utilise explicitement un modèle en deux phases : télécharger et préparer les ressources du modèle sur une machine connectée, les transférer, puis exécuter le NIM isolé depuis le stockage local sans accès sortant au registre ni clés API cloud.",{},{"id":522,"data":523,"type":218,"tunes":525},"p-models-3",{"text":524},"Les poids du modèle ne sont qu'une partie de l'ensemble des dépendances. Les tokenizers, fichiers de configuration, adaptateurs, métadonnées de quantification et tout code d'exécution requis doivent également être présents.",{},{"id":527,"data":528,"type":42,"tunes":530},"h-remote-code",{"text":529,"level":253},"Les modèles avec des dépendances de code distant sont un risque pour l'isolation",{},{"id":532,"data":533,"type":218,"tunes":535},"p-remote-1",{"text":534},"Certains dépôts de modèles contiennent du code Python personnalisé ou des hooks d'exécution qui récupèrent normalement du code ou des ressources supplémentaires.",{},{"id":537,"data":538,"type":218,"tunes":540},"p-remote-2",{"text":539},"La documentation actuelle de Red Hat AI Inference avertit explicitement que certains modèles Hugging Face nécessitant du code distant ne peuvent pas fonctionner normalement dans des environnements déconnectés, car la bibliothèque tente d'accéder au réseau même lorsque le mode hors ligne est configuré.",{},{"id":542,"data":543,"type":218,"tunes":545},"p-remote-3",{"text":544},"La leçon pratique est de tester l'intégralité du chemin de chargement d'un modèle hors ligne avant de l'approuver pour un déploiement isolé. « J'ai téléchargé les poids » ne prouve pas que le modèle est autonome.",{},{"id":547,"data":548,"type":42,"tunes":550},"h-artifacts",{"text":549,"level":253},"Les conteneurs, paquets et pilotes deviennent des artefacts locaux de la chaîne d'approvisionnement",{},{"id":552,"data":553,"type":218,"tunes":555},"p-artifacts-1",{"text":554},"Les environnements connectés récupèrent régulièrement des images de conteneurs, des paquets Python, des mises à jour du système d'exploitation et des composants GPU depuis des registres publics. Un environnement isolé du réseau ne peut compter sur aucun de ces services.",{},{"id":557,"data":558,"type":218,"tunes":560},"p-artifacts-2",{"text":559},"Le modèle de déploiement IA déconnecté de Red Hat utilise des registres miroirs internes pour les images de conteneurs et les catalogues d'opérateurs. Les modèles peuvent être mis en miroir en tant qu'artefacts OCI ou transférés vers un stockage persistant.",{},{"id":562,"data":563,"type":218,"tunes":565},"p-artifacts-3",{"text":564},"Pour des piles plus larges, le même schéma s'applique souvent aux paquets de langage, aux dépôts Linux, aux paquets JavaScript et aux binaires internes : les artefacts approuvés entrent une fois par le processus de transfert, puis sont servis depuis des dépôts internes de confiance.",{},{"id":567,"data":568,"type":42,"tunes":570},"h-bom",{"text":569,"level":253},"Connaître la facture complète des dépendances",{},{"id":572,"data":573,"type":394,"tunes":608},"dependency-table",{"content":574,"stretched":43,"withHeadings":14},[575,578,581,584,587,590,593,596,599,602,605],[576,577],"Classe de dépendance","Exemples",[579,580],"Artefacts de modèle","Poids, tokenizer, configuration, adaptateurs, métadonnées de quantification",[582,583],"Runtime d'inférence","vLLM, llama.cpp, Ollama, NIM ou autre runtime de service",[585,586],"Pile GPU\u002Fruntime","Pilotes, bibliothèques CUDA\u002FROCm, runtime de conteneur",[588,589],"Paquets applicatifs","Wheels Python, paquets npm, bibliothèques système",[591,592],"Conteneurs","Images d'application, d'inférence, de base de données, de base de données vectorielle, de supervision",[594,595],"Modèles RAG","Modèle d'embedding, reranker, modèles OCR\u002Fvision",[597,598],"Données","Corpus de connaissances, métadonnées, schémas, jeux de données d'évaluation",[600,601],"Matériel de sécurité","Certificats, bundles de CA, politique\u002Fconfiguration, signatures de malwares le cas échéant",[603,604],"Artefacts opérationnels","Tableaux de bord, règles d'alerte, outils de sauvegarde, runbooks",[606,607],"Licences","Licences\u002Fdroits compatibles hors ligne lorsque requis",{},{"id":610,"data":611,"type":42,"tunes":613},"h-mirror",{"text":612,"level":253},"Les miroirs internes sont une infrastructure, pas une commodité",{},{"id":615,"data":616,"type":218,"tunes":618},"p-mirror-1",{"text":617},"Un déploiement déconnecté devient maintenable lorsque le domaine isolé dispose de sources internes connues pour les artefacts approuvés.",{},{"id":620,"data":621,"type":218,"tunes":623},"p-mirror-2",{"text":622},"L'approche documentée de Red Hat utilise un registre miroir accessible au cluster déconnecté afin que les charges de travail n'aient pas besoin de registres publics.",{},{"id":625,"data":626,"type":218,"tunes":628},"p-mirror-3",{"text":627},"La même idée architecturale peut être appliquée aux magasins de modèles et aux dépôts de paquets. L'objectif est de rendre explicites l'origine, la version et l'approbation des artefacts plutôt que de copier manuellement des fichiers aléatoires sur chaque serveur.",{},{"id":630,"data":631,"type":42,"tunes":633},"h-rag",{"text":632,"level":253},"Le RAG peut fonctionner entièrement en air-gapped",{},{"id":635,"data":636,"type":218,"tunes":638},"p-rag-1",{"text":637},"Le RAG ne nécessite pas l'internet public. Il nécessite un corpus récupérable, un pipeline d'ingestion\u002Findexation et un modèle capable d'utiliser le contexte récupéré.",{},{"id":640,"data":641,"type":218,"tunes":643},"p-rag-2",{"text":642},"Dans un environnement air-gapped, le stockage de documents, le parseur\u002FOCR, le modèle d'embedding, l'index vectoriel ou lexical, le reranker et le modèle de génération peuvent tous fonctionner localement.",{},{"id":645,"data":646,"type":218,"tunes":648},"p-rag-3",{"text":647},"Ce qui change, c'est l'acquisition des sources. La recherche web en direct et les connecteurs de documents cloud ne sont pas disponibles, sauf si des données équivalentes sont importées via la frontière contrôlée.",{},{"id":650,"data":651,"type":218,"tunes":653},"p-rag-4",{"text":652},"Le corpus devient donc un artefact gouverné. Chaque importation doit préserver l'identité de la source, la date\u002Fversion et la provenance afin que les utilisateurs sachent quelles connaissances le système isolé contient réellement.",{},{"id":655,"data":656,"type":661,"tunes":662},"ref-rag",{"url":657,"title":658,"excerpt":659,"ctaLabel":660},"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works","Qu'est-ce que le RAG ? L'explication la plus simple de son fonctionnement","Le RAG lui-même est indépendant de l'hébergement cloud. Dans une architecture isolée, la récupération et la génération doivent simplement être fournies par des composants locaux\u002Finternes.","Lire les fondements du RAG","referralArticle",{},{"id":664,"data":665,"type":42,"tunes":667},"h-agents",{"text":666,"level":253},"Les agents peuvent fonctionner en environnement isolé — mais uniquement avec des outils accessibles",{},{"id":669,"data":670,"type":218,"tunes":672},"p-agents-1",{"text":671},"Une boucle d'agent peut s'exécuter entièrement à l'intérieur d'une enclave isolée si le modèle\u002Fenvironnement d'exécution et les outils requis sont locaux ou accessibles sur le réseau interne.",{},{"id":674,"data":675,"type":218,"tunes":677},"p-agents-2",{"text":676},"Un outil qui dépend de GitHub, d'une recherche web publique, d'un e-mail cloud ou d'une API SaaS externe échouera, sauf si l'architecture fournit un équivalent interne approuvé ou un processus d'échange asynchrone contrôlé.",{},{"id":679,"data":680,"type":218,"tunes":682},"p-agents-3",{"text":681},"C'est pourquoi la conception d'agents en environnement isolé doit commencer par un inventaire des capacités : chaque point de terminaison d'outil doit être classé comme interne, importé, indisponible ou délibérément exclu.",{},{"id":684,"data":685,"type":42,"tunes":687},"h-mcp",{"text":686,"level":253},"Le MCP ne contourne pas l'isolement",{},{"id":689,"data":690,"type":218,"tunes":692},"p-mcp-1",{"text":691},"Le MCP peut exposer des outils et des ressources locales au sein d'un environnement d'IA isolé, mais le protocole ne crée pas de connectivité à travers la frontière de sécurité.",{},{"id":694,"data":695,"type":218,"tunes":697},"p-mcp-2",{"text":696},"Un serveur MCP local qui lit des documents internes peut fonctionner parfaitement hors ligne. Un serveur MCP distant sur l'internet public ne peut pas être atteint depuis une enclave strictement isolée.",{},{"id":699,"data":700,"type":218,"tunes":702},"p-mcp-3",{"text":701},"Le même principe s'applique à tout protocole de connexion : l'interopérabilité est distincte de l'autorité réseau.",{},{"id":704,"data":705,"type":42,"tunes":707},"h-identity",{"text":706,"level":253},"L'identité et l'authentification doivent également fonctionner hors ligne",{},{"id":709,"data":710,"type":218,"tunes":712},"p-id-1",{"text":711},"Une application d'IA peut être hébergée localement tout en dépendant d'un fournisseur d'identité cloud. Cette dépendance cachée empêche un fonctionnement véritablement déconnecté.",{},{"id":714,"data":715,"type":218,"tunes":717},"p-id-2",{"text":716},"Les conceptions isolées nécessitent donc une architecture d'identité qui fonctionne à l'intérieur de l'enclave : annuaire local, fournisseur d'identité interne, PKI interne, informations d'identification de service locales ou tout autre mécanisme approuvé.",{},{"id":719,"data":720,"type":218,"tunes":722},"p-id-3",{"text":721},"L'autorisation reste nécessaire même en l'absence d'internet. L'isolement ne remplace pas le RBAC, l'isolation des locataires ni le principe du moindre privilège.",{},{"id":724,"data":725,"type":42,"tunes":727},"h-time",{"text":726,"level":253},"Le temps, les certificats et les magasins de confiance deviennent des dépendances locales",{},{"id":729,"data":730,"type":218,"tunes":732},"p-time-1",{"text":731},"De nombreux systèmes d'authentification et de journalisation dépendent d'une heure fiable. Les certificats expirent. Les magasins de confiance changent. Les artefacts signés nécessitent une validation.",{},{"id":734,"data":735,"type":218,"tunes":737},"p-time-2",{"text":736},"Une enclave déconnectée doit donc disposer d'une synchronisation horaire interne et d'un cycle de vie des certificats et de la confiance qui ne dépend pas de l'accès aux services publics lors du fonctionnement ordinaire.",{},{"id":739,"data":740,"type":218,"tunes":742},"p-time-3",{"text":741},"Ce sont des préoccupations d'infrastructure ordinaires qui ne deviennent visibles que lorsqu'une architecture est testée sans accès à internet.",{},{"id":744,"data":745,"type":42,"tunes":747},"h-telemetry",{"text":746,"level":253},"La télémétrie et les rapports de plantage nécessitent une politique explicite",{},{"id":749,"data":750,"type":218,"tunes":752},"p-tel-1",{"text":751},"De nombreuses bibliothèques modernes tentent d'effectuer des analyses, des vérifications de mise à jour ou des rapports d'erreurs par défaut.",{},{"id":754,"data":755,"type":218,"tunes":757},"p-tel-2",{"text":756},"Dans un environnement isolé, ces appels devraient être soit désactivés, soit redirigés vers une observabilité interne. Des tentatives de télémétrie échouées à répétition peuvent créer des délais, des journaux bruyants et un comportement de démarrage inattendu.",{},{"id":759,"data":760,"type":218,"tunes":762},"p-tel-3",{"text":761},"Un déploiement en air-gapped devrait savoir quels composants tentent une sortie réseau même si le pare-feu les bloquait.",{},{"id":764,"data":765,"type":42,"tunes":767},"h-updates",{"text":766,"level":253},"Les systèmes air-gapped ont toujours besoin de correctifs",{},{"id":769,"data":770,"type":218,"tunes":772},"p-update-1",{"text":771},"L'isolation réseau n'empêche pas les logiciels de développer des vulnérabilités. Elle change seulement la façon dont les correctifs atteignent le système.",{},{"id":774,"data":775,"type":218,"tunes":777},"p-update-2",{"text":776},"Le NIST présente la gestion des correctifs comme une maintenance préventive : les organisations doivent toujours identifier, acquérir, prioriser, installer et vérifier les correctifs et mises à jour.",{},{"id":779,"data":780,"type":218,"tunes":782},"p-update-3",{"text":781},"Les opérations air-gapped nécessitent donc une cadence d'importation reproductible pour les paquets du système d'exploitation, les images de conteneurs, les pilotes, les environnements d'exécution d'IA et les mises à jour de sécurité. Le compromis se situe entre la stabilité de l'isolation et l'exposition aux vulnérabilités due à des logiciels obsolètes.",{},{"id":784,"data":785,"type":42,"tunes":787},"h-patch-flow",{"text":786,"level":253},"Un chemin de mise à jour contrôlé",{},{"id":789,"data":790,"type":331,"tunes":817},"patch-flow",{"steps":791,"title":816,"orientation":330},[792,795,798,801,804,807,810,813],{"label":793,"description":794},"1. Identifier la mise à jour requise","Un avis de sécurité, une amélioration du modèle\u002Fd'environnement d'exécution ou un besoin opérationnel déclenche le changement.",{"label":796,"description":797},"2. Acquérir dans un environnement de préparation connecté","Télécharger les versions exactes ainsi que les signatures\u002Fsommes de contrôle et les métadonnées.",{"label":799,"description":800},"3. Valider les preuves de la chaîne d'approvisionnement","Vérifier la source, l'intégrité, la compatibilité et les exigences de politique.",{"label":802,"description":803},"4. Tester dans un environnement de préparation hors ligne représentatif","Confirmer que la mise à jour fonctionne sans dépendances réseau inattendues.",{"label":805,"description":806},"5. Approuver le transfert","Appliquer le processus de changement et de sécurité de l'organisation.",{"label":808,"description":809},"6. Importer dans le référentiel de l'enceinte","Publier l'artefact vers la source interne de confiance.",{"label":811,"description":812},"7. Déployer progressivement","Appliquer aux nœuds de test\u002Fcanari avant un déploiement plus large lorsque l'architecture le permet.",{"label":814,"description":815},"8. Vérifier et enregistrer","Confirmer la version, l'état de santé, le comportement et l'état de restauration.","Exemple de cycle de vie de mise à jour pour un environnement d'IA isolé",{},{"id":819,"data":820,"type":42,"tunes":822},"h-transfer",{"text":821,"level":253},"La frontière de transfert est l'interface opérationnelle la plus sensible",{},{"id":824,"data":825,"type":218,"tunes":827},"p-transfer-1",{"text":826},"Si des informations externes doivent entrer dans un système air-gapped, le canal d'importation devient un point de contrôle de sécurité majeur.",{},{"id":829,"data":830,"type":218,"tunes":832},"p-transfer-2",{"text":831},"Le cadre de cybermenace technique de cybersécurité de la NSA reconnaît explicitement la réplication via des supports amovibles comme un chemin que les adversaires peuvent utiliser pour pénétrer dans des réseaux déconnectés ou air-gapped.",{},{"id":834,"data":835,"type":218,"tunes":837},"p-transfer-3",{"text":836},"C'est pourquoi la gestion contrôlée des supports, l'inspection, la provenance, le chiffrement lorsque nécessaire, l'analyse des logiciels malveillants et la séparation des rôles peuvent être aussi importants que la pile d'IA elle-même.",{},{"id":839,"data":840,"type":42,"tunes":842},"h-media",{"text":841,"level":253},"Les supports amovibles ne sont pas un conduit neutre",{},{"id":844,"data":845,"type":218,"tunes":847},"p-media-1",{"text":846},"Les clés USB et autres supports portables peuvent contenir à la fois des artefacts légitimes de modèles\u002Fdonnées et du contenu malveillant.",{},{"id":849,"data":850,"type":218,"tunes":852},"p-media-2",{"text":851},"Les directives du NIST sur l'assainissement des supports traitent les supports de stockage comme un objet de cycle de vie de confidentialité qui peut nécessiter un effacement, une purge ou une destruction selon la sensibilité et les besoins de réutilisation.",{},{"id":854,"data":855,"type":218,"tunes":857},"p-media-3",{"text":856},"La procédure exacte de transfert est propre à chaque organisation, mais le principe architectural est stable : les supports franchissant les frontières doivent être gouvernés comme un actif de sécurité, et non traités comme une commodité informelle.",{},{"id":859,"data":860,"type":42,"tunes":862},"h-supply",{"text":861,"level":253},"L'air-gapping accroît l'importance de la chaîne d'approvisionnement",{},{"id":864,"data":865,"type":218,"tunes":867},"p-supply-1",{"text":866},"Un système isolé reçoit moins d'entrées externes actives, mais chaque binaire, modèle, conteneur et paquet importé devient plus important car l'enceinte peut lui faire confiance pendant longtemps.",{},{"id":869,"data":870,"type":218,"tunes":872},"p-supply-2",{"text":871},"Les directives du NIST sur la chaîne d'approvisionnement logicielle mettent l'accent sur la provenance, le risque fournisseur, la gestion des vulnérabilités, la vérification logicielle et les pratiques orientées SBOM. Ces préoccupations deviennent directement pertinentes pour l'importation hors ligne d'artefacts d'IA.",{},{"id":874,"data":875,"type":218,"tunes":877},"p-supply-3",{"text":876},"La chaîne d'approvisionnement des modèles mérite la même attention que celle des applications : l'origine du modèle, la licence, le hachage, le format, le code requis, le tokenizer, les adaptateurs et le statut d'évaluation doivent être connus avant l'importation.",{},{"id":879,"data":880,"type":42,"tunes":882},"h-readiness",{"text":881,"level":253},"La préparation à l'air gap doit être testée, pas supposée",{},{"id":884,"data":885,"type":226,"tunes":888},"readiness-note",{"body":886,"title":887,"variant":246},"Le test de préparation à l'air gap suivant est une synthèse d'ingénierie, et non une méthode de certification NIST ou d'un fournisseur. Il est conçu pour exposer les dépendances externes cachées avant le déploiement.","Modèle de validation proposé",{},{"id":890,"data":891,"type":394,"tunes":926},"readiness-table",{"content":892,"stretched":43,"withHeadings":14},[893,896,899,902,905,908,911,914,917,920,923],[894,895],"Test","Ce qu'il prouve",[897,898],"Démarrage à froid avec tout le réseau sortant bloqué","Le runtime ne nécessite pas de services publics au démarrage",[900,901],"Charger chaque modèle approuvé depuis le stockage local","Les poids\u002Ftokenizers\u002Fconfigs sont complets",[903,904],"Reconstruire\u002Fredéployer uniquement depuis les registres internes","Les miroirs de conteneurs\u002Fpaquets sont suffisants",[906,907],"Authentifier les utilisateurs lorsque l'IdP externe est inaccessible","L'identité fonctionne à l'intérieur de l'enceinte",[909,910],"Exécuter l'ingestion et les requêtes RAG hors ligne","La pile d'embedding\u002Findexation\u002Frécupération est locale",[912,913],"Exécuter des outils d'agent représentatifs","Les outils ne dépendent pas d'API externes",[915,916],"Redémarrer après suppression du cache","Le fonctionnement hors ligne ne repose pas accidentellement sur des téléchargements précédemment mis en cache",[918,919],"Avancer le cycle de vie simulé des certificats\u002Fmises à jour","Les dépendances de confiance et de maintenance sont comprises",[921,922],"Importer un nouveau modèle via le chemin de staging","La procédure de transfert\u002Fchangement est opérationnelle",[924,925],"Restaurer à partir d'une sauvegarde","La récupération ne nécessite pas de stockage cloud indisponible",{},{"id":928,"data":929,"type":42,"tunes":931},"h-cache",{"text":930,"level":253},"Mis en cache une fois n'est pas synonyme de prêt pour l'air gap",{},{"id":933,"data":934,"type":218,"tunes":936},"p-cache-1",{"text":935},"Un système peut sembler hors ligne parce que le modèle et les paquets sont déjà mis en cache à partir d'un accès Internet antérieur.",{},{"id":938,"data":939,"type":218,"tunes":941},"p-cache-2",{"text":940},"La suppression des caches ou le déploiement sur un nœud propre peut révéler des fichiers tokenizer manquants, des paquets Python, des manifestes de modèles ou des dépendances de code distant.",{},{"id":943,"data":944,"type":218,"tunes":946},"p-cache-3",{"text":945},"La préparation à l'air gap doit donc être validée à partir d'artefacts internes propres, et non uniquement depuis un poste de développeur précédemment connecté.",{},{"id":948,"data":949,"type":42,"tunes":951},"h-threats",{"text":950,"level":253},"Quelles menaces subsistent à l'intérieur d'un air gap ?",{},{"id":953,"data":954,"type":394,"tunes":995},"threat-table",{"content":955,"stretched":43,"withHeadings":14},[956,959,962,965,968,971,974,977,980,983,986,989,992],[957,958],"Menace","Pourquoi l'air gap ne l'élimine pas",[960,961],"Artefact importé compromis","Un malware\u002Fmodèle\u002Fpaquet peut entrer par le chemin de transfert autorisé",[963,964],"Support amovible malveillant","Le transfert physique peut transporter des charges utiles exécutables",[966,967],"Usage abusif interne","Des utilisateurs autorisés existent déjà à l'intérieur de l'enceinte",[969,970],"Injection de prompt dans les documents importés","Un contenu non fiable peut influencer RAG\u002Fagents sans Internet",[972,973],"Outils d'agent sur-privilégiés","Les outils locaux peuvent toujours endommager les systèmes locaux",[975,976],"Fuite de données entre locataires","Des bugs d'autorisation internes restent possibles",[978,979],"Logiciel interne vulnérable","L'absence de connexion externe n'élimine pas les bugs exploitables",[981,982],"Mouvement latéral","Un nœud compromis peut attaquer d'autres nœuds connectés en interne",[984,985],"Dépendances obsolètes","Une cadence de mise à jour lente peut laisser des vulnérabilités connues non corrigées",[987,988],"Vol\u002Faltération physique","La sécurité du matériel et des supports reste critique",[990,991],"Mauvais comportement du modèle","L'hallucination, le biais et l'échec de tâche sont indépendants du réseau",[993,994],"Empoisonnement de la chaîne d'approvisionnement","Des sources d'importation de confiance peuvent toujours être compromises",{},{"id":997,"data":998,"type":42,"tunes":1000},"h-benefits",{"text":999,"level":253},"Ce qu'un air gap améliore réellement",{},{"id":1002,"data":1003,"type":218,"tunes":1005},"p-benefit-1",{"text":1004},"Un véritable air gap peut réduire matériellement les chemins d'attaque qui dépendent d'une connectivité distante directe : commande et contrôle externes, mauvaise utilisation des identifiants cloud, exploitation de services exposés à Internet et exfiltration accidentelle de données via des API sortantes ordinaires.",{},{"id":1007,"data":1008,"type":218,"tunes":1010},"p-benefit-2",{"text":1009},"Il simplifie aussi la résidence des données dans un sens étroit : les données d'inférence ne peuvent pas être envoyées à un service cloud externe s'il n'existe aucun chemin.",{},{"id":1012,"data":1013,"type":218,"tunes":1015},"p-benefit-3",{"text":1014},"Ces avantages sont les plus forts lorsque la frontière de transfert et les contrôles d'accès internes sont également disciplinés. Un processus USB mal géré peut compromettre l'isolation prévue.",{},{"id":1017,"data":1018,"type":42,"tunes":1020},"h-costs",{"text":1019,"level":253},"Ce qu'un air gap rend plus difficile",{},{"id":1022,"data":1023,"type":394,"tunes":1063},"cost-table",{"content":1024,"stretched":43,"withHeadings":14},[1025,1028,1031,1034,1037,1040,1043,1046,1049,1051,1054,1057,1060],[1026,1027],"Domaine","Conséquence opérationnelle",[1029,1030],"Mises à jour de modèles","Transfert manuel\u002Fstaged au lieu d'un pull direct depuis le hub de modèles",[1032,1033],"Correctifs de sécurité","Flux d'importation retardé et gouverné",[1035,1036],"Installation de paquets","Miroirs internes ou artefacts préconstruits requis",[1038,1039],"API d'IA cloud","Indisponibles",[1041,1042],"Recherche web\u002Fconnecteurs","Indisponibles sauf si les données sont importées séparément",[1044,1045],"Authentification","Nécessite des services d'identité internes ou compatibles hors ligne",[1047,1048],"Surveillance","Nécessite une observabilité interne et une exportation contrôlée",[606,1050],"Les produits nécessitant une activation en ligne peuvent être inadaptés",[1052,1053],"Dépannage","Pas d'accès direct facile aux ressources du fournisseur depuis l'enceinte de production",[1055,1056],"Capacité","Toute la puissance d'inférence doit exister localement",[1058,1059],"Reprise après sinistre","Les sauvegardes cloud peuvent être indisponibles ou restreintes par politique",[1061,1062],"Fraîcheur des connaissances","Les informations externes arrivent uniquement au rythme du processus d'importation",{},{"id":1065,"data":1066,"type":42,"tunes":1068},"h-private",{"text":1067,"level":253},"IA isolée vs IA privée",{},{"id":1070,"data":1071,"type":218,"tunes":1073},"p-private-1",{"text":1072},"L'IA privée concerne principalement le contrôle des données sensibles et du traitement de l'IA. Une plateforme d'IA privée peut être sur site et accéder tout de même à des modèles cloud approuvés ou à des services externes.",{},{"id":1075,"data":1076,"type":218,"tunes":1078},"p-private-2",{"text":1077},"L'IA isolée est plus stricte en matière de connectivité. Un système peut être privé sans être isolé, et un système isolé peut encore avoir une mauvaise confidentialité si chaque utilisateur interne a un accès illimité.",{},{"id":1080,"data":1081,"type":218,"tunes":1083},"p-private-3",{"text":1082},"L'objectif de sécurité doit déterminer l'architecture : confidentialité, souveraineté, résilience et isolation sont des exigences liées mais distinctes.",{},{"id":1085,"data":1086,"type":42,"tunes":1088},"h-sovereign",{"text":1087,"level":253},"IA isolée vs IA souveraine",{},{"id":1090,"data":1091,"type":218,"tunes":1093},"p-sovereign-1",{"text":1092},"L'IA souveraine concerne le contrôle de la chaîne de dépendance plus large : données, modèles, infrastructure, opérateurs, juridiction et dépendances stratégiques.",{},{"id":1095,"data":1096,"type":218,"tunes":1098},"p-sovereign-2",{"text":1097},"Une isolation peut soutenir la souveraineté en réduisant la dépendance d'exécution externe, mais elle ne garantit pas un contrôle souverain. L'enceinte peut encore dépendre de matériel étranger, de licences de modèles propriétaires ou de fournisseurs de mises à jour externes.",{},{"id":1100,"data":1101,"type":218,"tunes":1103},"p-sovereign-3",{"text":1102},"Le prochain article canonique sépare explicitement ces dimensions de contrôle.",{},{"id":1105,"data":1106,"type":42,"tunes":1108},"h-implementation",{"text":1107,"level":253},"Preuves de mise en œuvre originale : ce que le client IA Aaasaasa prouve — et ce qu'il ne prouve pas",{},{"id":1110,"data":1111,"type":226,"tunes":1114},"impl-note",{"body":1112,"title":1113,"variant":246},"Le client IA Aaasaasa est une preuve utile pour \u003Cstrong>l'architecture d'inférence locale\u003C\u002Fstrong>, l'abstraction des fournisseurs et la séparation de l'emplacement d'exécution\u002Fdu modèle. Il \u003Cstrong>ne constitue pas une preuve d'un environnement isolé déployé\u003C\u002Fstrong>. Le dépôt prend également en charge les chemins cloud et distants, et aucune preuve de projet vérifiée n'établit un domaine de sécurité physiquement isolé.","Limite de mise en œuvre",{},{"id":1116,"data":1117,"type":218,"tunes":1119},"p-impl-1",{"text":1118},"Le AI Hub sépare l'agent\u002Fclient, le fournisseur, le modèle et l'emplacement de connexion. Il prend en charge l'inférence locale Ollama et l'opération Codex avec fournisseur local comme des choix distincts plutôt que de supposer que chaque requête IA va vers un modèle cloud.",{},{"id":1121,"data":1122,"type":218,"tunes":1124},"p-impl-2",{"text":1123},"Le dépôt note explicitement qu'un environnement d'exécution local peut encore utiliser un modèle cloud, tandis que le chat Direct Ollama est une inférence locale. Cette distinction est directement pertinente pour l'architecture isolée : l'exécution locale ne prouve pas que le modèle ou les dépendances environnantes sont déconnectés.",{},{"id":1126,"data":1127,"type":218,"tunes":1129},"p-impl-3",{"text":1128},"L'abstraction des fournisseurs, la découverte de modèles locaux et l'inférence locale sont donc des éléments constitutifs d'une architecture produit capable d'isolation, mais la frontière réseau, le miroir de dépendances hors ligne, le processus de transfert contrôlé et l'identité\u002Fles opérations hors ligne doivent encore être conçus séparément.",{},{"id":1131,"data":1132,"type":394,"tunes":1155},"impl-table",{"content":1133,"stretched":43,"withHeadings":14},[1134,1137,1140,1143,1146,1149,1152],[1135,1136],"Capacité du projet vérifiée","Pertinence pour l'isolation",[1138,1139],"Inférence locale Ollama","Prend en charge l'exécution locale du modèle",[1141,1142],"Chemins de fournisseur\u002Fenvironnement d'exécution locaux","Réduit la dépendance à l'inférence cloud",[1144,1145],"Séparation fournisseur\u002Fmodèle\u002Fenvironnement d'exécution","Rend les dépendances cloud explicites plutôt que cachées",[1147,1148],"Permissions centrales","Prend en charge le contrôle d'accès local aux outils\u002Fdonnées",[1150,1151],"La prise en charge des fournisseurs cloud\u002Fdistants existe également","Prouve que le produit lui-même est capable d'hybride, pas intrinsèquement isolé",[1153,1154],"Aucune frontière de déploiement isolé vérifiée","Empêche de surestimer la maturité de l'isolation",{},{"id":1157,"data":1158,"type":42,"tunes":1160},"h-when",{"text":1159,"level":253},"Quand l'IA isolée est-elle justifiée ?",{},{"id":1162,"data":1163,"type":394,"tunes":1186},"when-table",{"content":1164,"stretched":43,"withHeadings":14},[1165,1168,1171,1174,1177,1180,1183],[1166,1167],"L'isolation peut être justifiée lorsque","Une architecture privée connectée peut être meilleure lorsque",[1169,1170],"La politique de sécurité exige explicitement des domaines physiquement séparés","L'exigence principale est seulement que les invites\u002Fdonnées ne soient pas utilisées par des services grand public publics",[1172,1173],"Des données classifiées ou extrêmement sensibles ne peuvent pas traverser de réseaux externes","Des points de terminaison cloud\u002Fprivés d'entreprise approuvés satisfont les contrôles de données",[1175,1176],"L'environnement opérationnel n'a pas de connectivité externe fiable","Internet est disponible et l'agilité opérationnelle compte",[1178,1179],"La continuité de mission ne doit pas dépendre de la disponibilité du cloud\u002Fdu fournisseur","La qualité des modèles gérés et les mises à niveau rapides sont plus précieuses",[1181,1182],"Un environnement réglementé\u002Fcritique impose un transfert contrôlé","Les contrôles de sécurité standard peuvent répondre au modèle de menace réel",[1184,1185],"L'accès aux SaaS\u002FAPI externes est interdit","Le flux de travail métier repose fortement sur des connecteurs externes",{},{"id":1188,"data":1189,"type":218,"tunes":1191},"p-when-1",{"text":1190},"L'isolation devrait être une exigence dérivée d'un modèle de menace ou d'une politique, pas une fonctionnalité de prestige. Elle a une réelle valeur de sécurité lorsque le chemin de connectivité éliminé est lui-même inacceptable.",{},{"id":1193,"data":1194,"type":218,"tunes":1196},"p-when-2",{"text":1195},"Pour de nombreux cas d'usage d'entreprise, un réseau privé étroitement contrôlé avec des restrictions de sortie, une inférence locale et des canaux de mise à jour approuvés peut offrir un meilleur équilibre entre sécurité et maintenabilité qu'une stricte isolation physique.",{},{"id":1198,"data":1199,"type":42,"tunes":1201},"h-design",{"text":1200,"level":253},"Une séquence de conception d'IA en air gap pratique",{},{"id":1203,"data":1204,"type":331,"tunes":1243},"design-flow",{"steps":1205,"title":1242,"orientation":330},[1206,1209,1212,1215,1218,1221,1224,1227,1230,1233,1236,1239],{"label":1207,"description":1208},"1. Définir ce que l'air gap sépare","Nommez les domaines de sécurité et si l'exigence est une séparation physique stricte ou simplement l'absence d'internet.",{"label":1210,"description":1211},"2. Inventorier chaque dépendance externe","Modèles, paquets, registres, identité, télémétrie, licences, stockage, API, DNS\u002Fheure et services de support.",{"label":1213,"description":1214},"3. Sélectionner des modèles et runtimes capables de fonctionner hors ligne","Vérifiez que les actifs de modèle et le code d'exécution peuvent se charger sans appels distants.",{"label":1216,"description":1217},"4. Construire des dépôts d'artefacts internes","Créez des sources de confiance pour les conteneurs, paquets, modèles et mises à jour.",{"label":1219,"description":1220},"5. Concevoir un transfert contrôlé","Définissez la préparation, la vérification, la gestion des supports\u002Fpasserelles, l'approbation et la provenance.",{"label":1222,"description":1223},"6. Construire une identité et une autorisation internes","Assurez-vous que les utilisateurs, services et outils peuvent s'authentifier sans dépendances cloud.",{"label":1225,"description":1226},"7. Garder le RAG et les outils locaux","Déployez les connaissances, les embeddings, les index et les API de service requises à l'intérieur de l'enceinte.",{"label":1228,"description":1229},"8. Construire une observabilité interne","Exploitez les journaux, métriques, traces et la surveillance de sécurité localement.",{"label":1231,"description":1232},"9. Définir la cadence de mise à jour des correctifs\u002Fmodèles","Équilibrez la réponse aux vulnérabilités avec le processus d'importation contrôlé.",{"label":1234,"description":1235},"10. Tester à partir d'un état déconnecté propre","Démarrez à froid et fonctionnez sans caches hérités ni accès internet caché.",{"label":1237,"description":1238},"11. Tester les chemins de compromission","Exercez les scénarios de supports amovibles, chaîne d'approvisionnement, injection de prompt, menace interne et mouvement latéral.",{"label":1240,"description":1241},"12. Documenter les exceptions et les exports","Chaque chemin transfrontalier autorisé doit avoir un objectif nommé, un propriétaire et un ensemble de contrôles.","Concevoir de la frontière vers l'intérieur",{},{"id":1245,"data":1246,"type":42,"tunes":1248},"h-checklist",{"text":1247,"level":253},"Liste de contrôle de l'architecture d'IA en air gap",{},{"id":1250,"data":1251,"type":394,"tunes":1304},"checklist-table",{"content":1252,"stretched":43,"withHeadings":14},[1253,1256,1259,1262,1265,1268,1271,1274,1277,1280,1283,1286,1289,1292,1295,1298,1301],[1254,1255],"Question","Preuve attendue",[1257,1258],"Qu'est-ce qui est exactement isolé de quoi ?","Frontière de domaine de sécurité documentée",[1260,1261],"La frontière est-elle physiquement déconnectée ?","Preuve d'architecture réseau\u002Fphysique si un air gap strict est revendiqué",[1263,1264],"Comment les données traversent-elles la frontière ?","Flux de travail déconnecté autorisé non automatisé\u002Fmanuel ou explicitement documenté",[1266,1267],"Chaque modèle peut-il démarrer à froid hors ligne ?","Test de chargement hors ligne",[1269,1270],"Les actifs tokenizer\u002Fconfig\u002Fruntime sont-ils complets ?","Bundle de modèle interne vérifié",[1272,1273],"D'où viennent les conteneurs\u002Fpaquets ?","Miroir\u002Fdépôt interne de confiance",[1275,1276],"L'identité peut-elle fonctionner sans services cloud ?","Chemin d'identification interne IdP\u002FPKI\u002Fjustificatif de service",[1278,1279],"Le RAG peut-il ingérer\u002Finterroger hors ligne ?","Ingestion, embeddings, index et récupération locaux",[1281,1282],"Quels outils d'agent restent disponibles ?","Inventaire des capacités internes",[1284,1285],"Comment les correctifs sont-ils importés ?","Processus de maintenance contrôlé",[1287,1288],"Comment les artefacts sont-ils vérifiés ?","Contrôles d'intégrité\u002Fprovenance\u002Fmalware\u002Fchaîne d'approvisionnement",[1290,1291],"Comment les supports amovibles sont-ils gouvernés ?","Politique de gestion et de désinfection des supports",[1293,1294],"Le système peut-il fonctionner après la purge des caches ?","Test hors ligne en environnement propre",[1296,1297],"Où sont stockés les journaux et les traces ?","Plateforme d'observabilité interne",[1299,1300],"Comment les exports sont-ils approuvés ?","Processus de sortie contrôlé",[1302,1303],"Qu'est-ce qui prouve qu'il s'agit d'un air gap plutôt que simplement local ?","Preuve de frontière et de transfert, pas l'emplacement du modèle",{},{"id":1306,"data":1307,"type":42,"tunes":1309},"h-failures",{"text":1308,"level":253},"Modes de défaillance courants de l'IA en air gap",{},{"id":1311,"data":1312,"type":394,"tunes":1353},"failure-table",{"content":1313,"stretched":43,"withHeadings":14},[1314,1317,1320,1323,1326,1329,1332,1335,1338,1341,1344,1347,1350],[1315,1316],"Mode de défaillance","Ce qui a réellement échoué",[1318,1319],"Le modèle local télécharge encore le tokenizer\u002Fconfig au démarrage","Le bundle de modèle était incomplet",[1321,1322],"Le conteneur référence un registre public","Le déploiement n'était pas autonome",[1324,1325],"Identité cloud requise pour la connexion","L'application était locale mais l'identité ne l'était pas",[1327,1328],"Serveur de licence requis en externe","La dépendance au fournisseur contredisait le fonctionnement hors ligne",[1330,1331],"Modèle d'embedding manquant","Le chat fonctionne mais l'ingestion RAG échoue",[1333,1334],"L'outil d'agent appelle un SaaS public","L'architecture de l'agent n'était pas compatible avec l'air gap",[1336,1337],"Seul le nœud GPU est isolé","La base de données, l'interface utilisateur ou la surveillance dépendent encore de services externes",[1339,1340],"Les imports USB sont informels","La frontière de transfert devient un chemin d'attaque non contrôlé",[1342,1343],"Aucun processus de correctif","L'isolation crée une dette de vulnérabilité croissante",[1345,1346],"Machine de développeur mise en cache utilisée comme preuve","Le déploiement frais échoue sans internet",[1348,1349],"L'air gap remplace la réflexion sur l'autorisation","Les utilisateurs\u002Fservices internes deviennent sur-privilégiés",[1351,1352],"Étiquette air gap utilisée pour un blocage de sortie pare-feu uniquement","La documentation de sécurité surestime la frontière réelle",{},{"id":1355,"data":1356,"type":42,"tunes":1358},"h-misconceptions",{"text":1357,"level":253},"Idées fausses courantes",{},{"id":1360,"data":1361,"type":394,"tunes":1396},"misconceptions-table",{"content":1362,"stretched":43,"withHeadings":14},[1363,1366,1369,1372,1375,1378,1381,1384,1387,1390,1393],[1364,1365],"Idée fausse","Correction",[1367,1368],"« L'IA locale est une IA en air gap. »","Local décrit où l'inférence s'exécute ; air gap décrit la frontière de sécurité\u002Fréseau.",[1370,1371],"« Air gap signifie un seul PC autonome. »","Une enceinte isolée peut contenir tout un réseau interne ou une grappe.",[1373,1374],"« Pas d'internet équivaut à un air gap strict. »","Selon la définition du NIST, les systèmes séparés manquent aussi de connexion physique et le transfert transfrontalier est non automatisé.",[1376,1377],"« Les air gaps éliminent le risque cyber. »","Les risques de chaîne d'approvisionnement, de supports amovibles, de menace interne, de réseau interne et d'application subsistent.",[1379,1380],"« Le RAG a besoin du cloud. »","Le RAG peut fonctionner entièrement avec des modèles, index et données locaux.",[1382,1383],"« Les agents ne peuvent pas fonctionner hors ligne. »","Les agents peuvent utiliser des outils internes\u002Flocaux ; ils ne peuvent simplement pas atteindre des services externes indisponibles.",[1385,1386],"« Une fois installé, le système n'a pas besoin de mises à jour. »","Les correctifs, pilotes, modèles et dépendances nécessitent encore une gestion du cycle de vie.",[1388,1389],"« Un modèle téléchargé est autonome. »","Les tokenizers, le code distant, les bibliothèques ou les actifs de modèle peuvent encore déclencher des dépendances réseau.",[1391,1392],"« IA privée et IA en air gap sont identiques. »","L'IA privée est une propriété de données\u002Fcontrôle ; l'air gap est une propriété de connectivité.",[1394,1395],"« L'air gap garantit la souveraineté. »","Le matériel externe, les licences, les modèles et la chaîne d'approvisionnement peuvent rester des dépendances.",{},{"id":1398,"data":1399,"type":42,"tunes":1401},"h-limitations",{"text":1400,"level":253},"Limites",{},{"id":1403,"data":1404,"type":218,"tunes":1406},"p-limit-1",{"text":1405},"Les air gaps stricts ralentissent la fraîcheur des connaissances externes car chaque nouvelle source doit passer par un processus de transfert.",{},{"id":1408,"data":1409,"type":218,"tunes":1411},"p-limit-2",{"text":1410},"Ils peuvent contraindre le choix du modèle lorsque les licences, les exigences de code distant, les besoins matériels ou les API exclusives au fournisseur ne peuvent pas être satisfaits hors ligne.",{},{"id":1413,"data":1414,"type":218,"tunes":1416},"p-limit-3",{"text":1415},"Ils augmentent le coût opérationnel car l'infrastructure normalement consommée comme services cloud doit être possédée et maintenue en interne.",{},{"id":1418,"data":1419,"type":218,"tunes":1421},"p-limit-4",{"text":1420},"Ils peuvent aussi créer une latence de correctif : un contrôle des changements plus fort peut maintenir les systèmes stables tout en retardant la remédiation urgente des vulnérabilités.",{},{"id":1423,"data":1424,"type":218,"tunes":1426},"p-limit-5",{"text":1425},"L'IA en air gap doit donc être évaluée comme une architecture de sécurité parmi d'autres, et non supposée universellement supérieure.",{},{"id":1428,"data":1429,"type":42,"tunes":1431},"h-change",{"text":1430,"level":253},"Qu'est-ce qui changerait cette réponse ?",{},{"id":1433,"data":1434,"type":218,"tunes":1436},"p-change-1",{"text":1435},"Le support des fournisseurs pour le fonctionnement déconnecté évolue rapidement. Les nouveaux formats de modèle, les artefacts OCI signés, les mécanismes de licence hors ligne et les registres de modèles intégrés peuvent réduire les frictions opérationnelles.",{},{"id":1438,"data":1439,"type":218,"tunes":1441},"p-change-2",{"text":1440},"La distinction entre air gap strict et déploiement déconnecté restera importante même si les fournisseurs continuent d'utiliser les termes de manière vague.",{},{"id":1443,"data":1444,"type":218,"tunes":1446},"p-change-3",{"text":1445},"Le principe stable est que les véritables revendications d'air gap dépendent de la frontière du système et du mécanisme de transfert, et non du fait que le LLM s'exécute localement.",{},{"id":1448,"data":1449,"type":42,"tunes":1451},"h-related",{"text":1450,"level":253},"Connaissances canoniques associées",{},{"id":1453,"data":1454,"type":218,"tunes":1456},"p-related-1",{"text":1455},"L'IA en air gap est un nœud d'architecture de déploiement et de sécurité. L'IA privée, l'IA souveraine et l'abstraction de fournisseur répondent à des questions différentes sur la confidentialité, le contrôle et la dépendance.",{},{"id":1458,"data":1459,"type":218,"tunes":1461},"p-related-2",{"text":1460},"MLOps\u002FLLMOps devient plus exigeant dans un environnement déconnecté, car les cycles de vie des modèles, des packages et des mises à jour doivent fonctionner via des dépôts internes et un transfert contrôlé.",{},{"id":1463,"data":1464,"type":218,"tunes":1466},"p-related-3",{"text":1465},"Le RAG et l'IA agentique restent des modèles valides à l'intérieur de l'enceinte tant que leurs données et outils sont disponibles en interne.",{},{"id":1468,"data":1469,"type":661,"tunes":1474},"ref-memory",{"url":1470,"title":1471,"excerpt":1472,"ctaLabel":1473},"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","La mémoire des agents IA n'est pas le RAG : comment séparer mémoire, récupération, état et contexte","L'IA en air gap a toujours besoin de frontières internes correctes entre mémoire durable, état faisant autorité, récupération et contexte du modèle.","Lire l'article sur l'architecture de la mémoire",{},{"id":1476,"data":1477,"type":42,"tunes":1479},"h-faq",{"text":1478,"level":253},"Questions fréquentes",{},{"id":1481,"data":1482,"type":1481,"tunes":1525},"faq",{"items":1483,"title":1524},[1484,1488,1492,1496,1500,1504,1508,1512,1516,1520],{"id":1485,"answer":1486,"question":1487},"faq1","L'IA en air gap est une IA déployée à l'intérieur d'un domaine de sécurité physiquement déconnecté des systèmes externes dont elle est séparée, avec un transfert transfrontalier effectué via des procédures contrôlées non automatisées selon la définition stricte du NIST.","Qu'est-ce que l'IA en air gap ?",{"id":1489,"answer":1490,"question":1491},"faq2","Non pour l'inférence et l'exploitation normales. Les modèles, packages, données et services requis doivent être disponibles à l'intérieur de l'environnement isolé.","L'IA en air gap a-t-elle besoin d'un accès Internet ?",{"id":1493,"answer":1494,"question":1495},"faq3","Non. Un modèle local peut s'exécuter sur une machine qui dispose encore d'un accès Internet ou utilise une identité, des outils ou un stockage cloud. L'air gap décrit la frontière complète du système.","Un LLM local est-il automatiquement en air gap ?",{"id":1497,"answer":1498,"question":1499},"faq4","Oui. Les documents, les modèles d'embedding, les index vectoriels ou lexicaux, les rerankers et les modèles de génération peuvent tous s'exécuter localement. Les connaissances externes doivent être importées via la frontière contrôlée.","Le RAG peut-il fonctionner dans un réseau en air gap ?",{"id":1501,"answer":1502,"question":1503},"faq5","Oui, si leurs outils et les systèmes requis sont disponibles à l'intérieur du réseau isolé. Les SaaS publics et les API cloud sont indisponibles sans mécanisme transfrontalier autorisé.","Les agents IA peuvent-ils fonctionner en air gap ?",{"id":1505,"answer":1506,"question":1507},"faq6","Les modèles sont généralement acquis et validés dans un environnement de préparation connecté, transférés via un processus approuvé et publiés dans un dépôt interne de modèles\u002Fartefacts.","Comment les modèles sont-ils mis à jour dans un environnement en air gap ?",{"id":1509,"answer":1510,"question":1511},"faq7","Non. Sur site décrit l'emplacement de l'infrastructure. Les systèmes sur site peuvent rester connectés à Internet.","L'IA sur site est-elle identique à l'IA en air gap ?",{"id":1513,"answer":1514,"question":1515},"faq8","Non. L'IA privée concerne les exigences de données et de contrôle et peut encore utiliser une infrastructure connectée. L'air gap décrit spécifiquement la séparation réseau\u002Fdomaine.","L'IA privée est-elle identique à l'IA en air gap ?",{"id":1517,"answer":1518,"question":1519},"faq9","Il supprime ou réduit certains risques de connectivité à distance, mais n'élimine pas les risques liés à la chaîne d'approvisionnement, aux supports amovibles, aux menaces internes, à l'autorisation interne, aux risques physiques ou aux comportements du modèle.","Un air gap rend-il l'IA sécurisée ?",{"id":1521,"answer":1522,"question":1523},"faq10","Déployer ou démarrer à froid la pile complète dans un environnement propre avec toute connectivité externe indisponible et vérifier que les modèles, l'identité, le RAG, les outils, la surveillance, les mises à jour et la récupération dépendent uniquement d'artefacts et de services internes approuvés.","Quel est le meilleur test pour la préparation à l'air gap ?","FAQ sur l'IA en air gap",{},{"id":1527,"data":1528,"type":42,"tunes":1530},"h-glossary",{"text":1529,"level":253},"Glossaire",{},{"id":1532,"data":1533,"type":1532,"tunes":1581},"glossary",{"title":1534,"entries":1535},"Termes clés de l'IA en air gap",[1536,1540,1544,1547,1550,1553,1557,1561,1565,1569,1573,1577],{"term":1537,"anchor":1538,"definition":1539},"Air gap","air-gap","Interface de domaine de sécurité où les systèmes ne sont pas physiquement connectés et tout transfert logique transfrontalier est non automatisé\u002Fmanuel selon la définition du glossaire du NIST.",{"term":1541,"anchor":1542,"definition":1543},"IA en air gap","air-gapped-ai","Système d'IA déployé à l'intérieur d'un domaine de sécurité en air gap avec des dépendances d'inférence et d'exploitation disponibles localement.",{"term":375,"anchor":1545,"definition":1546},"disconnected-environment","Environnement de déploiement sans accès direct à Internet ; les implémentations peuvent utiliser des workflows contrôlés de miroir ou de bastion.",{"term":371,"anchor":1548,"definition":1549},"offline-capable-ai","Application d'IA capable de fonctionner pour tout ou partie de ses fonctions sans connectivité Internet, sans nécessairement être isolée en permanence.",{"term":367,"anchor":1551,"definition":1552},"local-ai","Inférence ou exécution d'IA sur du matériel local plutôt que sur un point de terminaison de modèle distant ; n'implique pas l'isolation réseau.",{"term":1554,"anchor":1555,"definition":1556},"Registre miroir","mirror-registry","Dépôt interne contenant des copies approuvées d'images de conteneurs ou d'autres artefacts nécessaires à un déploiement déconnecté.",{"term":1558,"anchor":1559,"definition":1560},"Environnement de préparation","staging-environment","Zone connectée ou contrôlée où les artefacts sont acquis, vérifiés et préparés avant leur transfert vers un domaine isolé.",{"term":1562,"anchor":1563,"definition":1564},"Transfert contrôlé","controlled-transfer","Mouvement gouverné de données ou de logiciels à travers la frontière d'isolation à l'aide de supports\u002Fprocessus approuvés et de vérification.",{"term":1566,"anchor":1567,"definition":1568},"Provenance des artefacts","artifact-provenance","Informations indiquant l'origine d'un modèle, d'un package, d'un conteneur ou d'un autre artefact importé et la manière dont il a été produit ou vérifié.",{"term":1570,"anchor":1571,"definition":1572},"Support amovible","removable-media","Stockage portable utilisé pour transférer des données entre systèmes ; un chemin de sécurité potentiel à travers des domaines déconnectés.",{"term":1574,"anchor":1575,"definition":1576},"Magasin de modèles interne","internal-model-store","Dépôt à l'intérieur de l'environnement isolé à partir duquel les artefacts de modèles approuvés sont servis ou déployés.",{"term":1578,"anchor":1579,"definition":1580},"Préparation à l'air gap","air-gap-readiness","Capacité démontrée de la pile d'IA complète à s'installer, démarrer, fonctionner, se mettre à jour et récupérer sans connectivité externe non approuvée.",{},{"id":1583,"data":1584,"type":42,"tunes":1586},"h-conclusion",{"text":1585,"level":253},"Conclusion",{},{"id":1588,"data":1589,"type":218,"tunes":1591},"p-conclusion-1",{"text":1590},"L'IA en air gap n'est pas un type particulier de modèle. C'est une architecture d'IA fonctionnant à l'intérieur d'un domaine de sécurité délibérément isolé.",{},{"id":1593,"data":1594,"type":218,"tunes":1596},"p-conclusion-2",{"text":1595},"Le modèle peut être la partie facile. La préparation à la production dépend de la capacité de chaque dépendance environnante — actifs de modèles, packages, registres, identité, RAG, outils, surveillance, mises à jour et récupération — à fonctionner sans chemin externe automatisé.",{},{"id":1598,"data":1599,"type":218,"tunes":1601},"p-conclusion-3",{"text":1600},"La règle fiable la plus courte est la suivante : l'inférence locale prouve où le modèle s'exécute ; les preuves d'air gap prouvent comment le système complet est séparé et comment chaque transfert autorisé franchit cette frontière.",{},{"id":1603,"data":1604,"type":42,"tunes":1606},"h-sources",{"text":1605,"level":253},"Sources primaires et références d'implémentation actuelles",{},{"id":1608,"data":1609,"type":218,"tunes":1611},"p-sources-note",{"text":1610},"Les sources ci-dessous établissent la définition de sécurité, les modèles actuels de déploiement d'IA déconnectée et les risques du cycle de vie. L'utilisation du terme « air-gapped » par les fournisseurs est intentionnellement distinguée de la définition plus stricte du NIST.",{},{"id":1613,"data":1614,"type":1620,"tunes":1621},"src-nist-airgap",{"link":1615,"meta":1616},"https:\u002F\u002Fcsrc.nist.gov\u002Fglossary\u002Fterm\u002Fair_gap",{"image":1617,"title":1618,"description":1619},{"url":419},"NIST CSRC — Air gap","Définition du glossaire du NIST : systèmes physiquement déconnectés avec transfert logique non automatisé et contrôlé manuellement à travers la frontière.","linkTool",{},{"id":1623,"data":1624,"type":1620,"tunes":1630},"src-nvidia-airgap",{"link":1625,"meta":1626},"https:\u002F\u002Fdocs.nvidia.com\u002Fnim\u002Flarge-language-models\u002Flatest\u002Fdeploy-air-gap.html",{"image":1627,"title":1628,"description":1629},{"url":419},"NVIDIA NIM — Déploiement en air gap","Conseils opérationnels actuels pour préparer les actifs de modèles sur un système connecté et exécuter NIM depuis un stockage local sans Internet, registres publics ni clés d'API cloud.",{},{"id":1632,"data":1633,"type":1620,"tunes":1639},"src-redhat-disconnected",{"link":1634,"meta":1635},"https:\u002F\u002Fdocs.redhat.com\u002Fen\u002Fdocumentation\u002Fred_hat_ai_inference\u002F3.5\u002Fhtml\u002Fdeploy_the_standalone_red_hat_ai_inference_container_in_a_disconnected_environment\u002Findex",{"image":1636,"title":1637,"description":1638},{"url":419},"Red Hat AI Inference — Déploiement déconnecté","Conseils actuels de Red Hat pour servir des LLM dans des environnements déconnectés avec des artefacts miroir et une infrastructure interne.",{},{"id":1641,"data":1642,"type":1620,"tunes":1648},"src-redhat-models",{"link":1643,"meta":1644},"https:\u002F\u002Fdocs.redhat.com\u002Fen\u002Fdocumentation\u002Fred_hat_ai_inference\u002F3.5\u002Fhtml\u002Fdeploy_the_standalone_red_hat_ai_inference_container_in_a_disconnected_environment\u002Fstoring-models-in-disconnected-environments_disconnected-deploy",{"image":1645,"title":1646,"description":1647},{"url":419},"Red Hat AI Inference — Stockage des modèles dans des environnements déconnectés","Recommandations actuelles couvrant les images de modèles OCI, le stockage persistant des modèles et les limitations des modèles nécessitant du code distant.",{},{"id":1650,"data":1651,"type":1620,"tunes":1657},"src-nsa-framework",{"link":1652,"meta":1653},"https:\u002F\u002Fwww.nsa.gov\u002Fportals\u002F75\u002Fdocuments\u002Fwhat-we-do\u002Fcybersecurity\u002Fprofessional-resources\u002Fctr-nsa-css-technical-cyber-threat-framework.pdf",{"image":1654,"title":1655,"description":1656},{"url":419},"NSA — Cadre technique de cybermenace","Cadre de menace identifiant explicitement la réplication par support amovible comme un vecteur d'accès aux réseaux déconnectés ou isolés.",{},{"id":1659,"data":1660,"type":1620,"tunes":1666},"src-nist-media",{"link":1661,"meta":1662},"https:\u002F\u002Fwww.nist.gov\u002Fpublications\u002Fguidelines-media-sanitization",{"image":1663,"title":1664,"description":1665},{"url":419},"NIST SP 800-88 Rév. 1 — Lignes directrices pour l'assainissement des supports","Recommandations pour la gestion et l'assainissement des supports de stockage selon les exigences de confidentialité des informations.",{},{"id":1668,"data":1669,"type":1620,"tunes":1675},"src-nist-patch",{"link":1670,"meta":1671},"https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Fsp\u002F800\u002F40\u002Fr4\u002Ffinal",{"image":1672,"title":1673,"description":1674},{"url":419},"NIST SP 800-40 Rév. 4 — Planification de la gestion des correctifs en entreprise","Recommandations présentant la mise à jour et les correctifs comme une maintenance préventive pour les systèmes d'entreprise.",{},{"id":1677,"data":1678,"type":1620,"tunes":1684},"src-nist-supply",{"link":1679,"meta":1680},"https:\u002F\u002Fwww.nist.gov\u002Fitl\u002Fexecutive-order-14028-improving-nations-cybersecurity\u002Fsoftware-security-supply-chains",{"image":1681,"title":1682,"description":1683},{"url":419},"NIST — Sécurité logicielle dans les chaînes d'approvisionnement","Recommandations du NIST couvrant les risques liés à la chaîne d'approvisionnement logicielle, la provenance, la vérification, les pratiques liées aux SBOM et la gestion des vulnérabilités.",{},"2.31","L'IA en environnement isolé exécute des modèles, du RAG et des applications d'IA à l'intérieur d'un domaine de sécurité isolé, sans dépendance à Internet ni au cloud. Découvrez comment les modèles, les données, les mises à jour et les outils fonctionnent hors ligne.","\u002Fuploads\u002F2026\u002F10\u002Fair-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access-1791487983978-e6xqf0.webp","air-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access-1791487983978-e6xqf0","PUBLISHED","2026-10-08T11:32:00.000Z","2026-10-08T19:32:11.607Z","2026-10-08T21:37:26.788Z",{"en":1694,"de":1695,"sr":1696,"es":1697,"fr":1698,"it":1699,"ru":1700,"zh":1701},"\u002Fblog\u002Fair-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access","\u002Fde\u002Fblog\u002Fair-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access","\u002Fsr\u002Fblog\u002Fair-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access","\u002Fes\u002Fblog\u002Fair-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access","\u002Ffr\u002Fblog\u002Fair-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access","\u002Fit\u002Fblog\u002Fair-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access","\u002Fru\u002Fblog\u002Fair-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access","\u002Fzh\u002Fblog\u002Fair-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access",[1703,1707,1711],{"id":1704,"name":1705,"slug":1706},57,"Limites des données","data-boundaries",{"id":1708,"name":1709,"slug":1710},54,"Modèle de menaces","threat-model",{"id":1712,"name":1713,"slug":1714},49,"Contrôles et preuves","controls",{"id":1716,"login":1717,"email":1718,"displayName":1719},"20","rooth8233","aleksandar@stajic.de","Aleksandar Stajić",[1721,2974],{"lang":1722,"title":1723,"content":1724,"contentJson":1725,"excerpt":2973},"en","Air-Gapped AI: How AI Systems Work Without Internet or Cloud Access","{\"time\":1791495428517,\"blocks\":[{\"id\":\"intro\",\"type\":\"paragraph\",\"data\":{\"text\":\"Air-gapped AI is an AI system deployed inside a security domain that has no physical network connection to the external systems it is separated from, with any transfer across that boundary performed through deliberately controlled, non-automated procedures. The AI model, runtime, data, retrieval indexes, tools and operational dependencies required for inference must therefore be available inside the isolated environment. Air-gapped AI is not simply “a local model” or “an on-premise server”: the defining property is the network and transfer boundary around the complete system.\"},\"tunes\":{}},{\"id\":\"direct\",\"type\":\"callout\",\"data\":{\"variant\":\"info\",\"title\":\"Direct answer\",\"body\":\"An air-gapped AI system can run LLM inference, RAG, document analysis and even agentic workflows without internet or cloud APIs if every required dependency is available inside the isolated domain.\u003Cbr>\u003Cbr>A practical architecture is:\u003Cbr>\u003Cstrong>controlled import → internal artifact\u002Fmodel repositories → local AI runtime → local data\u002FRAG → local tools → internal users\u002Fservices → local monitoring\u002Faudit\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>The difficult part is not making one LLM answer offline. It is operating the whole AI lifecycle — updates, models, drivers, packages, data imports, credentials, logging and security — without silently depending on external services.\"},\"tunes\":{}},{\"id\":\"nist-boundary\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Air gap has a stricter meaning than “no internet”\",\"body\":\"NIST's cybersecurity glossary defines an air gap as an interface where two systems are \u003Cstrong>not physically connected\u003C\u002Fstrong> and where any logical transfer is \u003Cstrong>not automated\u003C\u002Fstrong>; data crosses only manually under human control. Vendor documentation sometimes uses “air-gapped” or “disconnected” more broadly for environments with no outside-internet connection but with internal networking and controlled staging infrastructure. Architecture documentation should state which meaning is actually implemented.\"},\"tunes\":{}},{\"id\":\"not-security\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Air-gapped does not mean secure by definition\",\"body\":\"Removing direct network connectivity eliminates many remote paths, but it does not eliminate malicious removable media, compromised software\u002Fmodel imports, insider threats, vulnerable internal services, physical compromise, prompt injection through imported documents or lateral movement inside the isolated network.\"},\"tunes\":{}},{\"id\":\"current\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Current-source note — 8 October 2026\",\"body\":\"Current NVIDIA NIM and Red Hat AI Inference documentation both support LLM serving without outside-internet access by pre-staging model and container assets. NVIDIA documents a connected preparation phase followed by an isolated execution phase with local assets and no cloud registry credentials. Red Hat uses mirrored container\u002Fmodel repositories for disconnected OpenShift environments. These are useful implementation examples, but they do not override the stricter NIST definition of an air gap.\"},\"tunes\":{}},{\"id\":\"toc\",\"type\":\"tableOfContents\",\"data\":{\"title\":\"Contents\",\"minLevel\":2,\"maxLevel\":3},\"tunes\":{}},{\"id\":\"h-meaning\",\"type\":\"header\",\"data\":{\"text\":\"What air-gapped AI really means\",\"level\":2},\"tunes\":{}},{\"id\":\"p-meaning-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The word AI does not change the basic security concept. An air gap is a boundary between security domains. AI simply makes the isolated side more operationally demanding because modern AI stacks normally assume downloadable models, package registries, telemetry, APIs, model hubs and frequent software updates.\"},\"tunes\":{}},{\"id\":\"p-meaning-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The isolated environment can still contain many connected machines. An internal cluster may have GPUs, application servers, storage, databases, identity services and monitoring connected to each other. The air gap exists between that enclave and the outside domain.\"},\"tunes\":{}},{\"id\":\"p-meaning-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The relevant question is therefore not “Does this GPU have Wi-Fi?” but “Can this AI environment exchange information with the external domain through an automated physical or logical path?”\"},\"tunes\":{}},{\"id\":\"h-simple\",\"type\":\"header\",\"data\":{\"text\":\"The simplest example\",\"level\":2},\"tunes\":{}},{\"id\":\"p-simple-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Imagine a company wants an internal assistant for confidential technical documents, but the environment is not permitted to send those documents to the internet.\"},\"tunes\":{}},{\"id\":\"p-simple-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The company downloads an approved LLM, embedding model, container images and software packages in a connected staging environment. After validation, approved artifacts are transferred into the isolated environment.\"},\"tunes\":{}},{\"id\":\"p-simple-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Inside the enclave, the model server, document parser, vector database, application and identity services run locally. Users can ask questions and use RAG against internal documents without a cloud model or public model registry.\"},\"tunes\":{}},{\"id\":\"p-simple-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"When an update is required, the update passes through the controlled import process again rather than being downloaded directly by the production AI server.\"},\"tunes\":{}},{\"id\":\"simple-flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"A basic air-gapped AI operating cycle\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Acquire outside the enclave\",\"description\":\"Download approved models, packages, containers, drivers, signatures and documentation in a connected staging environment.\"},{\"label\":\"2. Verify before transfer\",\"description\":\"Check provenance, signatures\u002Fchecksums, malware status, licensing and compatibility according to organizational policy.\"},{\"label\":\"3. Transfer through controlled boundary\",\"description\":\"Move approved artifacts using the authorized manual or mediated process.\"},{\"label\":\"4. Publish internally\",\"description\":\"Place artifacts in internal model, container, package or file repositories.\"},{\"label\":\"5. Deploy locally\",\"description\":\"Run inference, RAG, applications and tools without external dependencies.\"},{\"label\":\"6. Monitor inside the enclave\",\"description\":\"Collect logs, metrics, model\u002Fruntime status and security events locally.\"},{\"label\":\"7. Export only approved evidence\",\"description\":\"Move selected reports or artifacts outward through the reverse controlled process where policy permits.\"},{\"label\":\"8. Repeat for updates\",\"description\":\"Treat new models, patches, corpora and dependencies as new supply-chain imports.\"}]},\"tunes\":{}},{\"id\":\"h-stops\",\"type\":\"header\",\"data\":{\"text\":\"Where the simple example stops\",\"level\":2},\"tunes\":{}},{\"id\":\"p-stops-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A production air-gapped environment can be much larger than one workstation. It may include Kubernetes\u002FOpenShift, internal registries, object storage, identity providers, vector databases, observability, backup infrastructure and several model-serving nodes.\"},\"tunes\":{}},{\"id\":\"p-stops-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The more services exist inside the enclave, the more the organization must reproduce capabilities that connected environments normally consume from the internet.\"},\"tunes\":{}},{\"id\":\"p-stops-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Air-gapping therefore shifts complexity. It reduces direct external connectivity but increases artifact-management, patching, dependency, supply-chain and operational responsibility inside the isolated domain.\"},\"tunes\":{}},{\"id\":\"h-terms\",\"type\":\"header\",\"data\":{\"text\":\"Air-gapped vs offline vs local vs on-premises vs private vs sovereign AI\",\"level\":2},\"tunes\":{}},{\"id\":\"terms-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Term\",\"What it primarily describes\",\"Internet\u002Fexternal connectivity required?\"],[\"Local AI\",\"Inference\u002Fruntime runs on local hardware\",\"No; but it may still call cloud services\"],[\"Offline-capable AI\",\"Can continue operating without internet\",\"No during offline operation; reconnection may be normal\"],[\"Disconnected environment\",\"No direct external-internet path from deployment environment\",\"Usually no; may use controlled mirrors\u002Fbastions\"],[\"On-premises AI\",\"Infrastructure runs in an organization's own\u002Fon-prem environment\",\"Could still have full internet connectivity\"],[\"Private AI\",\"AI processing is controlled to meet privacy\u002Fconfidentiality requirements\",\"Architecture-specific; can be connected or disconnected\"],[\"Air-gapped AI\",\"Security domains are physically disconnected and cross-boundary transfer is non-automated\u002Fmanual under strict definition\",\"No automated external path\"],[\"Sovereign AI\",\"Control\u002Fjurisdiction over models, data, infrastructure and dependencies\",\"Not necessarily; sovereignty is broader than network isolation\"]]},\"tunes\":{}},{\"id\":\"p-terms-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"These terms can overlap but are not synonyms. A local Ollama server connected to the internet is local AI, not air-gapped AI. An on-premises RAG platform that calls a cloud model is on-premises application infrastructure with cloud inference, not air-gapped AI.\"},\"tunes\":{}},{\"id\":\"p-terms-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"An air-gapped system is often private by design because data remains inside the enclave, but privacy also depends on authorization, logging, data handling, physical security and operational policy.\"},\"tunes\":{}},{\"id\":\"h-strict\",\"type\":\"header\",\"data\":{\"text\":\"Strict air gap vs practical disconnected deployment\",\"level\":2},\"tunes\":{}},{\"id\":\"strict-comparison\",\"type\":\"comparison\",\"data\":{\"title\":\"Two meanings frequently called “air-gapped”\",\"layout\":\"table\",\"columns\":[{\"id\":\"strict\",\"label\":\"Strict air gap\"},{\"id\":\"disconnected\",\"label\":\"Disconnected \u002F no-internet deployment\"}],\"rows\":[{\"id\":\"physical\",\"label\":\"External physical connection\",\"values\":{\"strict\":\"\",\"disconnected\":\"\"}},{\"id\":\"transfer\",\"label\":\"Cross-boundary transfer\",\"values\":{\"strict\":\"\",\"disconnected\":\"\"}},{\"id\":\"internet\",\"label\":\"Internet access from AI workload\",\"values\":{\"strict\":\"\",\"disconnected\":\"\"}},{\"id\":\"internalnet\",\"label\":\"Internal networking\",\"values\":{\"strict\":\"\",\"disconnected\":\"\"}},{\"id\":\"best\",\"label\":\"Use term when\",\"values\":{\"strict\":\"\",\"disconnected\":\"\"}}]},\"tunes\":{}},{\"id\":\"naming-rule\",\"type\":\"callout\",\"data\":{\"variant\":\"success\",\"title\":\"Document the boundary instead of relying on the label\",\"body\":\"For architecture and security reviews, write the actual rule: \u003Cstrong>no outbound internet\u003C\u002Fstrong>, \u003Cstrong>no physical external network path\u003C\u002Fstrong>, \u003Cstrong>manual transfer only\u003C\u002Fstrong>, or \u003Cstrong>disconnected cluster with approved bastion\u002Fmirror\u003C\u002Fstrong>. That is more precise than saying only “air-gapped.”\"},\"tunes\":{}},{\"id\":\"h-architecture\",\"type\":\"header\",\"data\":{\"text\":\"A practical air-gapped AI architecture\",\"level\":2},\"tunes\":{}},{\"id\":\"architecture-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Layer\",\"What must exist inside the isolated environment\"],[\"User\u002Fapplication layer\",\"Chat UI, APIs, business application or internal agent interface\"],[\"Identity &amp; authorization\",\"Local\u002Finternal authentication, RBAC, tenant\u002Fresource permissions\"],[\"AI gateway\u002Fruntime\",\"Model routing, request policy, context assembly and runtime controls\"],[\"Model serving\",\"Local model server(s), weights, tokenizer\u002Fconfig and accelerator runtime\"],[\"RAG \u002F knowledge\",\"Document store, parser, embeddings, vector\u002Flexical indexes, metadata and provenance\"],[\"Tools\u002Fservices\",\"Only internal\u002Flocal APIs and approved systems reachable from the enclave\"],[\"Artifact repositories\",\"Local container registry, package mirror, model store and optionally OS\u002Fupdate repositories\"],[\"Observability\",\"Internal logs, metrics, traces and audit records\"],[\"Backup\u002Frecovery\",\"Local or separately controlled backup process appropriate to the security domain\"],[\"Transfer boundary\",\"Controlled import\u002Fexport process with inspection and approval\"]]},\"tunes\":{}},{\"id\":\"p-architecture-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A complete architecture should be able to start and operate without DNS lookups, license checks, package downloads or API calls to public services unless those dependencies have approved internal replacements.\"},\"tunes\":{}},{\"id\":\"p-architecture-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A useful design test is to disconnect the deployment from every external service and cold-start the stack. Hidden dependencies tend to appear during startup, model loading, authentication, package resolution or telemetry initialization.\"},\"tunes\":{}},{\"id\":\"h-models\",\"type\":\"header\",\"data\":{\"text\":\"Models must be pre-staged\",\"level\":2},\"tunes\":{}},{\"id\":\"p-models-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Cloud model APIs are unavailable by definition if the isolated workload has no path to them. The enclave therefore needs locally runnable model artifacts or an internally hosted inference service.\"},\"tunes\":{}},{\"id\":\"p-models-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"NVIDIA's current NIM air-gap documentation explicitly uses a two-phase pattern: download and prepare model assets on a connected machine, transfer them, then run the isolated NIM from local storage without outbound registry access or cloud API keys.\"},\"tunes\":{}},{\"id\":\"p-models-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Model weights are only part of the dependency set. Tokenizers, configuration files, adapters, quantization metadata and any required runtime code must also be present.\"},\"tunes\":{}},{\"id\":\"h-remote-code\",\"type\":\"header\",\"data\":{\"text\":\"Models with remote-code dependencies are an air-gap hazard\",\"level\":2},\"tunes\":{}},{\"id\":\"p-remote-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Some model repositories contain custom Python code or runtime hooks that normally fetch additional code or assets.\"},\"tunes\":{}},{\"id\":\"p-remote-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Current Red Hat AI Inference documentation explicitly warns that some Hugging Face models requiring remote code cannot operate normally in disconnected environments because the library attempts network access even when offline mode is configured.\"},\"tunes\":{}},{\"id\":\"p-remote-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The practical lesson is to test a model's entire loading path offline before approving it for an isolated deployment. “I downloaded the weights” is not proof that the model is self-contained.\"},\"tunes\":{}},{\"id\":\"h-artifacts\",\"type\":\"header\",\"data\":{\"text\":\"Containers, packages and drivers become local supply-chain artifacts\",\"level\":2},\"tunes\":{}},{\"id\":\"p-artifacts-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Connected environments routinely pull container images, Python packages, OS updates and GPU components from public registries. An air-gapped environment cannot assume any of those services.\"},\"tunes\":{}},{\"id\":\"p-artifacts-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Red Hat's disconnected AI deployment model uses internal mirror registries for container images and operator catalogs. Models can be mirrored as OCI artifacts or transferred to persistent storage.\"},\"tunes\":{}},{\"id\":\"p-artifacts-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"For broader stacks, the same pattern often applies to language packages, Linux repositories, JavaScript packages and internal binaries: approved artifacts enter once through the transfer process and are then served from trusted internal repositories.\"},\"tunes\":{}},{\"id\":\"h-bom\",\"type\":\"header\",\"data\":{\"text\":\"Know the complete dependency bill\",\"level\":2},\"tunes\":{}},{\"id\":\"dependency-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Dependency class\",\"Examples\"],[\"Model artifacts\",\"Weights, tokenizer, config, adapters, quantization metadata\"],[\"Inference runtime\",\"vLLM, llama.cpp, Ollama, NIM or other serving runtime\"],[\"GPU\u002Fruntime stack\",\"Drivers, CUDA\u002FROCm libraries, container runtime\"],[\"Application packages\",\"Python wheels, npm packages, system libraries\"],[\"Containers\",\"Application, inference, DB, vector DB, monitoring images\"],[\"RAG models\",\"Embedding model, reranker, OCR\u002Fvision models\"],[\"Data\",\"Knowledge corpus, metadata, schemas, evaluation datasets\"],[\"Security material\",\"Certificates, CA bundles, policy\u002Fconfiguration, malware signatures where applicable\"],[\"Operational artifacts\",\"Dashboards, alert rules, backup tools, runbooks\"],[\"Licensing\",\"Offline-compatible licenses\u002Fentitlements where required\"]]},\"tunes\":{}},{\"id\":\"h-mirror\",\"type\":\"header\",\"data\":{\"text\":\"Internal mirrors are infrastructure, not a convenience\",\"level\":2},\"tunes\":{}},{\"id\":\"p-mirror-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A disconnected deployment becomes maintainable when the isolated domain has known internal sources for approved artifacts.\"},\"tunes\":{}},{\"id\":\"p-mirror-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Red Hat's documented approach uses a mirror registry available to the disconnected cluster so workloads do not need public registries.\"},\"tunes\":{}},{\"id\":\"p-mirror-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The same architectural idea can be applied to model stores and package repositories. The objective is to make artifact origin, version and approval explicit rather than copy random files manually to each server.\"},\"tunes\":{}},{\"id\":\"h-rag\",\"type\":\"header\",\"data\":{\"text\":\"RAG can work fully air-gapped\",\"level\":2},\"tunes\":{}},{\"id\":\"p-rag-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"RAG does not require the public internet. It requires a retrievable corpus, an ingestion\u002Findexing pipeline and a model that can use the retrieved context.\"},\"tunes\":{}},{\"id\":\"p-rag-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Inside an air-gapped environment, the document store, parser\u002FOCR, embedding model, vector or lexical index, reranker and generation model can all run locally.\"},\"tunes\":{}},{\"id\":\"p-rag-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"What changes is source acquisition. Live web search and cloud document connectors are unavailable unless equivalent data is imported through the controlled boundary.\"},\"tunes\":{}},{\"id\":\"p-rag-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"The corpus therefore becomes a governed artifact. Every import should preserve source identity, date\u002Fversion and provenance so users know what knowledge the isolated system actually contains.\"},\"tunes\":{}},{\"id\":\"ref-rag\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works\",\"title\":\"What Is RAG? The Simplest Explanation of How It Works\",\"excerpt\":\"RAG itself is independent of cloud hosting. In an air-gapped architecture, retrieval and generation simply have to be supplied by local\u002Finternal components.\",\"ctaLabel\":\"Read the RAG foundation\"},\"tunes\":{}},{\"id\":\"h-agents\",\"type\":\"header\",\"data\":{\"text\":\"Agents can run air-gapped — but only with reachable tools\",\"level\":2},\"tunes\":{}},{\"id\":\"p-agents-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An agent loop can run entirely inside an isolated enclave if the model\u002Fruntime and required tools are local or reachable on the internal network.\"},\"tunes\":{}},{\"id\":\"p-agents-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A tool that depends on GitHub, public web search, cloud email or an external SaaS API will fail unless the architecture provides an approved internal equivalent or controlled asynchronous exchange process.\"},\"tunes\":{}},{\"id\":\"p-agents-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"This is why air-gapped agent design should begin with a capability inventory: every tool endpoint must be classified as internal, imported, unavailable or deliberately excluded.\"},\"tunes\":{}},{\"id\":\"h-mcp\",\"type\":\"header\",\"data\":{\"text\":\"MCP does not bypass the air gap\",\"level\":2},\"tunes\":{}},{\"id\":\"p-mcp-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP can expose local tools and resources inside an isolated AI environment, but the protocol does not create connectivity through the security boundary.\"},\"tunes\":{}},{\"id\":\"p-mcp-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A local MCP server that reads internal documents can work perfectly offline. A remote MCP server on the public internet cannot be reached from a strict air-gapped enclave.\"},\"tunes\":{}},{\"id\":\"p-mcp-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The same principle applies to any connector protocol: interoperability is separate from network authority.\"},\"tunes\":{}},{\"id\":\"h-identity\",\"type\":\"header\",\"data\":{\"text\":\"Identity and authentication must also work offline\",\"level\":2},\"tunes\":{}},{\"id\":\"p-id-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An AI application can be locally hosted while still depending on a cloud identity provider. That hidden dependency breaks truly disconnected operation.\"},\"tunes\":{}},{\"id\":\"p-id-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Air-gapped designs therefore need an identity architecture that functions inside the enclave: local directory, internal identity provider, internal PKI, local service credentials or another approved mechanism.\"},\"tunes\":{}},{\"id\":\"p-id-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Authorization remains necessary even though the internet is absent. Air gaps do not replace RBAC, tenant isolation or least privilege.\"},\"tunes\":{}},{\"id\":\"h-time\",\"type\":\"header\",\"data\":{\"text\":\"Time, certificates and trust stores become local dependencies\",\"level\":2},\"tunes\":{}},{\"id\":\"p-time-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Many authentication and logging systems depend on reliable time. Certificates expire. Trust stores change. Signed artifacts need validation.\"},\"tunes\":{}},{\"id\":\"p-time-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A disconnected enclave should therefore have internal time synchronization and a certificate\u002Ftrust lifecycle that does not depend on reaching public services during ordinary operation.\"},\"tunes\":{}},{\"id\":\"p-time-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"These are ordinary infrastructure concerns that become visible only when an architecture is tested without internet access.\"},\"tunes\":{}},{\"id\":\"h-telemetry\",\"type\":\"header\",\"data\":{\"text\":\"Telemetry and crash reporting need explicit policy\",\"level\":2},\"tunes\":{}},{\"id\":\"p-tel-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Many modern libraries attempt analytics, update checks or error reporting by default.\"},\"tunes\":{}},{\"id\":\"p-tel-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"In an isolated environment those calls should either be disabled or redirected to internal observability. Repeated failed telemetry attempts can create delays, noisy logs and unexpected startup behavior.\"},\"tunes\":{}},{\"id\":\"p-tel-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"An air-gapped deployment should know which components attempt egress even if the firewall would block them.\"},\"tunes\":{}},{\"id\":\"h-updates\",\"type\":\"header\",\"data\":{\"text\":\"Air-gapped systems still need patches\",\"level\":2},\"tunes\":{}},{\"id\":\"p-update-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Network isolation does not stop software from developing vulnerabilities. It only changes how patches reach the system.\"},\"tunes\":{}},{\"id\":\"p-update-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"NIST frames patch management as preventive maintenance: organizations still need to identify, acquire, prioritize, install and verify patches and updates.\"},\"tunes\":{}},{\"id\":\"p-update-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Air-gapped operations therefore need a repeatable import cadence for OS packages, container images, drivers, AI runtimes and security updates. The trade-off is between isolation stability and vulnerability exposure from stale software.\"},\"tunes\":{}},{\"id\":\"h-patch-flow\",\"type\":\"header\",\"data\":{\"text\":\"A controlled update path\",\"level\":2},\"tunes\":{}},{\"id\":\"patch-flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"Example update lifecycle for an isolated AI environment\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Identify required update\",\"description\":\"Security advisory, model\u002Fruntime improvement or operational need triggers change.\"},{\"label\":\"2. Acquire in connected staging\",\"description\":\"Download exact versions plus signatures\u002Fchecksums and metadata.\"},{\"label\":\"3. Validate supply-chain evidence\",\"description\":\"Verify source, integrity, compatibility and policy requirements.\"},{\"label\":\"4. Test in representative offline staging\",\"description\":\"Confirm the update works without unexpected network dependencies.\"},{\"label\":\"5. Approve transfer\",\"description\":\"Apply the organization's change and security process.\"},{\"label\":\"6. Import into enclave repository\",\"description\":\"Publish the artifact to the internal trusted source.\"},{\"label\":\"7. Deploy gradually\",\"description\":\"Apply to test\u002Fcanary nodes before wider rollout where architecture permits.\"},{\"label\":\"8. Verify and record\",\"description\":\"Confirm version, health, behavior and rollback state.\"}]},\"tunes\":{}},{\"id\":\"h-transfer\",\"type\":\"header\",\"data\":{\"text\":\"The transfer boundary is the most sensitive operational interface\",\"level\":2},\"tunes\":{}},{\"id\":\"p-transfer-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"If external information must enter an air-gapped system, the import channel becomes a major security control point.\"},\"tunes\":{}},{\"id\":\"p-transfer-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The NSA Cybersecurity Technical Cyber Threat Framework explicitly recognizes replication through removable media as a path adversaries can use to cross into disconnected or air-gapped networks.\"},\"tunes\":{}},{\"id\":\"p-transfer-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"That is why controlled media handling, inspection, provenance, encryption where required, malware scanning and role separation can matter as much as the AI stack itself.\"},\"tunes\":{}},{\"id\":\"h-media\",\"type\":\"header\",\"data\":{\"text\":\"Removable media is not a neutral pipe\",\"level\":2},\"tunes\":{}},{\"id\":\"p-media-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"USB drives and other portable media can carry both legitimate model\u002Fdata artifacts and malicious content.\"},\"tunes\":{}},{\"id\":\"p-media-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"NIST's media-sanitization guidance treats storage media as a confidentiality lifecycle object that may require clearing, purging or destruction according to sensitivity and reuse needs.\"},\"tunes\":{}},{\"id\":\"p-media-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The exact transfer procedure is organization-specific, but the architectural principle is stable: cross-boundary media should be governed as a security asset, not treated as an informal convenience.\"},\"tunes\":{}},{\"id\":\"h-supply\",\"type\":\"header\",\"data\":{\"text\":\"Air-gapping increases supply-chain importance\",\"level\":2},\"tunes\":{}},{\"id\":\"p-supply-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An isolated system receives fewer live external inputs, but every imported binary, model, container and package becomes more consequential because the enclave may trust it for a long time.\"},\"tunes\":{}},{\"id\":\"p-supply-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"NIST software-supply-chain guidance emphasizes provenance, supplier risk, vulnerability management, software verification and SBOM-oriented practices. These concerns become directly relevant to offline AI artifact import.\"},\"tunes\":{}},{\"id\":\"p-supply-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Model supply chain deserves the same attention as application supply chain: model origin, license, hash, format, required code, tokenizer, adapters and evaluation status should be known before import.\"},\"tunes\":{}},{\"id\":\"h-readiness\",\"type\":\"header\",\"data\":{\"text\":\"Air-gap readiness should be tested, not assumed\",\"level\":2},\"tunes\":{}},{\"id\":\"readiness-note\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Proposed validation pattern\",\"body\":\"The following air-gap-readiness test is an engineering synthesis, not a NIST or vendor certification method. It is designed to expose hidden external dependencies before deployment.\"},\"tunes\":{}},{\"id\":\"readiness-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Test\",\"What it proves\"],[\"Cold start with all outbound network blocked\",\"Runtime does not require public services during startup\"],[\"Load every approved model from local storage\",\"Weights\u002Ftokenizers\u002Fconfigs are complete\"],[\"Rebuild\u002Fredeploy from internal registries only\",\"Container\u002Fpackage mirrors are sufficient\"],[\"Authenticate users while external IdP is unreachable\",\"Identity works inside the enclave\"],[\"Run RAG ingestion and query offline\",\"Embedding\u002Findexing\u002Fretrieval stack is local\"],[\"Run representative agent tools\",\"Tools do not depend on external APIs\"],[\"Restart after cache deletion\",\"Offline operation is not accidentally relying on previously cached downloads\"],[\"Advance simulated certificate\u002Fupdate lifecycle\",\"Trust and maintenance dependencies are understood\"],[\"Import a new model through staging path\",\"Transfer\u002Fchange procedure is operational\"],[\"Restore from backup\",\"Recovery does not require unavailable cloud storage\"]]},\"tunes\":{}},{\"id\":\"h-cache\",\"type\":\"header\",\"data\":{\"text\":\"Cached once is not the same as air-gap ready\",\"level\":2},\"tunes\":{}},{\"id\":\"p-cache-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A system may appear offline because the model and packages are already cached from earlier internet access.\"},\"tunes\":{}},{\"id\":\"p-cache-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Deleting caches or deploying to a clean node can reveal missing tokenizer files, Python packages, model manifests or remote-code dependencies.\"},\"tunes\":{}},{\"id\":\"p-cache-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Air-gap readiness should therefore be validated from clean internal artifacts, not only from a developer workstation that was previously connected.\"},\"tunes\":{}},{\"id\":\"h-threats\",\"type\":\"header\",\"data\":{\"text\":\"What threats remain inside an air gap?\",\"level\":2},\"tunes\":{}},{\"id\":\"threat-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Threat\",\"Why the air gap does not remove it\"],[\"Compromised imported artifact\",\"Malware\u002Fmodel\u002Fpackage can enter through the authorized transfer path\"],[\"Malicious removable media\",\"Physical transfer can carry executable payloads\"],[\"Insider misuse\",\"Authorized users already exist inside the enclave\"],[\"Prompt injection in imported documents\",\"Untrusted content can influence RAG\u002Fagents without internet\"],[\"Overprivileged agent tools\",\"Local tools can still damage local systems\"],[\"Cross-tenant data leakage\",\"Internal authorization bugs remain possible\"],[\"Vulnerable internal software\",\"Lack of external connection does not remove exploitable bugs\"],[\"Lateral movement\",\"A compromised node can attack other internally connected nodes\"],[\"Stale dependencies\",\"Slow update cadence can leave known vulnerabilities unpatched\"],[\"Physical theft\u002Ftampering\",\"Hardware and media security remain critical\"],[\"Bad model behavior\",\"Hallucination, bias and task failure are independent of networking\"],[\"Supply-chain poisoning\",\"Trusted import sources can still be compromised\"]]},\"tunes\":{}},{\"id\":\"h-benefits\",\"type\":\"header\",\"data\":{\"text\":\"What an air gap actually improves\",\"level\":2},\"tunes\":{}},{\"id\":\"p-benefit-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A genuine air gap can materially reduce attack paths that depend on direct remote connectivity: external command-and-control, cloud credential misuse, internet-facing service exploitation and accidental data exfiltration through ordinary outbound APIs.\"},\"tunes\":{}},{\"id\":\"p-benefit-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"It also makes data residency simple in one narrow sense: inference data cannot be sent to an external cloud service if no path exists.\"},\"tunes\":{}},{\"id\":\"p-benefit-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Those benefits are strongest when the transfer boundary and internal access controls are equally disciplined. A poorly managed USB process can undermine the intended isolation.\"},\"tunes\":{}},{\"id\":\"h-costs\",\"type\":\"header\",\"data\":{\"text\":\"What an air gap makes harder\",\"level\":2},\"tunes\":{}},{\"id\":\"cost-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Area\",\"Operational consequence\"],[\"Model updates\",\"Manual\u002Fstaged transfer instead of direct model-hub pull\"],[\"Security patches\",\"Delayed and governed import workflow\"],[\"Package installation\",\"Internal mirrors or prebuilt artifacts required\"],[\"Cloud AI APIs\",\"Unavailable\"],[\"Web search\u002Fconnectors\",\"Unavailable unless data is imported separately\"],[\"Authentication\",\"Needs internal\u002Foffline-capable identity services\"],[\"Monitoring\",\"Needs internal observability and controlled export\"],[\"Licensing\",\"Products requiring online activation may be unsuitable\"],[\"Troubleshooting\",\"No easy live access to vendor resources from production enclave\"],[\"Capacity\",\"All inference compute must exist locally\"],[\"Disaster recovery\",\"Cloud backups may be unavailable or policy-restricted\"],[\"Knowledge freshness\",\"External information arrives only as fast as the import process\"]]},\"tunes\":{}},{\"id\":\"h-private\",\"type\":\"header\",\"data\":{\"text\":\"Air-gapped AI vs private AI\",\"level\":2},\"tunes\":{}},{\"id\":\"p-private-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Private AI is primarily about controlling sensitive data and AI processing. A private AI platform may be on-premises and still access approved cloud models or external services.\"},\"tunes\":{}},{\"id\":\"p-private-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Air-gapped AI is stricter on connectivity. A system can be private without being air-gapped, and an air-gapped system can still have poor privacy if every internal user has unrestricted access.\"},\"tunes\":{}},{\"id\":\"p-private-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The security objective should determine the architecture: confidentiality, sovereignty, resilience and isolation are related but distinct requirements.\"},\"tunes\":{}},{\"id\":\"h-sovereign\",\"type\":\"header\",\"data\":{\"text\":\"Air-gapped AI vs sovereign AI\",\"level\":2},\"tunes\":{}},{\"id\":\"p-sovereign-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Sovereign AI concerns control over the broader dependency chain: data, models, infrastructure, operators, jurisdiction and strategic dependencies.\"},\"tunes\":{}},{\"id\":\"p-sovereign-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"An air gap can support sovereignty by reducing external runtime dependency, but it does not guarantee sovereign control. The enclave may still depend on foreign hardware, proprietary model licenses or external update suppliers.\"},\"tunes\":{}},{\"id\":\"p-sovereign-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The next canonical article separates those control dimensions explicitly.\"},\"tunes\":{}},{\"id\":\"h-implementation\",\"type\":\"header\",\"data\":{\"text\":\"Original implementation evidence: what the Aaasaasa AI Client proves — and what it does not\",\"level\":2},\"tunes\":{}},{\"id\":\"impl-note\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Implementation boundary\",\"body\":\"Aaasaasa AI Client is useful evidence for \u003Cstrong>local inference architecture\u003C\u002Fstrong>, provider abstraction and separation of runtime\u002Fmodel location. It is \u003Cstrong>not evidence of a deployed air-gapped environment\u003C\u002Fstrong>. The repository also supports cloud and remote paths, and no verified project evidence establishes a physically isolated security domain.\"},\"tunes\":{}},{\"id\":\"p-impl-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The AI Hub separates agent\u002Fclient, provider, model and connection location. It supports local Ollama inference and local-provider Codex operation as distinct choices rather than assuming that every AI request goes to a cloud model.\"},\"tunes\":{}},{\"id\":\"p-impl-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The repository explicitly notes that a local runtime can still use a cloud model, while Direct Ollama chat is local inference. This distinction is directly relevant to air-gap architecture: local execution does not prove that the model or surrounding dependencies are disconnected.\"},\"tunes\":{}},{\"id\":\"p-impl-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Provider abstraction, local model discovery and local inference are therefore building blocks for an air-gap-capable product architecture, but the network boundary, offline dependency mirror, controlled transfer process and offline identity\u002Foperations must still be engineered separately.\"},\"tunes\":{}},{\"id\":\"impl-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Verified project capability\",\"Air-gap relevance\"],[\"Local Ollama inference\",\"Supports local model execution\"],[\"Local provider\u002Fruntime paths\",\"Reduces dependency on cloud inference\"],[\"Provider\u002Fmodel\u002Fruntime separation\",\"Makes cloud dependencies explicit rather than hidden\"],[\"Central permissions\",\"Supports local tool\u002Fdata access control\"],[\"Cloud\u002Fremote provider support also exists\",\"Proves the product itself is hybrid-capable, not inherently air-gapped\"],[\"No verified isolated deployment boundary\",\"Prevents overclaiming air-gap maturity\"]]},\"tunes\":{}},{\"id\":\"h-when\",\"type\":\"header\",\"data\":{\"text\":\"When is air-gapped AI justified?\",\"level\":2},\"tunes\":{}},{\"id\":\"when-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Air gap may be justified when\",\"A connected private architecture may be better when\"],[\"Security policy explicitly requires physically separated domains\",\"Main requirement is only that prompts\u002Fdata are not used by public consumer services\"],[\"Classified or extremely sensitive data cannot cross external networks\",\"Approved enterprise cloud\u002Fprivate endpoints satisfy data controls\"],[\"Operational environment has no reliable external connectivity\",\"Internet is available and operational agility matters\"],[\"Mission continuity must not depend on cloud\u002Fprovider availability\",\"Managed model quality and rapid upgrades are more valuable\"],[\"Regulated\u002Fcritical environment mandates controlled transfer\",\"Standard security controls can meet the actual threat model\"],[\"External SaaS\u002FAPI access is prohibited\",\"Business workflow relies heavily on external connectors\"]]},\"tunes\":{}},{\"id\":\"p-when-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Air-gapping should be a requirement derived from a threat model or policy, not a prestige feature. It has real security value when the eliminated connectivity path is itself unacceptable.\"},\"tunes\":{}},{\"id\":\"p-when-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"For many enterprise use cases, a tightly controlled private network with egress restrictions, local inference and approved update channels may provide a better balance of security and maintainability than a strict physical air gap.\"},\"tunes\":{}},{\"id\":\"h-design\",\"type\":\"header\",\"data\":{\"text\":\"A practical air-gapped AI design sequence\",\"level\":2},\"tunes\":{}},{\"id\":\"design-flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"Design from the boundary inward\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Define what the air gap separates\",\"description\":\"Name the security domains and whether the requirement is strict physical separation or simply no internet.\"},{\"label\":\"2. Inventory every external dependency\",\"description\":\"Models, packages, registries, identity, telemetry, licensing, storage, APIs, DNS\u002Ftime and support services.\"},{\"label\":\"3. Select offline-capable models and runtimes\",\"description\":\"Verify model assets and runtime code can load without remote calls.\"},{\"label\":\"4. Build internal artifact repositories\",\"description\":\"Create trusted sources for containers, packages, models and updates.\"},{\"label\":\"5. Design controlled transfer\",\"description\":\"Define staging, verification, media\u002Fgateway handling, approval and provenance.\"},{\"label\":\"6. Build internal identity and authorization\",\"description\":\"Ensure users, services and tools can authenticate without cloud dependencies.\"},{\"label\":\"7. Keep RAG and tools local\",\"description\":\"Deploy knowledge, embeddings, indexes and required service APIs inside the enclave.\"},{\"label\":\"8. Build internal observability\",\"description\":\"Operate logs, metrics, traces and security monitoring locally.\"},{\"label\":\"9. Define patch\u002Fmodel update cadence\",\"description\":\"Balance vulnerability response with the controlled import process.\"},{\"label\":\"10. Test from a clean disconnected state\",\"description\":\"Cold-start and operate without inherited caches or hidden internet access.\"},{\"label\":\"11. Test compromise paths\",\"description\":\"Exercise removable-media, supply-chain, prompt-injection, insider and lateral-movement scenarios.\"},{\"label\":\"12. Document exceptions and exports\",\"description\":\"Every permitted cross-boundary path should have a named purpose, owner and control set.\"}]},\"tunes\":{}},{\"id\":\"h-checklist\",\"type\":\"header\",\"data\":{\"text\":\"Air-gapped AI architecture checklist\",\"level\":2},\"tunes\":{}},{\"id\":\"checklist-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Question\",\"Expected evidence\"],[\"What exactly is isolated from what?\",\"Documented security-domain boundary\"],[\"Is the boundary physically disconnected?\",\"Network\u002Fphysical architecture evidence if strict air gap is claimed\"],[\"How does data cross the boundary?\",\"Authorized non-automated\u002Fmanual or explicitly documented disconnected workflow\"],[\"Can every model cold-start offline?\",\"Offline loading test\"],[\"Are tokenizer\u002Fconfig\u002Fruntime assets complete?\",\"Verified internal model bundle\"],[\"Where do containers\u002Fpackages come from?\",\"Internal trusted mirror\u002Frepository\"],[\"Can identity work without cloud services?\",\"Internal IdP\u002FPKI\u002Fservice credential path\"],[\"Can RAG ingest\u002Fquery offline?\",\"Local ingestion, embeddings, index and retrieval\"],[\"Which agent tools remain available?\",\"Internal capability inventory\"],[\"How are patches imported?\",\"Controlled maintenance process\"],[\"How are artifacts verified?\",\"Integrity\u002Fprovenance\u002Fmalware\u002Fsupply-chain controls\"],[\"How is removable media governed?\",\"Media handling and sanitization policy\"],[\"Can the system run after caches are cleared?\",\"Clean-environment offline test\"],[\"Where are logs and traces stored?\",\"Internal observability platform\"],[\"How are exports approved?\",\"Controlled egress process\"],[\"What proves this is air-gapped rather than merely local?\",\"Boundary and transfer evidence, not model location\"]]},\"tunes\":{}},{\"id\":\"h-failures\",\"type\":\"header\",\"data\":{\"text\":\"Common air-gapped AI failure modes\",\"level\":2},\"tunes\":{}},{\"id\":\"failure-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Failure mode\",\"What actually failed\"],[\"Local model still downloads tokenizer\u002Fconfig at startup\",\"Model bundle was incomplete\"],[\"Container references public registry\",\"Deployment was not self-contained\"],[\"Cloud identity required for login\",\"Application was local but identity was not\"],[\"License server required externally\",\"Vendor dependency contradicted offline operation\"],[\"Embedding model missing\",\"Chat works but RAG ingestion fails\"],[\"Agent tool calls public SaaS\",\"Agent architecture was not air-gap compatible\"],[\"Only GPU node is isolated\",\"Database, UI or monitoring still depends on external services\"],[\"USB imports are informal\",\"Transfer boundary becomes uncontrolled attack path\"],[\"No patch process\",\"Isolation creates growing vulnerability debt\"],[\"Cached developer machine used as proof\",\"Fresh deployment fails without internet\"],[\"Air gap replaces authorization thinking\",\"Internal users\u002Fservices become overprivileged\"],[\"Air-gapped label used for firewall-only egress block\",\"Security documentation overstates the actual boundary\"]]},\"tunes\":{}},{\"id\":\"h-misconceptions\",\"type\":\"header\",\"data\":{\"text\":\"Common misconceptions\",\"level\":2},\"tunes\":{}},{\"id\":\"misconceptions-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Misconception\",\"Correction\"],[\"“Local AI is air-gapped AI.”\",\"Local describes where inference runs; air gap describes the security\u002Fnetwork boundary.\"],[\"“Air-gapped means one standalone PC.”\",\"An isolated enclave can contain an entire internal network or cluster.\"],[\"“No internet equals strict air gap.”\",\"Under NIST's definition, the separated systems also lack physical connection and cross-boundary transfer is non-automated.\"],[\"“Air gaps eliminate cyber risk.”\",\"Supply-chain, removable-media, insider, internal-network and application risks remain.\"],[\"“RAG needs the cloud.”\",\"RAG can run entirely with local models, indexes and data.\"],[\"“Agents cannot work offline.”\",\"Agents can use internal\u002Flocal tools; they simply cannot reach unavailable external services.\"],[\"“Once installed, the system needs no updates.”\",\"Patches, drivers, models and dependencies still require lifecycle management.\"],[\"“A downloaded model is self-contained.”\",\"Tokenizers, remote code, libraries or model assets may still trigger network dependencies.\"],[\"“Private AI and air-gapped AI are identical.”\",\"Private AI is a data\u002Fcontrol property; air gap is a connectivity property.\"],[\"“Air gap guarantees sovereignty.”\",\"External hardware, licenses, models and supply chain can remain dependencies.\"]]},\"tunes\":{}},{\"id\":\"h-limitations\",\"type\":\"header\",\"data\":{\"text\":\"Limitations\",\"level\":2},\"tunes\":{}},{\"id\":\"p-limit-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Strict air gaps make external knowledge freshness slower because every new source must pass through a transfer process.\"},\"tunes\":{}},{\"id\":\"p-limit-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"They can constrain model choice when licenses, remote-code requirements, hardware needs or provider-only APIs cannot be satisfied offline.\"},\"tunes\":{}},{\"id\":\"p-limit-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"They increase operational cost because infrastructure normally consumed as cloud services must be owned and maintained internally.\"},\"tunes\":{}},{\"id\":\"p-limit-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"They can also create patch latency: stronger change control may keep systems stable while delaying urgent vulnerability remediation.\"},\"tunes\":{}},{\"id\":\"p-limit-5\",\"type\":\"paragraph\",\"data\":{\"text\":\"Air-gapped AI should therefore be evaluated as one security architecture among several, not assumed to be universally superior.\"},\"tunes\":{}},{\"id\":\"h-change\",\"type\":\"header\",\"data\":{\"text\":\"What would change this answer?\",\"level\":2},\"tunes\":{}},{\"id\":\"p-change-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Vendor support for disconnected operation changes quickly. New model formats, signed OCI artifacts, offline license mechanisms and integrated model registries can reduce operational friction.\"},\"tunes\":{}},{\"id\":\"p-change-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The distinction between strict air gap and disconnected deployment will remain important even if vendors continue using the terms loosely.\"},\"tunes\":{}},{\"id\":\"p-change-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The stable principle is that genuine air-gap claims depend on the system boundary and transfer mechanism, not on whether the LLM happens to run locally.\"},\"tunes\":{}},{\"id\":\"h-related\",\"type\":\"header\",\"data\":{\"text\":\"Related canonical knowledge\",\"level\":2},\"tunes\":{}},{\"id\":\"p-related-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Air-Gapped AI is a deployment\u002Fsecurity architecture node. Private AI, Sovereign AI and provider abstraction answer different questions about confidentiality, control and dependency.\"},\"tunes\":{}},{\"id\":\"p-related-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"MLOps\u002FLLMOps becomes more demanding inside a disconnected environment because model, package and update lifecycles must operate through internal repositories and controlled transfer.\"},\"tunes\":{}},{\"id\":\"p-related-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"RAG and Agentic AI remain valid patterns inside the enclave as long as their data and tools are internally available.\"},\"tunes\":{}},{\"id\":\"ref-memory\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context\",\"title\":\"AI Agent Memory Is Not RAG: How to Separate Memory, Retrieval, State and Context\",\"excerpt\":\"Air-gapped AI still needs correct internal boundaries between durable memory, authoritative state, retrieval and model context.\",\"ctaLabel\":\"Read the memory architecture article\"},\"tunes\":{}},{\"id\":\"h-faq\",\"type\":\"header\",\"data\":{\"text\":\"Frequently asked questions\",\"level\":2},\"tunes\":{}},{\"id\":\"faq\",\"type\":\"faq\",\"data\":{\"title\":\"Air-gapped AI FAQ\",\"items\":[{\"id\":\"faq1\",\"question\":\"What is air-gapped AI?\",\"answer\":\"Air-gapped AI is AI deployed inside a security domain physically disconnected from the external systems it is separated from, with cross-boundary transfer performed through controlled non-automated procedures under the strict NIST definition.\"},{\"id\":\"faq2\",\"question\":\"Does air-gapped AI need internet access?\",\"answer\":\"No for normal inference and operation. Required models, packages, data and services must be available inside the isolated environment.\"},{\"id\":\"faq3\",\"question\":\"Is a local LLM automatically air-gapped?\",\"answer\":\"No. A local model can run on a machine that still has internet access or uses cloud identity, tools or storage. Air gap describes the complete system boundary.\"},{\"id\":\"faq4\",\"question\":\"Can RAG work in an air-gapped network?\",\"answer\":\"Yes. Documents, embedding models, vector or lexical indexes, rerankers and generation models can all run locally. External knowledge must be imported through the controlled boundary.\"},{\"id\":\"faq5\",\"question\":\"Can AI agents work air-gapped?\",\"answer\":\"Yes, if their tools and required systems are available inside the isolated network. Public SaaS and cloud APIs are unavailable without a permitted cross-boundary mechanism.\"},{\"id\":\"faq6\",\"question\":\"How are models updated in an air-gapped environment?\",\"answer\":\"Models are typically acquired and validated in a connected staging environment, transferred through an approved process and published to an internal model\u002Fartifact repository.\"},{\"id\":\"faq7\",\"question\":\"Is on-premises AI the same as air-gapped AI?\",\"answer\":\"No. On-premises describes infrastructure location. On-prem systems can remain internet-connected.\"},{\"id\":\"faq8\",\"question\":\"Is private AI the same as air-gapped AI?\",\"answer\":\"No. Private AI is about data\u002Fcontrol requirements and can still use connected infrastructure. Air gap specifically describes network\u002Fdomain separation.\"},{\"id\":\"faq9\",\"question\":\"Does an air gap make AI secure?\",\"answer\":\"It removes or reduces some remote connectivity risks but does not remove supply-chain, removable-media, insider, internal authorization, physical or model-behavior risks.\"},{\"id\":\"faq10\",\"question\":\"What is the best test for air-gap readiness?\",\"answer\":\"Deploy or cold-start the full stack in a clean environment with all external connectivity unavailable and verify that models, identity, RAG, tools, monitoring, updates and recovery depend only on approved internal artifacts and services.\"}]},\"tunes\":{}},{\"id\":\"h-glossary\",\"type\":\"header\",\"data\":{\"text\":\"Glossary\",\"level\":2},\"tunes\":{}},{\"id\":\"glossary\",\"type\":\"glossary\",\"data\":{\"title\":\"Key air-gapped AI terms\",\"entries\":[{\"term\":\"Air gap\",\"definition\":\"Security-domain interface where systems are not physically connected and any cross-boundary logical transfer is non-automated\u002Fmanual under the NIST glossary definition.\",\"anchor\":\"air-gap\"},{\"term\":\"Air-gapped AI\",\"definition\":\"AI system deployed inside an air-gapped security domain with locally available inference and operational dependencies.\",\"anchor\":\"air-gapped-ai\"},{\"term\":\"Disconnected environment\",\"definition\":\"Deployment environment without direct outside-internet access; implementations may use controlled mirror or bastion workflows.\",\"anchor\":\"disconnected-environment\"},{\"term\":\"Offline-capable AI\",\"definition\":\"AI application able to operate for some or all functions without internet connectivity, without necessarily being permanently isolated.\",\"anchor\":\"offline-capable-ai\"},{\"term\":\"Local AI\",\"definition\":\"AI inference or runtime executing on local hardware rather than a remote model endpoint; does not imply network isolation.\",\"anchor\":\"local-ai\"},{\"term\":\"Mirror registry\",\"definition\":\"Internal repository containing approved copies of container images or other artifacts needed by a disconnected deployment.\",\"anchor\":\"mirror-registry\"},{\"term\":\"Staging environment\",\"definition\":\"Connected or controlled zone where artifacts are acquired, verified and prepared before transfer into an isolated domain.\",\"anchor\":\"staging-environment\"},{\"term\":\"Controlled transfer\",\"definition\":\"Governed movement of data or software across the isolation boundary using approved media\u002Fprocesses and verification.\",\"anchor\":\"controlled-transfer\"},{\"term\":\"Artifact provenance\",\"definition\":\"Information showing where a model, package, container or other imported artifact originated and how it was produced or verified.\",\"anchor\":\"artifact-provenance\"},{\"term\":\"Removable media\",\"definition\":\"Portable storage used to transfer data between systems; a potential security path across disconnected domains.\",\"anchor\":\"removable-media\"},{\"term\":\"Internal model store\",\"definition\":\"Repository inside the isolated environment from which approved model artifacts are served or deployed.\",\"anchor\":\"internal-model-store\"},{\"term\":\"Air-gap readiness\",\"definition\":\"Demonstrated ability of the complete AI stack to install, start, operate, update and recover without unapproved external connectivity.\",\"anchor\":\"air-gap-readiness\"}]},\"tunes\":{}},{\"id\":\"h-conclusion\",\"type\":\"header\",\"data\":{\"text\":\"Conclusion\",\"level\":2},\"tunes\":{}},{\"id\":\"p-conclusion-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Air-gapped AI is not a special kind of model. It is an AI architecture operating inside a deliberately isolated security domain.\"},\"tunes\":{}},{\"id\":\"p-conclusion-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The model can be the easy part. Production readiness depends on whether every surrounding dependency — model assets, packages, registries, identity, RAG, tools, monitoring, updates and recovery — can function without an automated external path.\"},\"tunes\":{}},{\"id\":\"p-conclusion-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The shortest reliable rule is: local inference proves where the model runs; air-gap evidence proves how the complete system is separated and how every permitted transfer crosses that boundary.\"},\"tunes\":{}},{\"id\":\"h-sources\",\"type\":\"header\",\"data\":{\"text\":\"Primary sources and current implementation references\",\"level\":2},\"tunes\":{}},{\"id\":\"p-sources-note\",\"type\":\"paragraph\",\"data\":{\"text\":\"The sources below establish the security definition, current disconnected AI deployment patterns and lifecycle risks. Vendor use of “air-gapped” is intentionally distinguished from the stricter NIST definition.\"},\"tunes\":{}},{\"id\":\"src-nist-airgap\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fcsrc.nist.gov\u002Fglossary\u002Fterm\u002Fair_gap\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"NIST CSRC — Air gap\",\"description\":\"NIST glossary definition: physically disconnected systems with non-automated, manually controlled logical transfer across the boundary.\"}},\"tunes\":{}},{\"id\":\"src-nvidia-airgap\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdocs.nvidia.com\u002Fnim\u002Flarge-language-models\u002Flatest\u002Fdeploy-air-gap.html\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"NVIDIA NIM — Air-Gap Deployment\",\"description\":\"Current operational guidance for staging model assets on a connected system and running NIM from local storage without internet, public registries or cloud API keys.\"}},\"tunes\":{}},{\"id\":\"src-redhat-disconnected\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdocs.redhat.com\u002Fen\u002Fdocumentation\u002Fred_hat_ai_inference\u002F3.5\u002Fhtml\u002Fdeploy_the_standalone_red_hat_ai_inference_container_in_a_disconnected_environment\u002Findex\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Red Hat AI Inference — Disconnected deployment\",\"description\":\"Current Red Hat guidance for serving LLMs in disconnected environments with mirrored artifacts and internal infrastructure.\"}},\"tunes\":{}},{\"id\":\"src-redhat-models\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdocs.redhat.com\u002Fen\u002Fdocumentation\u002Fred_hat_ai_inference\u002F3.5\u002Fhtml\u002Fdeploy_the_standalone_red_hat_ai_inference_container_in_a_disconnected_environment\u002Fstoring-models-in-disconnected-environments_disconnected-deploy\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Red Hat AI Inference — Storing models in disconnected environments\",\"description\":\"Current guidance covering OCI model images, persistent model storage and limitations of models requiring remote code.\"}},\"tunes\":{}},{\"id\":\"src-nsa-framework\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.nsa.gov\u002Fportals\u002F75\u002Fdocuments\u002Fwhat-we-do\u002Fcybersecurity\u002Fprofessional-resources\u002Fctr-nsa-css-technical-cyber-threat-framework.pdf\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"NSA — Technical Cyber Threat Framework\",\"description\":\"Threat framework explicitly identifying removable-media replication as a path into disconnected or air-gapped networks.\"}},\"tunes\":{}},{\"id\":\"src-nist-media\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.nist.gov\u002Fpublications\u002Fguidelines-media-sanitization\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"NIST SP 800-88 Rev. 1 — Guidelines for Media Sanitization\",\"description\":\"Guidance for managing and sanitizing storage media according to information confidentiality requirements.\"}},\"tunes\":{}},{\"id\":\"src-nist-patch\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Fsp\u002F800\u002F40\u002Fr4\u002Ffinal\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"NIST SP 800-40 Rev. 4 — Enterprise Patch Management Planning\",\"description\":\"Guidance framing patching and updates as preventive maintenance across enterprise systems.\"}},\"tunes\":{}},{\"id\":\"src-nist-supply\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.nist.gov\u002Fitl\u002Fexecutive-order-14028-improving-nations-cybersecurity\u002Fsoftware-security-supply-chains\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"NIST — Software Security in Supply Chains\",\"description\":\"NIST guidance covering software supply-chain risk, provenance, verification, SBOM-related practices and vulnerability management.\"}},\"tunes\":{}}],\"version\":\"2.31.6\"}",{"time":1726,"blocks":1727,"version":2972},1791495428517,[1728,1732,1737,1742,1747,1752,1756,1760,1764,1768,1772,1776,1780,1784,1788,1792,1821,1825,1829,1833,1837,1841,1877,1881,1885,1889,1914,1919,1923,1960,1964,1968,1972,1976,1980,1984,1988,1992,1996,2000,2004,2008,2012,2016,2020,2057,2061,2065,2069,2073,2077,2081,2085,2089,2093,2100,2104,2108,2112,2116,2120,2124,2128,2132,2136,2140,2144,2148,2152,2156,2160,2164,2168,2172,2176,2180,2184,2188,2192,2196,2200,2229,2233,2237,2241,2245,2249,2253,2257,2261,2265,2269,2273,2277,2281,2286,2322,2326,2330,2334,2338,2342,2385,2389,2393,2397,2401,2405,2447,2451,2455,2459,2463,2467,2471,2475,2479,2483,2488,2492,2496,2500,2525,2529,2554,2558,2562,2566,2607,2611,2665,2669,2712,2716,2752,2756,2760,2764,2768,2772,2776,2780,2784,2788,2792,2796,2800,2804,2808,2815,2819,2854,2858,2894,2897,2901,2905,2909,2913,2917,2923,2930,2937,2944,2951,2958,2965],{"id":215,"data":1729,"type":218,"tunes":1731},{"text":1730},"Air-gapped AI is an AI system deployed inside a security domain that has no physical network connection to the external systems it is separated from, with any transfer across that boundary performed through deliberately controlled, non-automated procedures. The AI model, runtime, data, retrieval indexes, tools and operational dependencies required for inference must therefore be available inside the isolated environment. Air-gapped AI is not simply “a local model” or “an on-premise server”: the defining property is the network and transfer boundary around the complete system.",{},{"id":221,"data":1733,"type":226,"tunes":1736},{"body":1734,"title":1735,"variant":225},"An air-gapped AI system can run LLM inference, RAG, document analysis and even agentic workflows without internet or cloud APIs if every required dependency is available inside the isolated domain.\u003Cbr>\u003Cbr>A practical architecture is:\u003Cbr>\u003Cstrong>controlled import → internal artifact\u002Fmodel repositories → local AI runtime → local data\u002FRAG → local tools → internal users\u002Fservices → local monitoring\u002Faudit\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>The difficult part is not making one LLM answer offline. It is operating the whole AI lifecycle — updates, models, drivers, packages, data imports, credentials, logging and security — without silently depending on external services.","Direct answer",{},{"id":229,"data":1738,"type":226,"tunes":1741},{"body":1739,"title":1740,"variant":233},"NIST's cybersecurity glossary defines an air gap as an interface where two systems are \u003Cstrong>not physically connected\u003C\u002Fstrong> and where any logical transfer is \u003Cstrong>not automated\u003C\u002Fstrong>; data crosses only manually under human control. Vendor documentation sometimes uses “air-gapped” or “disconnected” more broadly for environments with no outside-internet connection but with internal networking and controlled staging infrastructure. Architecture documentation should state which meaning is actually implemented.","Air gap has a stricter meaning than “no internet”",{},{"id":236,"data":1743,"type":226,"tunes":1746},{"body":1744,"title":1745,"variant":233},"Removing direct network connectivity eliminates many remote paths, but it does not eliminate malicious removable media, compromised software\u002Fmodel imports, insider threats, vulnerable internal services, physical compromise, prompt injection through imported documents or lateral movement inside the isolated network.","Air-gapped does not mean secure by definition",{},{"id":242,"data":1748,"type":226,"tunes":1751},{"body":1749,"title":1750,"variant":246},"Current NVIDIA NIM and Red Hat AI Inference documentation both support LLM serving without outside-internet access by pre-staging model and container assets. NVIDIA documents a connected preparation phase followed by an isolated execution phase with local assets and no cloud registry credentials. Red Hat uses mirrored container\u002Fmodel repositories for disconnected OpenShift environments. These are useful implementation examples, but they do not override the stricter NIST definition of an air gap.","Current-source note — 8 October 2026",{},{"id":249,"data":1753,"type":254,"tunes":1755},{"title":1754,"maxLevel":252,"minLevel":253},"Contents",{},{"id":257,"data":1757,"type":42,"tunes":1759},{"text":1758,"level":253},"What air-gapped AI really means",{},{"id":262,"data":1761,"type":218,"tunes":1763},{"text":1762},"The word AI does not change the basic security concept. An air gap is a boundary between security domains. AI simply makes the isolated side more operationally demanding because modern AI stacks normally assume downloadable models, package registries, telemetry, APIs, model hubs and frequent software updates.",{},{"id":267,"data":1765,"type":218,"tunes":1767},{"text":1766},"The isolated environment can still contain many connected machines. An internal cluster may have GPUs, application servers, storage, databases, identity services and monitoring connected to each other. The air gap exists between that enclave and the outside domain.",{},{"id":272,"data":1769,"type":218,"tunes":1771},{"text":1770},"The relevant question is therefore not “Does this GPU have Wi-Fi?” but “Can this AI environment exchange information with the external domain through an automated physical or logical path?”",{},{"id":277,"data":1773,"type":42,"tunes":1775},{"text":1774,"level":253},"The simplest example",{},{"id":282,"data":1777,"type":218,"tunes":1779},{"text":1778},"Imagine a company wants an internal assistant for confidential technical documents, but the environment is not permitted to send those documents to the internet.",{},{"id":287,"data":1781,"type":218,"tunes":1783},{"text":1782},"The company downloads an approved LLM, embedding model, container images and software packages in a connected staging environment. After validation, approved artifacts are transferred into the isolated environment.",{},{"id":292,"data":1785,"type":218,"tunes":1787},{"text":1786},"Inside the enclave, the model server, document parser, vector database, application and identity services run locally. Users can ask questions and use RAG against internal documents without a cloud model or public model registry.",{},{"id":297,"data":1789,"type":218,"tunes":1791},{"text":1790},"When an update is required, the update passes through the controlled import process again rather than being downloaded directly by the production AI server.",{},{"id":302,"data":1793,"type":331,"tunes":1820},{"steps":1794,"title":1819,"orientation":330},[1795,1798,1801,1804,1807,1810,1813,1816],{"label":1796,"description":1797},"1. Acquire outside the enclave","Download approved models, packages, containers, drivers, signatures and documentation in a connected staging environment.",{"label":1799,"description":1800},"2. Verify before transfer","Check provenance, signatures\u002Fchecksums, malware status, licensing and compatibility according to organizational policy.",{"label":1802,"description":1803},"3. Transfer through controlled boundary","Move approved artifacts using the authorized manual or mediated process.",{"label":1805,"description":1806},"4. Publish internally","Place artifacts in internal model, container, package or file repositories.",{"label":1808,"description":1809},"5. Deploy locally","Run inference, RAG, applications and tools without external dependencies.",{"label":1811,"description":1812},"6. Monitor inside the enclave","Collect logs, metrics, model\u002Fruntime status and security events locally.",{"label":1814,"description":1815},"7. Export only approved evidence","Move selected reports or artifacts outward through the reverse controlled process where policy permits.",{"label":1817,"description":1818},"8. Repeat for updates","Treat new models, patches, corpora and dependencies as new supply-chain imports.","A basic air-gapped AI operating cycle",{},{"id":334,"data":1822,"type":42,"tunes":1824},{"text":1823,"level":253},"Where the simple example stops",{},{"id":339,"data":1826,"type":218,"tunes":1828},{"text":1827},"A production air-gapped environment can be much larger than one workstation. It may include Kubernetes\u002FOpenShift, internal registries, object storage, identity providers, vector databases, observability, backup infrastructure and several model-serving nodes.",{},{"id":344,"data":1830,"type":218,"tunes":1832},{"text":1831},"The more services exist inside the enclave, the more the organization must reproduce capabilities that connected environments normally consume from the internet.",{},{"id":349,"data":1834,"type":218,"tunes":1836},{"text":1835},"Air-gapping therefore shifts complexity. It reduces direct external connectivity but increases artifact-management, patching, dependency, supply-chain and operational responsibility inside the isolated domain.",{},{"id":354,"data":1838,"type":42,"tunes":1840},{"text":1839,"level":253},"Air-gapped vs offline vs local vs on-premises vs private vs sovereign AI",{},{"id":359,"data":1842,"type":394,"tunes":1876},{"content":1843,"stretched":43,"withHeadings":14},[1844,1848,1852,1856,1860,1864,1868,1872],[1845,1846,1847],"Term","What it primarily describes","Internet\u002Fexternal connectivity required?",[1849,1850,1851],"Local AI","Inference\u002Fruntime runs on local hardware","No; but it may still call cloud services",[1853,1854,1855],"Offline-capable AI","Can continue operating without internet","No during offline operation; reconnection may be normal",[1857,1858,1859],"Disconnected environment","No direct external-internet path from deployment environment","Usually no; may use controlled mirrors\u002Fbastions",[1861,1862,1863],"On-premises AI","Infrastructure runs in an organization's own\u002Fon-prem environment","Could still have full internet connectivity",[1865,1866,1867],"Private AI","AI processing is controlled to meet privacy\u002Fconfidentiality requirements","Architecture-specific; can be connected or disconnected",[1869,1870,1871],"Air-gapped AI","Security domains are physically disconnected and cross-boundary transfer is non-automated\u002Fmanual under strict definition","No automated external path",[1873,1874,1875],"Sovereign AI","Control\u002Fjurisdiction over models, data, infrastructure and dependencies","Not necessarily; sovereignty is broader than network isolation",{},{"id":397,"data":1878,"type":218,"tunes":1880},{"text":1879},"These terms can overlap but are not synonyms. A local Ollama server connected to the internet is local AI, not air-gapped AI. An on-premises RAG platform that calls a cloud model is on-premises application infrastructure with cloud inference, not air-gapped AI.",{},{"id":402,"data":1882,"type":218,"tunes":1884},{"text":1883},"An air-gapped system is often private by design because data remains inside the enclave, but privacy also depends on authorization, logging, data handling, physical security and operational policy.",{},{"id":407,"data":1886,"type":42,"tunes":1888},{"text":1887,"level":253},"Strict air gap vs practical disconnected deployment",{},{"id":412,"data":1890,"type":444,"tunes":1913},{"rows":1891,"title":1907,"layout":394,"columns":1908},[1892,1895,1898,1901,1904],{"id":416,"label":1893,"values":1894},"External physical connection",{"strict":419,"disconnected":419},{"id":421,"label":1896,"values":1897},"Cross-boundary transfer",{"strict":419,"disconnected":419},{"id":425,"label":1899,"values":1900},"Internet access from AI workload",{"strict":419,"disconnected":419},{"id":429,"label":1902,"values":1903},"Internal networking",{"strict":419,"disconnected":419},{"id":433,"label":1905,"values":1906},"Use term when",{"strict":419,"disconnected":419},"Two meanings frequently called “air-gapped”",[1909,1911],{"id":439,"label":1910},"Strict air gap",{"id":442,"label":1912},"Disconnected \u002F no-internet deployment",{},{"id":447,"data":1915,"type":226,"tunes":1918},{"body":1916,"title":1917,"variant":451},"For architecture and security reviews, write the actual rule: \u003Cstrong>no outbound internet\u003C\u002Fstrong>, \u003Cstrong>no physical external network path\u003C\u002Fstrong>, \u003Cstrong>manual transfer only\u003C\u002Fstrong>, or \u003Cstrong>disconnected cluster with approved bastion\u002Fmirror\u003C\u002Fstrong>. That is more precise than saying only “air-gapped.”","Document the boundary instead of relying on the label",{},{"id":454,"data":1920,"type":42,"tunes":1922},{"text":1921,"level":253},"A practical air-gapped AI architecture",{},{"id":459,"data":1924,"type":394,"tunes":1959},{"content":1925,"stretched":43,"withHeadings":14},[1926,1929,1932,1935,1938,1941,1944,1947,1950,1953,1956],[1927,1928],"Layer","What must exist inside the isolated environment",[1930,1931],"User\u002Fapplication layer","Chat UI, APIs, business application or internal agent interface",[1933,1934],"Identity &amp; authorization","Local\u002Finternal authentication, RBAC, tenant\u002Fresource permissions",[1936,1937],"AI gateway\u002Fruntime","Model routing, request policy, context assembly and runtime controls",[1939,1940],"Model serving","Local model server(s), weights, tokenizer\u002Fconfig and accelerator runtime",[1942,1943],"RAG \u002F knowledge","Document store, parser, embeddings, vector\u002Flexical indexes, metadata and provenance",[1945,1946],"Tools\u002Fservices","Only internal\u002Flocal APIs and approved systems reachable from the enclave",[1948,1949],"Artifact repositories","Local container registry, package mirror, model store and optionally OS\u002Fupdate repositories",[1951,1952],"Observability","Internal logs, metrics, traces and audit records",[1954,1955],"Backup\u002Frecovery","Local or separately controlled backup process appropriate to the security domain",[1957,1958],"Transfer boundary","Controlled import\u002Fexport process with inspection and approval",{},{"id":497,"data":1961,"type":218,"tunes":1963},{"text":1962},"A complete architecture should be able to start and operate without DNS lookups, license checks, package downloads or API calls to public services unless those dependencies have approved internal replacements.",{},{"id":502,"data":1965,"type":218,"tunes":1967},{"text":1966},"A useful design test is to disconnect the deployment from every external service and cold-start the stack. Hidden dependencies tend to appear during startup, model loading, authentication, package resolution or telemetry initialization.",{},{"id":507,"data":1969,"type":42,"tunes":1971},{"text":1970,"level":253},"Models must be pre-staged",{},{"id":512,"data":1973,"type":218,"tunes":1975},{"text":1974},"Cloud model APIs are unavailable by definition if the isolated workload has no path to them. The enclave therefore needs locally runnable model artifacts or an internally hosted inference service.",{},{"id":517,"data":1977,"type":218,"tunes":1979},{"text":1978},"NVIDIA's current NIM air-gap documentation explicitly uses a two-phase pattern: download and prepare model assets on a connected machine, transfer them, then run the isolated NIM from local storage without outbound registry access or cloud API keys.",{},{"id":522,"data":1981,"type":218,"tunes":1983},{"text":1982},"Model weights are only part of the dependency set. Tokenizers, configuration files, adapters, quantization metadata and any required runtime code must also be present.",{},{"id":527,"data":1985,"type":42,"tunes":1987},{"text":1986,"level":253},"Models with remote-code dependencies are an air-gap hazard",{},{"id":532,"data":1989,"type":218,"tunes":1991},{"text":1990},"Some model repositories contain custom Python code or runtime hooks that normally fetch additional code or assets.",{},{"id":537,"data":1993,"type":218,"tunes":1995},{"text":1994},"Current Red Hat AI Inference documentation explicitly warns that some Hugging Face models requiring remote code cannot operate normally in disconnected environments because the library attempts network access even when offline mode is configured.",{},{"id":542,"data":1997,"type":218,"tunes":1999},{"text":1998},"The practical lesson is to test a model's entire loading path offline before approving it for an isolated deployment. “I downloaded the weights” is not proof that the model is self-contained.",{},{"id":547,"data":2001,"type":42,"tunes":2003},{"text":2002,"level":253},"Containers, packages and drivers become local supply-chain artifacts",{},{"id":552,"data":2005,"type":218,"tunes":2007},{"text":2006},"Connected environments routinely pull container images, Python packages, OS updates and GPU components from public registries. An air-gapped environment cannot assume any of those services.",{},{"id":557,"data":2009,"type":218,"tunes":2011},{"text":2010},"Red Hat's disconnected AI deployment model uses internal mirror registries for container images and operator catalogs. Models can be mirrored as OCI artifacts or transferred to persistent storage.",{},{"id":562,"data":2013,"type":218,"tunes":2015},{"text":2014},"For broader stacks, the same pattern often applies to language packages, Linux repositories, JavaScript packages and internal binaries: approved artifacts enter once through the transfer process and are then served from trusted internal repositories.",{},{"id":567,"data":2017,"type":42,"tunes":2019},{"text":2018,"level":253},"Know the complete dependency bill",{},{"id":572,"data":2021,"type":394,"tunes":2056},{"content":2022,"stretched":43,"withHeadings":14},[2023,2026,2029,2032,2035,2038,2041,2044,2047,2050,2053],[2024,2025],"Dependency class","Examples",[2027,2028],"Model artifacts","Weights, tokenizer, config, adapters, quantization metadata",[2030,2031],"Inference runtime","vLLM, llama.cpp, Ollama, NIM or other serving runtime",[2033,2034],"GPU\u002Fruntime stack","Drivers, CUDA\u002FROCm libraries, container runtime",[2036,2037],"Application packages","Python wheels, npm packages, system libraries",[2039,2040],"Containers","Application, inference, DB, vector DB, monitoring images",[2042,2043],"RAG models","Embedding model, reranker, OCR\u002Fvision models",[2045,2046],"Data","Knowledge corpus, metadata, schemas, evaluation datasets",[2048,2049],"Security material","Certificates, CA bundles, policy\u002Fconfiguration, malware signatures where applicable",[2051,2052],"Operational artifacts","Dashboards, alert rules, backup tools, runbooks",[2054,2055],"Licensing","Offline-compatible licenses\u002Fentitlements where required",{},{"id":610,"data":2058,"type":42,"tunes":2060},{"text":2059,"level":253},"Internal mirrors are infrastructure, not a convenience",{},{"id":615,"data":2062,"type":218,"tunes":2064},{"text":2063},"A disconnected deployment becomes maintainable when the isolated domain has known internal sources for approved artifacts.",{},{"id":620,"data":2066,"type":218,"tunes":2068},{"text":2067},"Red Hat's documented approach uses a mirror registry available to the disconnected cluster so workloads do not need public registries.",{},{"id":625,"data":2070,"type":218,"tunes":2072},{"text":2071},"The same architectural idea can be applied to model stores and package repositories. The objective is to make artifact origin, version and approval explicit rather than copy random files manually to each server.",{},{"id":630,"data":2074,"type":42,"tunes":2076},{"text":2075,"level":253},"RAG can work fully air-gapped",{},{"id":635,"data":2078,"type":218,"tunes":2080},{"text":2079},"RAG does not require the public internet. It requires a retrievable corpus, an ingestion\u002Findexing pipeline and a model that can use the retrieved context.",{},{"id":640,"data":2082,"type":218,"tunes":2084},{"text":2083},"Inside an air-gapped environment, the document store, parser\u002FOCR, embedding model, vector or lexical index, reranker and generation model can all run locally.",{},{"id":645,"data":2086,"type":218,"tunes":2088},{"text":2087},"What changes is source acquisition. Live web search and cloud document connectors are unavailable unless equivalent data is imported through the controlled boundary.",{},{"id":650,"data":2090,"type":218,"tunes":2092},{"text":2091},"The corpus therefore becomes a governed artifact. Every import should preserve source identity, date\u002Fversion and provenance so users know what knowledge the isolated system actually contains.",{},{"id":655,"data":2094,"type":661,"tunes":2099},{"url":2095,"title":2096,"excerpt":2097,"ctaLabel":2098},"https:\u002F\u002Fstajic.de\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works","What Is RAG? The Simplest Explanation of How It Works","RAG itself is independent of cloud hosting. In an air-gapped architecture, retrieval and generation simply have to be supplied by local\u002Finternal components.","Read the RAG foundation",{},{"id":664,"data":2101,"type":42,"tunes":2103},{"text":2102,"level":253},"Agents can run air-gapped — but only with reachable tools",{},{"id":669,"data":2105,"type":218,"tunes":2107},{"text":2106},"An agent loop can run entirely inside an isolated enclave if the model\u002Fruntime and required tools are local or reachable on the internal network.",{},{"id":674,"data":2109,"type":218,"tunes":2111},{"text":2110},"A tool that depends on GitHub, public web search, cloud email or an external SaaS API will fail unless the architecture provides an approved internal equivalent or controlled asynchronous exchange process.",{},{"id":679,"data":2113,"type":218,"tunes":2115},{"text":2114},"This is why air-gapped agent design should begin with a capability inventory: every tool endpoint must be classified as internal, imported, unavailable or deliberately excluded.",{},{"id":684,"data":2117,"type":42,"tunes":2119},{"text":2118,"level":253},"MCP does not bypass the air gap",{},{"id":689,"data":2121,"type":218,"tunes":2123},{"text":2122},"MCP can expose local tools and resources inside an isolated AI environment, but the protocol does not create connectivity through the security boundary.",{},{"id":694,"data":2125,"type":218,"tunes":2127},{"text":2126},"A local MCP server that reads internal documents can work perfectly offline. A remote MCP server on the public internet cannot be reached from a strict air-gapped enclave.",{},{"id":699,"data":2129,"type":218,"tunes":2131},{"text":2130},"The same principle applies to any connector protocol: interoperability is separate from network authority.",{},{"id":704,"data":2133,"type":42,"tunes":2135},{"text":2134,"level":253},"Identity and authentication must also work offline",{},{"id":709,"data":2137,"type":218,"tunes":2139},{"text":2138},"An AI application can be locally hosted while still depending on a cloud identity provider. That hidden dependency breaks truly disconnected operation.",{},{"id":714,"data":2141,"type":218,"tunes":2143},{"text":2142},"Air-gapped designs therefore need an identity architecture that functions inside the enclave: local directory, internal identity provider, internal PKI, local service credentials or another approved mechanism.",{},{"id":719,"data":2145,"type":218,"tunes":2147},{"text":2146},"Authorization remains necessary even though the internet is absent. Air gaps do not replace RBAC, tenant isolation or least privilege.",{},{"id":724,"data":2149,"type":42,"tunes":2151},{"text":2150,"level":253},"Time, certificates and trust stores become local dependencies",{},{"id":729,"data":2153,"type":218,"tunes":2155},{"text":2154},"Many authentication and logging systems depend on reliable time. Certificates expire. Trust stores change. Signed artifacts need validation.",{},{"id":734,"data":2157,"type":218,"tunes":2159},{"text":2158},"A disconnected enclave should therefore have internal time synchronization and a certificate\u002Ftrust lifecycle that does not depend on reaching public services during ordinary operation.",{},{"id":739,"data":2161,"type":218,"tunes":2163},{"text":2162},"These are ordinary infrastructure concerns that become visible only when an architecture is tested without internet access.",{},{"id":744,"data":2165,"type":42,"tunes":2167},{"text":2166,"level":253},"Telemetry and crash reporting need explicit policy",{},{"id":749,"data":2169,"type":218,"tunes":2171},{"text":2170},"Many modern libraries attempt analytics, update checks or error reporting by default.",{},{"id":754,"data":2173,"type":218,"tunes":2175},{"text":2174},"In an isolated environment those calls should either be disabled or redirected to internal observability. Repeated failed telemetry attempts can create delays, noisy logs and unexpected startup behavior.",{},{"id":759,"data":2177,"type":218,"tunes":2179},{"text":2178},"An air-gapped deployment should know which components attempt egress even if the firewall would block them.",{},{"id":764,"data":2181,"type":42,"tunes":2183},{"text":2182,"level":253},"Air-gapped systems still need patches",{},{"id":769,"data":2185,"type":218,"tunes":2187},{"text":2186},"Network isolation does not stop software from developing vulnerabilities. It only changes how patches reach the system.",{},{"id":774,"data":2189,"type":218,"tunes":2191},{"text":2190},"NIST frames patch management as preventive maintenance: organizations still need to identify, acquire, prioritize, install and verify patches and updates.",{},{"id":779,"data":2193,"type":218,"tunes":2195},{"text":2194},"Air-gapped operations therefore need a repeatable import cadence for OS packages, container images, drivers, AI runtimes and security updates. The trade-off is between isolation stability and vulnerability exposure from stale software.",{},{"id":784,"data":2197,"type":42,"tunes":2199},{"text":2198,"level":253},"A controlled update path",{},{"id":789,"data":2201,"type":331,"tunes":2228},{"steps":2202,"title":2227,"orientation":330},[2203,2206,2209,2212,2215,2218,2221,2224],{"label":2204,"description":2205},"1. Identify required update","Security advisory, model\u002Fruntime improvement or operational need triggers change.",{"label":2207,"description":2208},"2. Acquire in connected staging","Download exact versions plus signatures\u002Fchecksums and metadata.",{"label":2210,"description":2211},"3. Validate supply-chain evidence","Verify source, integrity, compatibility and policy requirements.",{"label":2213,"description":2214},"4. Test in representative offline staging","Confirm the update works without unexpected network dependencies.",{"label":2216,"description":2217},"5. Approve transfer","Apply the organization's change and security process.",{"label":2219,"description":2220},"6. Import into enclave repository","Publish the artifact to the internal trusted source.",{"label":2222,"description":2223},"7. Deploy gradually","Apply to test\u002Fcanary nodes before wider rollout where architecture permits.",{"label":2225,"description":2226},"8. Verify and record","Confirm version, health, behavior and rollback state.","Example update lifecycle for an isolated AI environment",{},{"id":819,"data":2230,"type":42,"tunes":2232},{"text":2231,"level":253},"The transfer boundary is the most sensitive operational interface",{},{"id":824,"data":2234,"type":218,"tunes":2236},{"text":2235},"If external information must enter an air-gapped system, the import channel becomes a major security control point.",{},{"id":829,"data":2238,"type":218,"tunes":2240},{"text":2239},"The NSA Cybersecurity Technical Cyber Threat Framework explicitly recognizes replication through removable media as a path adversaries can use to cross into disconnected or air-gapped networks.",{},{"id":834,"data":2242,"type":218,"tunes":2244},{"text":2243},"That is why controlled media handling, inspection, provenance, encryption where required, malware scanning and role separation can matter as much as the AI stack itself.",{},{"id":839,"data":2246,"type":42,"tunes":2248},{"text":2247,"level":253},"Removable media is not a neutral pipe",{},{"id":844,"data":2250,"type":218,"tunes":2252},{"text":2251},"USB drives and other portable media can carry both legitimate model\u002Fdata artifacts and malicious content.",{},{"id":849,"data":2254,"type":218,"tunes":2256},{"text":2255},"NIST's media-sanitization guidance treats storage media as a confidentiality lifecycle object that may require clearing, purging or destruction according to sensitivity and reuse needs.",{},{"id":854,"data":2258,"type":218,"tunes":2260},{"text":2259},"The exact transfer procedure is organization-specific, but the architectural principle is stable: cross-boundary media should be governed as a security asset, not treated as an informal convenience.",{},{"id":859,"data":2262,"type":42,"tunes":2264},{"text":2263,"level":253},"Air-gapping increases supply-chain importance",{},{"id":864,"data":2266,"type":218,"tunes":2268},{"text":2267},"An isolated system receives fewer live external inputs, but every imported binary, model, container and package becomes more consequential because the enclave may trust it for a long time.",{},{"id":869,"data":2270,"type":218,"tunes":2272},{"text":2271},"NIST software-supply-chain guidance emphasizes provenance, supplier risk, vulnerability management, software verification and SBOM-oriented practices. These concerns become directly relevant to offline AI artifact import.",{},{"id":874,"data":2274,"type":218,"tunes":2276},{"text":2275},"Model supply chain deserves the same attention as application supply chain: model origin, license, hash, format, required code, tokenizer, adapters and evaluation status should be known before import.",{},{"id":879,"data":2278,"type":42,"tunes":2280},{"text":2279,"level":253},"Air-gap readiness should be tested, not assumed",{},{"id":884,"data":2282,"type":226,"tunes":2285},{"body":2283,"title":2284,"variant":246},"The following air-gap-readiness test is an engineering synthesis, not a NIST or vendor certification method. It is designed to expose hidden external dependencies before deployment.","Proposed validation pattern",{},{"id":890,"data":2287,"type":394,"tunes":2321},{"content":2288,"stretched":43,"withHeadings":14},[2289,2291,2294,2297,2300,2303,2306,2309,2312,2315,2318],[894,2290],"What it proves",[2292,2293],"Cold start with all outbound network blocked","Runtime does not require public services during startup",[2295,2296],"Load every approved model from local storage","Weights\u002Ftokenizers\u002Fconfigs are complete",[2298,2299],"Rebuild\u002Fredeploy from internal registries only","Container\u002Fpackage mirrors are sufficient",[2301,2302],"Authenticate users while external IdP is unreachable","Identity works inside the enclave",[2304,2305],"Run RAG ingestion and query offline","Embedding\u002Findexing\u002Fretrieval stack is local",[2307,2308],"Run representative agent tools","Tools do not depend on external APIs",[2310,2311],"Restart after cache deletion","Offline operation is not accidentally relying on previously cached downloads",[2313,2314],"Advance simulated certificate\u002Fupdate lifecycle","Trust and maintenance dependencies are understood",[2316,2317],"Import a new model through staging path","Transfer\u002Fchange procedure is operational",[2319,2320],"Restore from backup","Recovery does not require unavailable cloud storage",{},{"id":928,"data":2323,"type":42,"tunes":2325},{"text":2324,"level":253},"Cached once is not the same as air-gap ready",{},{"id":933,"data":2327,"type":218,"tunes":2329},{"text":2328},"A system may appear offline because the model and packages are already cached from earlier internet access.",{},{"id":938,"data":2331,"type":218,"tunes":2333},{"text":2332},"Deleting caches or deploying to a clean node can reveal missing tokenizer files, Python packages, model manifests or remote-code dependencies.",{},{"id":943,"data":2335,"type":218,"tunes":2337},{"text":2336},"Air-gap readiness should therefore be validated from clean internal artifacts, not only from a developer workstation that was previously connected.",{},{"id":948,"data":2339,"type":42,"tunes":2341},{"text":2340,"level":253},"What threats remain inside an air gap?",{},{"id":953,"data":2343,"type":394,"tunes":2384},{"content":2344,"stretched":43,"withHeadings":14},[2345,2348,2351,2354,2357,2360,2363,2366,2369,2372,2375,2378,2381],[2346,2347],"Threat","Why the air gap does not remove it",[2349,2350],"Compromised imported artifact","Malware\u002Fmodel\u002Fpackage can enter through the authorized transfer path",[2352,2353],"Malicious removable media","Physical transfer can carry executable payloads",[2355,2356],"Insider misuse","Authorized users already exist inside the enclave",[2358,2359],"Prompt injection in imported documents","Untrusted content can influence RAG\u002Fagents without internet",[2361,2362],"Overprivileged agent tools","Local tools can still damage local systems",[2364,2365],"Cross-tenant data leakage","Internal authorization bugs remain possible",[2367,2368],"Vulnerable internal software","Lack of external connection does not remove exploitable bugs",[2370,2371],"Lateral movement","A compromised node can attack other internally connected nodes",[2373,2374],"Stale dependencies","Slow update cadence can leave known vulnerabilities unpatched",[2376,2377],"Physical theft\u002Ftampering","Hardware and media security remain critical",[2379,2380],"Bad model behavior","Hallucination, bias and task failure are independent of networking",[2382,2383],"Supply-chain poisoning","Trusted import sources can still be compromised",{},{"id":997,"data":2386,"type":42,"tunes":2388},{"text":2387,"level":253},"What an air gap actually improves",{},{"id":1002,"data":2390,"type":218,"tunes":2392},{"text":2391},"A genuine air gap can materially reduce attack paths that depend on direct remote connectivity: external command-and-control, cloud credential misuse, internet-facing service exploitation and accidental data exfiltration through ordinary outbound APIs.",{},{"id":1007,"data":2394,"type":218,"tunes":2396},{"text":2395},"It also makes data residency simple in one narrow sense: inference data cannot be sent to an external cloud service if no path exists.",{},{"id":1012,"data":2398,"type":218,"tunes":2400},{"text":2399},"Those benefits are strongest when the transfer boundary and internal access controls are equally disciplined. A poorly managed USB process can undermine the intended isolation.",{},{"id":1017,"data":2402,"type":42,"tunes":2404},{"text":2403,"level":253},"What an air gap makes harder",{},{"id":1022,"data":2406,"type":394,"tunes":2446},{"content":2407,"stretched":43,"withHeadings":14},[2408,2411,2414,2417,2420,2423,2426,2429,2432,2434,2437,2440,2443],[2409,2410],"Area","Operational consequence",[2412,2413],"Model updates","Manual\u002Fstaged transfer instead of direct model-hub pull",[2415,2416],"Security patches","Delayed and governed import workflow",[2418,2419],"Package installation","Internal mirrors or prebuilt artifacts required",[2421,2422],"Cloud AI APIs","Unavailable",[2424,2425],"Web search\u002Fconnectors","Unavailable unless data is imported separately",[2427,2428],"Authentication","Needs internal\u002Foffline-capable identity services",[2430,2431],"Monitoring","Needs internal observability and controlled export",[2054,2433],"Products requiring online activation may be unsuitable",[2435,2436],"Troubleshooting","No easy live access to vendor resources from production enclave",[2438,2439],"Capacity","All inference compute must exist locally",[2441,2442],"Disaster recovery","Cloud backups may be unavailable or policy-restricted",[2444,2445],"Knowledge freshness","External information arrives only as fast as the import process",{},{"id":1065,"data":2448,"type":42,"tunes":2450},{"text":2449,"level":253},"Air-gapped AI vs private AI",{},{"id":1070,"data":2452,"type":218,"tunes":2454},{"text":2453},"Private AI is primarily about controlling sensitive data and AI processing. A private AI platform may be on-premises and still access approved cloud models or external services.",{},{"id":1075,"data":2456,"type":218,"tunes":2458},{"text":2457},"Air-gapped AI is stricter on connectivity. A system can be private without being air-gapped, and an air-gapped system can still have poor privacy if every internal user has unrestricted access.",{},{"id":1080,"data":2460,"type":218,"tunes":2462},{"text":2461},"The security objective should determine the architecture: confidentiality, sovereignty, resilience and isolation are related but distinct requirements.",{},{"id":1085,"data":2464,"type":42,"tunes":2466},{"text":2465,"level":253},"Air-gapped AI vs sovereign AI",{},{"id":1090,"data":2468,"type":218,"tunes":2470},{"text":2469},"Sovereign AI concerns control over the broader dependency chain: data, models, infrastructure, operators, jurisdiction and strategic dependencies.",{},{"id":1095,"data":2472,"type":218,"tunes":2474},{"text":2473},"An air gap can support sovereignty by reducing external runtime dependency, but it does not guarantee sovereign control. The enclave may still depend on foreign hardware, proprietary model licenses or external update suppliers.",{},{"id":1100,"data":2476,"type":218,"tunes":2478},{"text":2477},"The next canonical article separates those control dimensions explicitly.",{},{"id":1105,"data":2480,"type":42,"tunes":2482},{"text":2481,"level":253},"Original implementation evidence: what the Aaasaasa AI Client proves — and what it does not",{},{"id":1110,"data":2484,"type":226,"tunes":2487},{"body":2485,"title":2486,"variant":246},"Aaasaasa AI Client is useful evidence for \u003Cstrong>local inference architecture\u003C\u002Fstrong>, provider abstraction and separation of runtime\u002Fmodel location. It is \u003Cstrong>not evidence of a deployed air-gapped environment\u003C\u002Fstrong>. The repository also supports cloud and remote paths, and no verified project evidence establishes a physically isolated security domain.","Implementation boundary",{},{"id":1116,"data":2489,"type":218,"tunes":2491},{"text":2490},"The AI Hub separates agent\u002Fclient, provider, model and connection location. It supports local Ollama inference and local-provider Codex operation as distinct choices rather than assuming that every AI request goes to a cloud model.",{},{"id":1121,"data":2493,"type":218,"tunes":2495},{"text":2494},"The repository explicitly notes that a local runtime can still use a cloud model, while Direct Ollama chat is local inference. This distinction is directly relevant to air-gap architecture: local execution does not prove that the model or surrounding dependencies are disconnected.",{},{"id":1126,"data":2497,"type":218,"tunes":2499},{"text":2498},"Provider abstraction, local model discovery and local inference are therefore building blocks for an air-gap-capable product architecture, but the network boundary, offline dependency mirror, controlled transfer process and offline identity\u002Foperations must still be engineered separately.",{},{"id":1131,"data":2501,"type":394,"tunes":2524},{"content":2502,"stretched":43,"withHeadings":14},[2503,2506,2509,2512,2515,2518,2521],[2504,2505],"Verified project capability","Air-gap relevance",[2507,2508],"Local Ollama inference","Supports local model execution",[2510,2511],"Local provider\u002Fruntime paths","Reduces dependency on cloud inference",[2513,2514],"Provider\u002Fmodel\u002Fruntime separation","Makes cloud dependencies explicit rather than hidden",[2516,2517],"Central permissions","Supports local tool\u002Fdata access control",[2519,2520],"Cloud\u002Fremote provider support also exists","Proves the product itself is hybrid-capable, not inherently air-gapped",[2522,2523],"No verified isolated deployment boundary","Prevents overclaiming air-gap maturity",{},{"id":1157,"data":2526,"type":42,"tunes":2528},{"text":2527,"level":253},"When is air-gapped AI justified?",{},{"id":1162,"data":2530,"type":394,"tunes":2553},{"content":2531,"stretched":43,"withHeadings":14},[2532,2535,2538,2541,2544,2547,2550],[2533,2534],"Air gap may be justified when","A connected private architecture may be better when",[2536,2537],"Security policy explicitly requires physically separated domains","Main requirement is only that prompts\u002Fdata are not used by public consumer services",[2539,2540],"Classified or extremely sensitive data cannot cross external networks","Approved enterprise cloud\u002Fprivate endpoints satisfy data controls",[2542,2543],"Operational environment has no reliable external connectivity","Internet is available and operational agility matters",[2545,2546],"Mission continuity must not depend on cloud\u002Fprovider availability","Managed model quality and rapid upgrades are more valuable",[2548,2549],"Regulated\u002Fcritical environment mandates controlled transfer","Standard security controls can meet the actual threat model",[2551,2552],"External SaaS\u002FAPI access is prohibited","Business workflow relies heavily on external connectors",{},{"id":1188,"data":2555,"type":218,"tunes":2557},{"text":2556},"Air-gapping should be a requirement derived from a threat model or policy, not a prestige feature. It has real security value when the eliminated connectivity path is itself unacceptable.",{},{"id":1193,"data":2559,"type":218,"tunes":2561},{"text":2560},"For many enterprise use cases, a tightly controlled private network with egress restrictions, local inference and approved update channels may provide a better balance of security and maintainability than a strict physical air gap.",{},{"id":1198,"data":2563,"type":42,"tunes":2565},{"text":2564,"level":253},"A practical air-gapped AI design sequence",{},{"id":1203,"data":2567,"type":331,"tunes":2606},{"steps":2568,"title":2605,"orientation":330},[2569,2572,2575,2578,2581,2584,2587,2590,2593,2596,2599,2602],{"label":2570,"description":2571},"1. Define what the air gap separates","Name the security domains and whether the requirement is strict physical separation or simply no internet.",{"label":2573,"description":2574},"2. Inventory every external dependency","Models, packages, registries, identity, telemetry, licensing, storage, APIs, DNS\u002Ftime and support services.",{"label":2576,"description":2577},"3. Select offline-capable models and runtimes","Verify model assets and runtime code can load without remote calls.",{"label":2579,"description":2580},"4. Build internal artifact repositories","Create trusted sources for containers, packages, models and updates.",{"label":2582,"description":2583},"5. Design controlled transfer","Define staging, verification, media\u002Fgateway handling, approval and provenance.",{"label":2585,"description":2586},"6. Build internal identity and authorization","Ensure users, services and tools can authenticate without cloud dependencies.",{"label":2588,"description":2589},"7. Keep RAG and tools local","Deploy knowledge, embeddings, indexes and required service APIs inside the enclave.",{"label":2591,"description":2592},"8. Build internal observability","Operate logs, metrics, traces and security monitoring locally.",{"label":2594,"description":2595},"9. Define patch\u002Fmodel update cadence","Balance vulnerability response with the controlled import process.",{"label":2597,"description":2598},"10. Test from a clean disconnected state","Cold-start and operate without inherited caches or hidden internet access.",{"label":2600,"description":2601},"11. Test compromise paths","Exercise removable-media, supply-chain, prompt-injection, insider and lateral-movement scenarios.",{"label":2603,"description":2604},"12. Document exceptions and exports","Every permitted cross-boundary path should have a named purpose, owner and control set.","Design from the boundary inward",{},{"id":1245,"data":2608,"type":42,"tunes":2610},{"text":2609,"level":253},"Air-gapped AI architecture checklist",{},{"id":1250,"data":2612,"type":394,"tunes":2664},{"content":2613,"stretched":43,"withHeadings":14},[2614,2616,2619,2622,2625,2628,2631,2634,2637,2640,2643,2646,2649,2652,2655,2658,2661],[1254,2615],"Expected evidence",[2617,2618],"What exactly is isolated from what?","Documented security-domain boundary",[2620,2621],"Is the boundary physically disconnected?","Network\u002Fphysical architecture evidence if strict air gap is claimed",[2623,2624],"How does data cross the boundary?","Authorized non-automated\u002Fmanual or explicitly documented disconnected workflow",[2626,2627],"Can every model cold-start offline?","Offline loading test",[2629,2630],"Are tokenizer\u002Fconfig\u002Fruntime assets complete?","Verified internal model bundle",[2632,2633],"Where do containers\u002Fpackages come from?","Internal trusted mirror\u002Frepository",[2635,2636],"Can identity work without cloud services?","Internal IdP\u002FPKI\u002Fservice credential path",[2638,2639],"Can RAG ingest\u002Fquery offline?","Local ingestion, embeddings, index and retrieval",[2641,2642],"Which agent tools remain available?","Internal capability inventory",[2644,2645],"How are patches imported?","Controlled maintenance process",[2647,2648],"How are artifacts verified?","Integrity\u002Fprovenance\u002Fmalware\u002Fsupply-chain controls",[2650,2651],"How is removable media governed?","Media handling and sanitization policy",[2653,2654],"Can the system run after caches are cleared?","Clean-environment offline test",[2656,2657],"Where are logs and traces stored?","Internal observability platform",[2659,2660],"How are exports approved?","Controlled egress process",[2662,2663],"What proves this is air-gapped rather than merely local?","Boundary and transfer evidence, not model location",{},{"id":1306,"data":2666,"type":42,"tunes":2668},{"text":2667,"level":253},"Common air-gapped AI failure modes",{},{"id":1311,"data":2670,"type":394,"tunes":2711},{"content":2671,"stretched":43,"withHeadings":14},[2672,2675,2678,2681,2684,2687,2690,2693,2696,2699,2702,2705,2708],[2673,2674],"Failure mode","What actually failed",[2676,2677],"Local model still downloads tokenizer\u002Fconfig at startup","Model bundle was incomplete",[2679,2680],"Container references public registry","Deployment was not self-contained",[2682,2683],"Cloud identity required for login","Application was local but identity was not",[2685,2686],"License server required externally","Vendor dependency contradicted offline operation",[2688,2689],"Embedding model missing","Chat works but RAG ingestion fails",[2691,2692],"Agent tool calls public SaaS","Agent architecture was not air-gap compatible",[2694,2695],"Only GPU node is isolated","Database, UI or monitoring still depends on external services",[2697,2698],"USB imports are informal","Transfer boundary becomes uncontrolled attack path",[2700,2701],"No patch process","Isolation creates growing vulnerability debt",[2703,2704],"Cached developer machine used as proof","Fresh deployment fails without internet",[2706,2707],"Air gap replaces authorization thinking","Internal users\u002Fservices become overprivileged",[2709,2710],"Air-gapped label used for firewall-only egress block","Security documentation overstates the actual boundary",{},{"id":1355,"data":2713,"type":42,"tunes":2715},{"text":2714,"level":253},"Common misconceptions",{},{"id":1360,"data":2717,"type":394,"tunes":2751},{"content":2718,"stretched":43,"withHeadings":14},[2719,2721,2724,2727,2730,2733,2736,2739,2742,2745,2748],[2720,1365],"Misconception",[2722,2723],"“Local AI is air-gapped AI.”","Local describes where inference runs; air gap describes the security\u002Fnetwork boundary.",[2725,2726],"“Air-gapped means one standalone PC.”","An isolated enclave can contain an entire internal network or cluster.",[2728,2729],"“No internet equals strict air gap.”","Under NIST's definition, the separated systems also lack physical connection and cross-boundary transfer is non-automated.",[2731,2732],"“Air gaps eliminate cyber risk.”","Supply-chain, removable-media, insider, internal-network and application risks remain.",[2734,2735],"“RAG needs the cloud.”","RAG can run entirely with local models, indexes and data.",[2737,2738],"“Agents cannot work offline.”","Agents can use internal\u002Flocal tools; they simply cannot reach unavailable external services.",[2740,2741],"“Once installed, the system needs no updates.”","Patches, drivers, models and dependencies still require lifecycle management.",[2743,2744],"“A downloaded model is self-contained.”","Tokenizers, remote code, libraries or model assets may still trigger network dependencies.",[2746,2747],"“Private AI and air-gapped AI are identical.”","Private AI is a data\u002Fcontrol property; air gap is a connectivity property.",[2749,2750],"“Air gap guarantees sovereignty.”","External hardware, licenses, models and supply chain can remain dependencies.",{},{"id":1398,"data":2753,"type":42,"tunes":2755},{"text":2754,"level":253},"Limitations",{},{"id":1403,"data":2757,"type":218,"tunes":2759},{"text":2758},"Strict air gaps make external knowledge freshness slower because every new source must pass through a transfer process.",{},{"id":1408,"data":2761,"type":218,"tunes":2763},{"text":2762},"They can constrain model choice when licenses, remote-code requirements, hardware needs or provider-only APIs cannot be satisfied offline.",{},{"id":1413,"data":2765,"type":218,"tunes":2767},{"text":2766},"They increase operational cost because infrastructure normally consumed as cloud services must be owned and maintained internally.",{},{"id":1418,"data":2769,"type":218,"tunes":2771},{"text":2770},"They can also create patch latency: stronger change control may keep systems stable while delaying urgent vulnerability remediation.",{},{"id":1423,"data":2773,"type":218,"tunes":2775},{"text":2774},"Air-gapped AI should therefore be evaluated as one security architecture among several, not assumed to be universally superior.",{},{"id":1428,"data":2777,"type":42,"tunes":2779},{"text":2778,"level":253},"What would change this answer?",{},{"id":1433,"data":2781,"type":218,"tunes":2783},{"text":2782},"Vendor support for disconnected operation changes quickly. New model formats, signed OCI artifacts, offline license mechanisms and integrated model registries can reduce operational friction.",{},{"id":1438,"data":2785,"type":218,"tunes":2787},{"text":2786},"The distinction between strict air gap and disconnected deployment will remain important even if vendors continue using the terms loosely.",{},{"id":1443,"data":2789,"type":218,"tunes":2791},{"text":2790},"The stable principle is that genuine air-gap claims depend on the system boundary and transfer mechanism, not on whether the LLM happens to run locally.",{},{"id":1448,"data":2793,"type":42,"tunes":2795},{"text":2794,"level":253},"Related canonical knowledge",{},{"id":1453,"data":2797,"type":218,"tunes":2799},{"text":2798},"Air-Gapped AI is a deployment\u002Fsecurity architecture node. Private AI, Sovereign AI and provider abstraction answer different questions about confidentiality, control and dependency.",{},{"id":1458,"data":2801,"type":218,"tunes":2803},{"text":2802},"MLOps\u002FLLMOps becomes more demanding inside a disconnected environment because model, package and update lifecycles must operate through internal repositories and controlled transfer.",{},{"id":1463,"data":2805,"type":218,"tunes":2807},{"text":2806},"RAG and Agentic AI remain valid patterns inside the enclave as long as their data and tools are internally available.",{},{"id":1468,"data":2809,"type":661,"tunes":2814},{"url":2810,"title":2811,"excerpt":2812,"ctaLabel":2813},"https:\u002F\u002Fstajic.de\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","AI Agent Memory Is Not RAG: How to Separate Memory, Retrieval, State and Context","Air-gapped AI still needs correct internal boundaries between durable memory, authoritative state, retrieval and model context.","Read the memory architecture article",{},{"id":1476,"data":2816,"type":42,"tunes":2818},{"text":2817,"level":253},"Frequently asked questions",{},{"id":1481,"data":2820,"type":1481,"tunes":2853},{"items":2821,"title":2852},[2822,2825,2828,2831,2834,2837,2840,2843,2846,2849],{"id":1485,"answer":2823,"question":2824},"Air-gapped AI is AI deployed inside a security domain physically disconnected from the external systems it is separated from, with cross-boundary transfer performed through controlled non-automated procedures under the strict NIST definition.","What is air-gapped AI?",{"id":1489,"answer":2826,"question":2827},"No for normal inference and operation. Required models, packages, data and services must be available inside the isolated environment.","Does air-gapped AI need internet access?",{"id":1493,"answer":2829,"question":2830},"No. A local model can run on a machine that still has internet access or uses cloud identity, tools or storage. Air gap describes the complete system boundary.","Is a local LLM automatically air-gapped?",{"id":1497,"answer":2832,"question":2833},"Yes. Documents, embedding models, vector or lexical indexes, rerankers and generation models can all run locally. External knowledge must be imported through the controlled boundary.","Can RAG work in an air-gapped network?",{"id":1501,"answer":2835,"question":2836},"Yes, if their tools and required systems are available inside the isolated network. Public SaaS and cloud APIs are unavailable without a permitted cross-boundary mechanism.","Can AI agents work air-gapped?",{"id":1505,"answer":2838,"question":2839},"Models are typically acquired and validated in a connected staging environment, transferred through an approved process and published to an internal model\u002Fartifact repository.","How are models updated in an air-gapped environment?",{"id":1509,"answer":2841,"question":2842},"No. On-premises describes infrastructure location. On-prem systems can remain internet-connected.","Is on-premises AI the same as air-gapped AI?",{"id":1513,"answer":2844,"question":2845},"No. Private AI is about data\u002Fcontrol requirements and can still use connected infrastructure. Air gap specifically describes network\u002Fdomain separation.","Is private AI the same as air-gapped AI?",{"id":1517,"answer":2847,"question":2848},"It removes or reduces some remote connectivity risks but does not remove supply-chain, removable-media, insider, internal authorization, physical or model-behavior risks.","Does an air gap make AI secure?",{"id":1521,"answer":2850,"question":2851},"Deploy or cold-start the full stack in a clean environment with all external connectivity unavailable and verify that models, identity, RAG, tools, monitoring, updates and recovery depend only on approved internal artifacts and services.","What is the best test for air-gap readiness?","Air-gapped AI FAQ",{},{"id":1527,"data":2855,"type":42,"tunes":2857},{"text":2856,"level":253},"Glossary",{},{"id":1532,"data":2859,"type":1532,"tunes":2893},{"title":2860,"entries":2861},"Key air-gapped AI terms",[2862,2864,2866,2868,2870,2872,2875,2878,2881,2884,2887,2890],{"term":1537,"anchor":1538,"definition":2863},"Security-domain interface where systems are not physically connected and any cross-boundary logical transfer is non-automated\u002Fmanual under the NIST glossary definition.",{"term":1869,"anchor":1542,"definition":2865},"AI system deployed inside an air-gapped security domain with locally available inference and operational dependencies.",{"term":1857,"anchor":1545,"definition":2867},"Deployment environment without direct outside-internet access; implementations may use controlled mirror or bastion workflows.",{"term":1853,"anchor":1548,"definition":2869},"AI application able to operate for some or all functions without internet connectivity, without necessarily being permanently isolated.",{"term":1849,"anchor":1551,"definition":2871},"AI inference or runtime executing on local hardware rather than a remote model endpoint; does not imply network isolation.",{"term":2873,"anchor":1555,"definition":2874},"Mirror registry","Internal repository containing approved copies of container images or other artifacts needed by a disconnected deployment.",{"term":2876,"anchor":1559,"definition":2877},"Staging environment","Connected or controlled zone where artifacts are acquired, verified and prepared before transfer into an isolated domain.",{"term":2879,"anchor":1563,"definition":2880},"Controlled transfer","Governed movement of data or software across the isolation boundary using approved media\u002Fprocesses and verification.",{"term":2882,"anchor":1567,"definition":2883},"Artifact provenance","Information showing where a model, package, container or other imported artifact originated and how it was produced or verified.",{"term":2885,"anchor":1571,"definition":2886},"Removable media","Portable storage used to transfer data between systems; a potential security path across disconnected domains.",{"term":2888,"anchor":1575,"definition":2889},"Internal model store","Repository inside the isolated environment from which approved model artifacts are served or deployed.",{"term":2891,"anchor":1579,"definition":2892},"Air-gap readiness","Demonstrated ability of the complete AI stack to install, start, operate, update and recover without unapproved external connectivity.",{},{"id":1583,"data":2895,"type":42,"tunes":2896},{"text":1585,"level":253},{},{"id":1588,"data":2898,"type":218,"tunes":2900},{"text":2899},"Air-gapped AI is not a special kind of model. It is an AI architecture operating inside a deliberately isolated security domain.",{},{"id":1593,"data":2902,"type":218,"tunes":2904},{"text":2903},"The model can be the easy part. Production readiness depends on whether every surrounding dependency — model assets, packages, registries, identity, RAG, tools, monitoring, updates and recovery — can function without an automated external path.",{},{"id":1598,"data":2906,"type":218,"tunes":2908},{"text":2907},"The shortest reliable rule is: local inference proves where the model runs; air-gap evidence proves how the complete system is separated and how every permitted transfer crosses that boundary.",{},{"id":1603,"data":2910,"type":42,"tunes":2912},{"text":2911,"level":253},"Primary sources and current implementation references",{},{"id":1608,"data":2914,"type":218,"tunes":2916},{"text":2915},"The sources below establish the security definition, current disconnected AI deployment patterns and lifecycle risks. Vendor use of “air-gapped” is intentionally distinguished from the stricter NIST definition.",{},{"id":1613,"data":2918,"type":1620,"tunes":2922},{"link":1615,"meta":2919},{"image":2920,"title":1618,"description":2921},{"url":419},"NIST glossary definition: physically disconnected systems with non-automated, manually controlled logical transfer across the boundary.",{},{"id":1623,"data":2924,"type":1620,"tunes":2929},{"link":1625,"meta":2925},{"image":2926,"title":2927,"description":2928},{"url":419},"NVIDIA NIM — Air-Gap Deployment","Current operational guidance for staging model assets on a connected system and running NIM from local storage without internet, public registries or cloud API keys.",{},{"id":1632,"data":2931,"type":1620,"tunes":2936},{"link":1634,"meta":2932},{"image":2933,"title":2934,"description":2935},{"url":419},"Red Hat AI Inference — Disconnected deployment","Current Red Hat guidance for serving LLMs in disconnected environments with mirrored artifacts and internal infrastructure.",{},{"id":1641,"data":2938,"type":1620,"tunes":2943},{"link":1643,"meta":2939},{"image":2940,"title":2941,"description":2942},{"url":419},"Red Hat AI Inference — Storing models in disconnected environments","Current guidance covering OCI model images, persistent model storage and limitations of models requiring remote code.",{},{"id":1650,"data":2945,"type":1620,"tunes":2950},{"link":1652,"meta":2946},{"image":2947,"title":2948,"description":2949},{"url":419},"NSA — Technical Cyber Threat Framework","Threat framework explicitly identifying removable-media replication as a path into disconnected or air-gapped networks.",{},{"id":1659,"data":2952,"type":1620,"tunes":2957},{"link":1661,"meta":2953},{"image":2954,"title":2955,"description":2956},{"url":419},"NIST SP 800-88 Rev. 1 — Guidelines for Media Sanitization","Guidance for managing and sanitizing storage media according to information confidentiality requirements.",{},{"id":1668,"data":2959,"type":1620,"tunes":2964},{"link":1670,"meta":2960},{"image":2961,"title":2962,"description":2963},{"url":419},"NIST SP 800-40 Rev. 4 — Enterprise Patch Management Planning","Guidance framing patching and updates as preventive maintenance across enterprise systems.",{},{"id":1677,"data":2966,"type":1620,"tunes":2971},{"link":1679,"meta":2967},{"image":2968,"title":2969,"description":2970},{"url":419},"NIST — Software Security in Supply Chains","NIST guidance covering software supply-chain risk, provenance, verification, SBOM-related practices and vulnerability management.",{},"2.31.6","Air-gapped AI runs models, RAG and AI applications inside an isolated security domain without internet or cloud dependencies. Learn how models, data, updates and tools operate offline.",{"lang":7,"title":208,"content":210,"contentJson":2975,"excerpt":1686},{"time":212,"blocks":2976,"version":1685},[2977,2980,2983,2986,2989,2992,2995,2998,3001,3004,3007,3010,3013,3016,3019,3022,3034,3037,3040,3043,3046,3049,3061,3064,3067,3070,3087,3090,3093,3108,3111,3114,3117,3120,3123,3126,3129,3132,3135,3138,3141,3144,3147,3150,3153,3168,3171,3174,3177,3180,3183,3186,3189,3192,3195,3198,3201,3204,3207,3210,3213,3216,3219,3222,3225,3228,3231,3234,3237,3240,3243,3246,3249,3252,3255,3258,3261,3264,3267,3270,3273,3285,3288,3291,3294,3297,3300,3303,3306,3309,3312,3315,3318,3321,3324,3327,3342,3345,3348,3351,3354,3357,3374,3377,3380,3383,3386,3389,3406,3409,3412,3415,3418,3421,3424,3427,3430,3433,3436,3439,3442,3445,3456,3459,3470,3473,3476,3479,3495,3498,3519,3522,3539,3542,3557,3560,3563,3566,3569,3572,3575,3578,3581,3584,3587,3590,3593,3596,3599,3602,3605,3619,3622,3638,3641,3644,3647,3650,3653,3656,3661,3666,3671,3676,3681,3686,3691],{"id":215,"data":2978,"type":218,"tunes":2979},{"text":217},{},{"id":221,"data":2981,"type":226,"tunes":2982},{"body":223,"title":224,"variant":225},{},{"id":229,"data":2984,"type":226,"tunes":2985},{"body":231,"title":232,"variant":233},{},{"id":236,"data":2987,"type":226,"tunes":2988},{"body":238,"title":239,"variant":233},{},{"id":242,"data":2990,"type":226,"tunes":2991},{"body":244,"title":245,"variant":246},{},{"id":249,"data":2993,"type":254,"tunes":2994},{"title":251,"maxLevel":252,"minLevel":253},{},{"id":257,"data":2996,"type":42,"tunes":2997},{"text":259,"level":253},{},{"id":262,"data":2999,"type":218,"tunes":3000},{"text":264},{},{"id":267,"data":3002,"type":218,"tunes":3003},{"text":269},{},{"id":272,"data":3005,"type":218,"tunes":3006},{"text":274},{},{"id":277,"data":3008,"type":42,"tunes":3009},{"text":279,"level":253},{},{"id":282,"data":3011,"type":218,"tunes":3012},{"text":284},{},{"id":287,"data":3014,"type":218,"tunes":3015},{"text":289},{},{"id":292,"data":3017,"type":218,"tunes":3018},{"text":294},{},{"id":297,"data":3020,"type":218,"tunes":3021},{"text":299},{},{"id":302,"data":3023,"type":331,"tunes":3033},{"steps":3024,"title":329,"orientation":330},[3025,3026,3027,3028,3029,3030,3031,3032],{"label":306,"description":307},{"label":309,"description":310},{"label":312,"description":313},{"label":315,"description":316},{"label":318,"description":319},{"label":321,"description":322},{"label":324,"description":325},{"label":327,"description":328},{},{"id":334,"data":3035,"type":42,"tunes":3036},{"text":336,"level":253},{},{"id":339,"data":3038,"type":218,"tunes":3039},{"text":341},{},{"id":344,"data":3041,"type":218,"tunes":3042},{"text":346},{},{"id":349,"data":3044,"type":218,"tunes":3045},{"text":351},{},{"id":354,"data":3047,"type":42,"tunes":3048},{"text":356,"level":253},{},{"id":359,"data":3050,"type":394,"tunes":3060},{"content":3051,"stretched":43,"withHeadings":14},[3052,3053,3054,3055,3056,3057,3058,3059],[363,364,365],[367,368,369],[371,372,373],[375,376,377],[379,380,381],[383,384,385],[387,388,389],[391,392,393],{},{"id":397,"data":3062,"type":218,"tunes":3063},{"text":399},{},{"id":402,"data":3065,"type":218,"tunes":3066},{"text":404},{},{"id":407,"data":3068,"type":42,"tunes":3069},{"text":409,"level":253},{},{"id":412,"data":3071,"type":444,"tunes":3086},{"rows":3072,"title":436,"layout":394,"columns":3083},[3073,3075,3077,3079,3081],{"id":416,"label":417,"values":3074},[419,419],{"id":421,"label":422,"values":3076},[419,419],{"id":425,"label":426,"values":3078},[419,419],{"id":429,"label":430,"values":3080},[419,419],{"id":433,"label":434,"values":3082},[419,419],[3084,3085],{"id":439,"label":440},{"id":442,"label":443},{},{"id":447,"data":3088,"type":226,"tunes":3089},{"body":449,"title":450,"variant":451},{},{"id":454,"data":3091,"type":42,"tunes":3092},{"text":456,"level":253},{},{"id":459,"data":3094,"type":394,"tunes":3107},{"content":3095,"stretched":43,"withHeadings":14},[3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106],[463,464],[466,467],[469,470],[472,473],[475,476],[478,479],[481,482],[484,485],[487,488],[490,491],[493,494],{},{"id":497,"data":3109,"type":218,"tunes":3110},{"text":499},{},{"id":502,"data":3112,"type":218,"tunes":3113},{"text":504},{},{"id":507,"data":3115,"type":42,"tunes":3116},{"text":509,"level":253},{},{"id":512,"data":3118,"type":218,"tunes":3119},{"text":514},{},{"id":517,"data":3121,"type":218,"tunes":3122},{"text":519},{},{"id":522,"data":3124,"type":218,"tunes":3125},{"text":524},{},{"id":527,"data":3127,"type":42,"tunes":3128},{"text":529,"level":253},{},{"id":532,"data":3130,"type":218,"tunes":3131},{"text":534},{},{"id":537,"data":3133,"type":218,"tunes":3134},{"text":539},{},{"id":542,"data":3136,"type":218,"tunes":3137},{"text":544},{},{"id":547,"data":3139,"type":42,"tunes":3140},{"text":549,"level":253},{},{"id":552,"data":3142,"type":218,"tunes":3143},{"text":554},{},{"id":557,"data":3145,"type":218,"tunes":3146},{"text":559},{},{"id":562,"data":3148,"type":218,"tunes":3149},{"text":564},{},{"id":567,"data":3151,"type":42,"tunes":3152},{"text":569,"level":253},{},{"id":572,"data":3154,"type":394,"tunes":3167},{"content":3155,"stretched":43,"withHeadings":14},[3156,3157,3158,3159,3160,3161,3162,3163,3164,3165,3166],[576,577],[579,580],[582,583],[585,586],[588,589],[591,592],[594,595],[597,598],[600,601],[603,604],[606,607],{},{"id":610,"data":3169,"type":42,"tunes":3170},{"text":612,"level":253},{},{"id":615,"data":3172,"type":218,"tunes":3173},{"text":617},{},{"id":620,"data":3175,"type":218,"tunes":3176},{"text":622},{},{"id":625,"data":3178,"type":218,"tunes":3179},{"text":627},{},{"id":630,"data":3181,"type":42,"tunes":3182},{"text":632,"level":253},{},{"id":635,"data":3184,"type":218,"tunes":3185},{"text":637},{},{"id":640,"data":3187,"type":218,"tunes":3188},{"text":642},{},{"id":645,"data":3190,"type":218,"tunes":3191},{"text":647},{},{"id":650,"data":3193,"type":218,"tunes":3194},{"text":652},{},{"id":655,"data":3196,"type":661,"tunes":3197},{"url":657,"title":658,"excerpt":659,"ctaLabel":660},{},{"id":664,"data":3199,"type":42,"tunes":3200},{"text":666,"level":253},{},{"id":669,"data":3202,"type":218,"tunes":3203},{"text":671},{},{"id":674,"data":3205,"type":218,"tunes":3206},{"text":676},{},{"id":679,"data":3208,"type":218,"tunes":3209},{"text":681},{},{"id":684,"data":3211,"type":42,"tunes":3212},{"text":686,"level":253},{},{"id":689,"data":3214,"type":218,"tunes":3215},{"text":691},{},{"id":694,"data":3217,"type":218,"tunes":3218},{"text":696},{},{"id":699,"data":3220,"type":218,"tunes":3221},{"text":701},{},{"id":704,"data":3223,"type":42,"tunes":3224},{"text":706,"level":253},{},{"id":709,"data":3226,"type":218,"tunes":3227},{"text":711},{},{"id":714,"data":3229,"type":218,"tunes":3230},{"text":716},{},{"id":719,"data":3232,"type":218,"tunes":3233},{"text":721},{},{"id":724,"data":3235,"type":42,"tunes":3236},{"text":726,"level":253},{},{"id":729,"data":3238,"type":218,"tunes":3239},{"text":731},{},{"id":734,"data":3241,"type":218,"tunes":3242},{"text":736},{},{"id":739,"data":3244,"type":218,"tunes":3245},{"text":741},{},{"id":744,"data":3247,"type":42,"tunes":3248},{"text":746,"level":253},{},{"id":749,"data":3250,"type":218,"tunes":3251},{"text":751},{},{"id":754,"data":3253,"type":218,"tunes":3254},{"text":756},{},{"id":759,"data":3256,"type":218,"tunes":3257},{"text":761},{},{"id":764,"data":3259,"type":42,"tunes":3260},{"text":766,"level":253},{},{"id":769,"data":3262,"type":218,"tunes":3263},{"text":771},{},{"id":774,"data":3265,"type":218,"tunes":3266},{"text":776},{},{"id":779,"data":3268,"type":218,"tunes":3269},{"text":781},{},{"id":784,"data":3271,"type":42,"tunes":3272},{"text":786,"level":253},{},{"id":789,"data":3274,"type":331,"tunes":3284},{"steps":3275,"title":816,"orientation":330},[3276,3277,3278,3279,3280,3281,3282,3283],{"label":793,"description":794},{"label":796,"description":797},{"label":799,"description":800},{"label":802,"description":803},{"label":805,"description":806},{"label":808,"description":809},{"label":811,"description":812},{"label":814,"description":815},{},{"id":819,"data":3286,"type":42,"tunes":3287},{"text":821,"level":253},{},{"id":824,"data":3289,"type":218,"tunes":3290},{"text":826},{},{"id":829,"data":3292,"type":218,"tunes":3293},{"text":831},{},{"id":834,"data":3295,"type":218,"tunes":3296},{"text":836},{},{"id":839,"data":3298,"type":42,"tunes":3299},{"text":841,"level":253},{},{"id":844,"data":3301,"type":218,"tunes":3302},{"text":846},{},{"id":849,"data":3304,"type":218,"tunes":3305},{"text":851},{},{"id":854,"data":3307,"type":218,"tunes":3308},{"text":856},{},{"id":859,"data":3310,"type":42,"tunes":3311},{"text":861,"level":253},{},{"id":864,"data":3313,"type":218,"tunes":3314},{"text":866},{},{"id":869,"data":3316,"type":218,"tunes":3317},{"text":871},{},{"id":874,"data":3319,"type":218,"tunes":3320},{"text":876},{},{"id":879,"data":3322,"type":42,"tunes":3323},{"text":881,"level":253},{},{"id":884,"data":3325,"type":226,"tunes":3326},{"body":886,"title":887,"variant":246},{},{"id":890,"data":3328,"type":394,"tunes":3341},{"content":3329,"stretched":43,"withHeadings":14},[3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340],[894,895],[897,898],[900,901],[903,904],[906,907],[909,910],[912,913],[915,916],[918,919],[921,922],[924,925],{},{"id":928,"data":3343,"type":42,"tunes":3344},{"text":930,"level":253},{},{"id":933,"data":3346,"type":218,"tunes":3347},{"text":935},{},{"id":938,"data":3349,"type":218,"tunes":3350},{"text":940},{},{"id":943,"data":3352,"type":218,"tunes":3353},{"text":945},{},{"id":948,"data":3355,"type":42,"tunes":3356},{"text":950,"level":253},{},{"id":953,"data":3358,"type":394,"tunes":3373},{"content":3359,"stretched":43,"withHeadings":14},[3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372],[957,958],[960,961],[963,964],[966,967],[969,970],[972,973],[975,976],[978,979],[981,982],[984,985],[987,988],[990,991],[993,994],{},{"id":997,"data":3375,"type":42,"tunes":3376},{"text":999,"level":253},{},{"id":1002,"data":3378,"type":218,"tunes":3379},{"text":1004},{},{"id":1007,"data":3381,"type":218,"tunes":3382},{"text":1009},{},{"id":1012,"data":3384,"type":218,"tunes":3385},{"text":1014},{},{"id":1017,"data":3387,"type":42,"tunes":3388},{"text":1019,"level":253},{},{"id":1022,"data":3390,"type":394,"tunes":3405},{"content":3391,"stretched":43,"withHeadings":14},[3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404],[1026,1027],[1029,1030],[1032,1033],[1035,1036],[1038,1039],[1041,1042],[1044,1045],[1047,1048],[606,1050],[1052,1053],[1055,1056],[1058,1059],[1061,1062],{},{"id":1065,"data":3407,"type":42,"tunes":3408},{"text":1067,"level":253},{},{"id":1070,"data":3410,"type":218,"tunes":3411},{"text":1072},{},{"id":1075,"data":3413,"type":218,"tunes":3414},{"text":1077},{},{"id":1080,"data":3416,"type":218,"tunes":3417},{"text":1082},{},{"id":1085,"data":3419,"type":42,"tunes":3420},{"text":1087,"level":253},{},{"id":1090,"data":3422,"type":218,"tunes":3423},{"text":1092},{},{"id":1095,"data":3425,"type":218,"tunes":3426},{"text":1097},{},{"id":1100,"data":3428,"type":218,"tunes":3429},{"text":1102},{},{"id":1105,"data":3431,"type":42,"tunes":3432},{"text":1107,"level":253},{},{"id":1110,"data":3434,"type":226,"tunes":3435},{"body":1112,"title":1113,"variant":246},{},{"id":1116,"data":3437,"type":218,"tunes":3438},{"text":1118},{},{"id":1121,"data":3440,"type":218,"tunes":3441},{"text":1123},{},{"id":1126,"data":3443,"type":218,"tunes":3444},{"text":1128},{},{"id":1131,"data":3446,"type":394,"tunes":3455},{"content":3447,"stretched":43,"withHeadings":14},[3448,3449,3450,3451,3452,3453,3454],[1135,1136],[1138,1139],[1141,1142],[1144,1145],[1147,1148],[1150,1151],[1153,1154],{},{"id":1157,"data":3457,"type":42,"tunes":3458},{"text":1159,"level":253},{},{"id":1162,"data":3460,"type":394,"tunes":3469},{"content":3461,"stretched":43,"withHeadings":14},[3462,3463,3464,3465,3466,3467,3468],[1166,1167],[1169,1170],[1172,1173],[1175,1176],[1178,1179],[1181,1182],[1184,1185],{},{"id":1188,"data":3471,"type":218,"tunes":3472},{"text":1190},{},{"id":1193,"data":3474,"type":218,"tunes":3475},{"text":1195},{},{"id":1198,"data":3477,"type":42,"tunes":3478},{"text":1200,"level":253},{},{"id":1203,"data":3480,"type":331,"tunes":3494},{"steps":3481,"title":1242,"orientation":330},[3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493],{"label":1207,"description":1208},{"label":1210,"description":1211},{"label":1213,"description":1214},{"label":1216,"description":1217},{"label":1219,"description":1220},{"label":1222,"description":1223},{"label":1225,"description":1226},{"label":1228,"description":1229},{"label":1231,"description":1232},{"label":1234,"description":1235},{"label":1237,"description":1238},{"label":1240,"description":1241},{},{"id":1245,"data":3496,"type":42,"tunes":3497},{"text":1247,"level":253},{},{"id":1250,"data":3499,"type":394,"tunes":3518},{"content":3500,"stretched":43,"withHeadings":14},[3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,3512,3513,3514,3515,3516,3517],[1254,1255],[1257,1258],[1260,1261],[1263,1264],[1266,1267],[1269,1270],[1272,1273],[1275,1276],[1278,1279],[1281,1282],[1284,1285],[1287,1288],[1290,1291],[1293,1294],[1296,1297],[1299,1300],[1302,1303],{},{"id":1306,"data":3520,"type":42,"tunes":3521},{"text":1308,"level":253},{},{"id":1311,"data":3523,"type":394,"tunes":3538},{"content":3524,"stretched":43,"withHeadings":14},[3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537],[1315,1316],[1318,1319],[1321,1322],[1324,1325],[1327,1328],[1330,1331],[1333,1334],[1336,1337],[1339,1340],[1342,1343],[1345,1346],[1348,1349],[1351,1352],{},{"id":1355,"data":3540,"type":42,"tunes":3541},{"text":1357,"level":253},{},{"id":1360,"data":3543,"type":394,"tunes":3556},{"content":3544,"stretched":43,"withHeadings":14},[3545,3546,3547,3548,3549,3550,3551,3552,3553,3554,3555],[1364,1365],[1367,1368],[1370,1371],[1373,1374],[1376,1377],[1379,1380],[1382,1383],[1385,1386],[1388,1389],[1391,1392],[1394,1395],{},{"id":1398,"data":3558,"type":42,"tunes":3559},{"text":1400,"level":253},{},{"id":1403,"data":3561,"type":218,"tunes":3562},{"text":1405},{},{"id":1408,"data":3564,"type":218,"tunes":3565},{"text":1410},{},{"id":1413,"data":3567,"type":218,"tunes":3568},{"text":1415},{},{"id":1418,"data":3570,"type":218,"tunes":3571},{"text":1420},{},{"id":1423,"data":3573,"type":218,"tunes":3574},{"text":1425},{},{"id":1428,"data":3576,"type":42,"tunes":3577},{"text":1430,"level":253},{},{"id":1433,"data":3579,"type":218,"tunes":3580},{"text":1435},{},{"id":1438,"data":3582,"type":218,"tunes":3583},{"text":1440},{},{"id":1443,"data":3585,"type":218,"tunes":3586},{"text":1445},{},{"id":1448,"data":3588,"type":42,"tunes":3589},{"text":1450,"level":253},{},{"id":1453,"data":3591,"type":218,"tunes":3592},{"text":1455},{},{"id":1458,"data":3594,"type":218,"tunes":3595},{"text":1460},{},{"id":1463,"data":3597,"type":218,"tunes":3598},{"text":1465},{},{"id":1468,"data":3600,"type":661,"tunes":3601},{"url":1470,"title":1471,"excerpt":1472,"ctaLabel":1473},{},{"id":1476,"data":3603,"type":42,"tunes":3604},{"text":1478,"level":253},{},{"id":1481,"data":3606,"type":1481,"tunes":3618},{"items":3607,"title":1524},[3608,3609,3610,3611,3612,3613,3614,3615,3616,3617],{"id":1485,"answer":1486,"question":1487},{"id":1489,"answer":1490,"question":1491},{"id":1493,"answer":1494,"question":1495},{"id":1497,"answer":1498,"question":1499},{"id":1501,"answer":1502,"question":1503},{"id":1505,"answer":1506,"question":1507},{"id":1509,"answer":1510,"question":1511},{"id":1513,"answer":1514,"question":1515},{"id":1517,"answer":1518,"question":1519},{"id":1521,"answer":1522,"question":1523},{},{"id":1527,"data":3620,"type":42,"tunes":3621},{"text":1529,"level":253},{},{"id":1532,"data":3623,"type":1532,"tunes":3637},{"title":1534,"entries":3624},[3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636],{"term":1537,"anchor":1538,"definition":1539},{"term":1541,"anchor":1542,"definition":1543},{"term":375,"anchor":1545,"definition":1546},{"term":371,"anchor":1548,"definition":1549},{"term":367,"anchor":1551,"definition":1552},{"term":1554,"anchor":1555,"definition":1556},{"term":1558,"anchor":1559,"definition":1560},{"term":1562,"anchor":1563,"definition":1564},{"term":1566,"anchor":1567,"definition":1568},{"term":1570,"anchor":1571,"definition":1572},{"term":1574,"anchor":1575,"definition":1576},{"term":1578,"anchor":1579,"definition":1580},{},{"id":1583,"data":3639,"type":42,"tunes":3640},{"text":1585,"level":253},{},{"id":1588,"data":3642,"type":218,"tunes":3643},{"text":1590},{},{"id":1593,"data":3645,"type":218,"tunes":3646},{"text":1595},{},{"id":1598,"data":3648,"type":218,"tunes":3649},{"text":1600},{},{"id":1603,"data":3651,"type":42,"tunes":3652},{"text":1605,"level":253},{},{"id":1608,"data":3654,"type":218,"tunes":3655},{"text":1610},{},{"id":1613,"data":3657,"type":1620,"tunes":3660},{"link":1615,"meta":3658},{"image":3659,"title":1618,"description":1619},{"url":419},{},{"id":1623,"data":3662,"type":1620,"tunes":3665},{"link":1625,"meta":3663},{"image":3664,"title":1628,"description":1629},{"url":419},{},{"id":1632,"data":3667,"type":1620,"tunes":3670},{"link":1634,"meta":3668},{"image":3669,"title":1637,"description":1638},{"url":419},{},{"id":1641,"data":3672,"type":1620,"tunes":3675},{"link":1643,"meta":3673},{"image":3674,"title":1646,"description":1647},{"url":419},{},{"id":1650,"data":3677,"type":1620,"tunes":3680},{"link":1652,"meta":3678},{"image":3679,"title":1655,"description":1656},{"url":419},{},{"id":1659,"data":3682,"type":1620,"tunes":3685},{"link":1661,"meta":3683},{"image":3684,"title":1664,"description":1665},{"url":419},{},{"id":1668,"data":3687,"type":1620,"tunes":3690},{"link":1670,"meta":3688},{"image":3689,"title":1673,"description":1674},{"url":419},{},{"id":1677,"data":3692,"type":1620,"tunes":3695},{"link":1679,"meta":3693},{"image":3694,"title":1682,"description":1683},{"url":419},{},"Post erfolgreich abgerufen",{"items":3698,"source":3783,"manualIds":3784,"manualMatchedIds":3785},[3699,3706,3713,3720,3727,3734,3741,3748,3755,3762,3769,3776],{"id":3700,"slug":3701,"title":3702,"excerpt":3703,"featuredImage":3704,"publishedAt":3705},"381","enterprise-grade-multi-tenant-architecture-for-an-international-platform","Enterprise-Grade Multi-Tenant Architecture for an International Platform","Loving Rocks is an enterprise-grade wedding platform designed with a true multi-tenant architecture, isolated databases per tenant, and built-in internationalization for global scalability, security, and long-term operational stability.","\u002Fuploads\u002F2026\u002F01\u002Fenterprise-grade-multi-tenant-architecture-for-an-international-platform-1769789121298-b6v7ak.webp","2026-01-30T12:04:00.000Z",{"id":3707,"slug":3708,"title":3709,"excerpt":3710,"featuredImage":3711,"publishedAt":3712},"480","when-should-an-ai-stop-trusting-its-own-knowledge-the-retrieval-trigger","Quand une IA devrait-elle cesser de faire confiance à ses propres connaissances ? — Le déclencheur de récupération","Un modèle d'IA n'a pas besoin de récupération pour chaque question. Le problème important est de savoir quand ses connaissances internes ne suffisent plus. Le Déclencheur de Récupération est une frontière de décision pratique qui détermine quand un système d'IA devrait cesser de se fier uniquement aux connaissances du modèle et obtenir des preuves externes avant de répondre.","\u002Fuploads\u002F2026\u002F09\u002Fwhen-should-an-ai-stop-trusting-its-own-knowledge-the-retrieval-trigger-1790574991244-f4rpyg.webp","2026-09-28T01:49:00.000Z",{"id":3714,"slug":3715,"title":3716,"excerpt":3717,"featuredImage":3718,"publishedAt":3719},"479","where-does-an-llm-get-its-data-rag-data-sources-in-python","D'où un LLM tire-t-il ses données ? Sources de données RAG en Python","Un LLM ne connaît pas magiquement vos fichiers, bases de données ou API. Cette suite pratique de la série sur le RAG montre, avec du Python simple, comment des données externes deviennent des preuves récupérables : des fichiers texte et du SQL à la recherche en texte intégral, aux embeddings, à l'assemblage du contexte et à l'appel final au LLM.","\u002Fuploads\u002F2026\u002F09\u002Fwhere-does-an-llm-get-its-data-rag-data-sources-in-python-1790517200521-nfsi5i.webp","2026-09-27T05:51:00.000Z",{"id":3721,"slug":3722,"title":3723,"excerpt":3724,"featuredImage":3725,"publishedAt":3726},"490","rbac-vs-tenant-isolation-two-different-security-boundaries","RBAC vs isolation des locataires : deux frontières de sécurité différentes","Le RBAC contrôle ce qu’un utilisateur peut faire ; l’isolation des locataires contrôle à quelles ressources de locataire cette action peut accéder. Découvrez pourquoi la sécurité SaaS multi-locataires nécessite ces deux frontières.","\u002Fuploads\u002F2026\u002F10\u002Frbac-vs-tenant-isolation-two-different-security-boundaries-1791485111528-qqtzby.webp","2026-10-08T14:43:00.000Z",{"id":3728,"slug":3729,"title":3730,"excerpt":3731,"featuredImage":3732,"publishedAt":3733},"495","sovereign-ai-control-of-models-data-infrastructure-and-dependencies","IA souveraine : contrôle des modèles, des données, des infrastructures et des dépendances","L'IA souveraine concerne le contrôle effectif sur les modèles, les données, l'infrastructure, les logiciels, les opérations et les dépendances stratégiques — et non simplement l'endroit où un modèle d'IA est hébergé.","\u002Fuploads\u002F2026\u002F10\u002Fsovereign-ai-control-of-models-data-infrastructure-and-dependencies-1791488833132-niy85x.webp","2026-10-08T15:45:00.000Z",{"id":3735,"slug":3736,"title":3737,"excerpt":3738,"featuredImage":3739,"publishedAt":3740},"466","the-gpu-is-not-the-product-future-proof-private-ai-architecture","Le GPU n'est pas le produit : architecture d'IA privée pérenne","Une infrastructure d'IA privée ne devrait pas être conçue autour d'un seul GPU ou d'un seul modèle. Une approche plus résiliente combine des GPU d'inférence rapides, des systèmes d'IA riches en mémoire, des nœuds d'IA physique et des modèles cloud de pointe optionnels derrière une couche de routage prenant en compte les capacités.","\u002Fuploads\u002F2026\u002F09\u002Fthe-gpu-is-not-the-product-future-proof-private-ai-architecture-1790140878812-8hsl39.webp","2026-09-23T01:19:00.000Z",{"id":3742,"slug":3743,"title":3744,"excerpt":3745,"featuredImage":3746,"publishedAt":3747},"481","generative-ai-explained-models-retrieval-tools-and-applications-are-not-the-same-thing","L'IA générative expliquée : modèles, recherche, outils et applications ne sont pas la même chose","L'IA générative est plus qu'un modèle. Découvrez comment les modèles, la récupération, les outils, le contexte, les environnements d'exécution et les applications s'articulent dans les systèmes d'IA en production.","\u002Fuploads\u002F2026\u002F10\u002Fgenerative-ai-explained-models-retrieval-tools-and-applications-are-not-the-same-thing-1791475411822-pp0dvz.webp","2026-10-08T12:00:00.000Z",{"id":3749,"slug":3750,"title":3751,"excerpt":3752,"featuredImage":3753,"publishedAt":3754},"484","what-is-an-ai-platform-architect-models-data-runtime-security-and-operations","Qu'est-ce qu'un architecte de plateforme d'IA ? Modèles, données, environnement d'exécution, sécurité et opérations","Un architecte de plateforme d'IA conçoit des fondations d'IA réutilisables à travers les modèles, les fournisseurs, la récupération, les agents, l'identité, la sécurité, l'évaluation, l'observabilité et les opérations.","\u002Fuploads\u002F2026\u002F10\u002Fwhat-is-an-ai-platform-architect-models-data-runtime-security-and-operations-1791477229171-ou3zcc.webp","2026-10-08T12:32:00.000Z",{"id":3756,"slug":3757,"title":3758,"excerpt":3759,"featuredImage":3760,"publishedAt":3761},"492","mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","MCP expliqué : ce qu'il connecte, ce qu'il ne fait pas et où il s'intègre","Le protocole de contexte de modèle connecte les applications d’IA à des outils, des ressources et des invites externes par le biais d’une frontière standard client-serveur. Découvrez ce que fait le MCP, ce qu’il ne fait pas et où il s’intègre dans l’architecture des agents.","\u002Fuploads\u002F2026\u002F10\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits-1791486640275-7ub1cq.webp","2026-10-08T15:09:00.000Z",{"id":3763,"slug":3764,"title":3765,"excerpt":3766,"featuredImage":3767,"publishedAt":3768},"486","source-of-truth-in-ai-systems-where-reliable-knowledge-actually-comes-from","Source de vérité dans les systèmes d’IA : d’où provient réellement une connaissance fiable","Une source de vérité définit quelle source fait autorité pour un fait ou un état spécifique. Découvrez en quoi elle diffère du RAG, de la provenance, de la mémoire, du contexte, des bases de données vectorielles et des systèmes d'enregistrement.","\u002Fuploads\u002F2026\u002F10\u002Fsource-of-truth-in-ai-systems-where-reliable-knowledge-actually-comes-from-1791479103235-6bq9em.webp","2026-10-08T13:02:00.000Z",{"id":3770,"slug":3771,"title":3772,"excerpt":3773,"featuredImage":3774,"publishedAt":3775},"476","mcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained","MCP vs A2A vs UCP vs AP2 vs A2UI : La pile de protocoles d'agent expliquée","MCP, A2A, UCP, AP2 et A2UI sont souvent présentés comme des standards d'agents concurrents. Ils résolvent principalement des problèmes d'interopérabilité différents. Ce guide associe chaque protocole à la frontière qu'il standardise réellement—et montre comment ils peuvent fonctionner ensemble dans un seul système de production.","\u002Fuploads\u002F2026\u002F09\u002Fmcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained-1790352625869-2ezle0.webp","2026-09-25T12:09:00.000Z",{"id":3777,"slug":3778,"title":3779,"excerpt":3780,"featuredImage":3781,"publishedAt":3782},"483","what-is-an-ai-solution-architect-system-boundaries-responsibilities-and-trade-offs","Qu'est-ce qu'un architecte de solutions IA ? Limites du système, responsabilités et compromis","Un architecte de solutions d'IA transforme les exigences métier en un système d'IA prêt pour la production, couvrant les données, les modèles, les outils, la sécurité, l'exécution, l'évaluation et les opérations.","\u002Fuploads\u002F2026\u002F10\u002Fwhat-is-an-ai-solution-architect-system-boundaries-responsibilities-and-trade-offs-1791476643267-1st5xz.webp","2026-10-08T12:23:00.000Z","fallback",[],[]]