[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:stajic:ru":3,"public-menus:all":38,"post:air-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access:ru":205,"related:post:air-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access:ru:1":3677},{"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","ru","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":3676},{"id":207,"title":208,"slug":209,"content":210,"contentJson":211,"excerpt":1685,"featuredImage":1686,"featuredImageAlt":1687,"featuredImageCaption":10,"featuredImageTitle":10,"featuredImageCopyright":10,"featuredImageAuthor":10,"featuredImageSourceUrl":10,"featuredImageLicense":10,"featuredImageIsAiGenerated":43,"status":1688,"publishedAt":1689,"createdAt":1690,"updatedAt":1691,"seoLocalePaths":1692,"categories":1701,"author":1714,"translations":1719},"494","Air-Gapped AI: как работают ИИ-системы без интернета и облачного доступа","air-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access","\u003Cp>ИИ в изолированной среде (air-gapped AI) — это система ИИ, развёрнутая внутри домена безопасности, не имеющего физического сетевого подключения к внешним системам, от которых он отделён, при этом любая передача через эту границу выполняется посредством намеренно контролируемых, неавтоматизированных процедур. Модель ИИ, среда выполнения, данные, индексы поиска, инструменты и операционные зависимости, необходимые для инференса, должны быть доступны внутри изолированной среды. ИИ в изолированной среде — это не просто «локальная модель» или «сервер на территории организации»: определяющим свойством является сетевая граница и граница передачи вокруг всей системы.\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\">Прямой ответ\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Система ИИ в изолированной среде может выполнять инференс LLM, RAG, анализ документов и даже агентные рабочие процессы без интернета или облачных API, если все необходимые зависимости доступны внутри изолированного домена.\u003Cbr>\u003Cbr>Практическая архитектура:\u003Cbr>\u003Cstrong>контролируемый импорт → внутренние репозитории артефактов\u002Fмоделей → локальная среда выполнения ИИ → локальные данные\u002FRAG → локальные инструменты → внутренние пользователи\u002Fсервисы → локальный мониторинг\u002Fаудит\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>Сложность не в том, чтобы заставить одну LLM отвечать офлайн. Сложность в эксплуатации всего жизненного цикла ИИ — обновлений, моделей, драйверов, пакетов, импорта данных, учётных данных, логирования и безопасности — без скрытой зависимости от внешних сервисов.\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 имеет более строгое значение, чем «нет интернета»\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Глоссарий по кибербезопасности NIST определяет air gap как интерфейс, где две системы \u003Cstrong>физически не соединены\u003C\u002Fstrong> и где любая логическая передача \u003Cstrong>не автоматизирована\u003C\u002Fstrong>; данные пересекают границу только вручную под контролем человека. Документация поставщиков иногда использует термины «air-gapped» или «disconnected» в более широком смысле для сред без подключения к внешнему интернету, но с внутренней сетью и контролируемой инфраструктурой промежуточного хранения. В архитектурной документации следует указывать, какое значение фактически реализовано.\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-gapped не означает безопасный по определению\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Удаление прямого сетевого подключения устраняет множество удалённых путей, но не устраняет вредоносные съёмные носители, скомпрометированные импорты ПО\u002Fмоделей, внутренние угрозы, уязвимые внутренние сервисы, физическую компрометацию, внедрение подсказок через импортированные документы или боковое перемещение внутри изолированной сети.\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\">Примечание об актуальности — 8 октября 2026 г.\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Текущая документация NVIDIA NIM и Red Hat AI Inference обе поддерживают обслуживание LLM без доступа к внешнему интернету путём предварительной подготовки моделей и контейнерных артефактов. NVIDIA описывает подключённую фазу подготовки, за которой следует изолированная фаза выполнения с локальными артефактами и без учётных данных облачного реестра. Red Hat использует зеркальные репозитории контейнеров\u002Fмоделей для отключённых сред OpenShift. Это полезные примеры реализации, но они не отменяют более строгое определение air gap от NIST.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Содержание\">\u003Cstrong class=\"editorjs-toc__title\">Содержание\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\">Что на самом деле означает ИИ в изолированной среде\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-11\" class=\"editorjs-toc__link\">Простейший пример\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-17\" class=\"editorjs-toc__link\">Где заканчивается простой пример\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-21\" class=\"editorjs-toc__link\">Air-gapped vs offline vs local vs on-premises vs private vs sovereign AI\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-25\" class=\"editorjs-toc__link\">Строгий air gap vs практическое развёртывание без подключения\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-28\" class=\"editorjs-toc__link\">Практическая архитектура air-gapped AI\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-32\" class=\"editorjs-toc__link\">Модели должны быть предварительно размещены\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-36\" class=\"editorjs-toc__link\">Модели с зависимостями remote-code — это риск для air-gap\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-40\" class=\"editorjs-toc__link\">Контейнеры, пакеты и драйверы становятся локальными артефактами цепочки поставок\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-44\" class=\"editorjs-toc__link\">Знайте полный перечень зависимостей\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-46\" class=\"editorjs-toc__link\">Внутренние зеркала — это инфраструктура, а не удобство\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-50\" class=\"editorjs-toc__link\">RAG может полностью работать в изолированной среде\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-56\" class=\"editorjs-toc__link\">Агенты могут работать в изолированной среде — но только с доступными инструментами\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-60\" class=\"editorjs-toc__link\">MCP не обходит воздушный зазор\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-64\" class=\"editorjs-toc__link\">Идентификация и аутентификация также должны работать офлайн\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-68\" class=\"editorjs-toc__link\">Время, сертификаты и хранилища доверия становятся локальными зависимостями\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-72\" class=\"editorjs-toc__link\">Телеметрия и отчёты о сбоях требуют явной политики\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-76\" class=\"editorjs-toc__link\">Изолированным системам все равно нужны патчи\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-80\" class=\"editorjs-toc__link\">Контролируемый путь обновления\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-82\" class=\"editorjs-toc__link\">Граница передачи — самый чувствительный операционный интерфейс\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-86\" class=\"editorjs-toc__link\">Съемный носитель — не нейтральный канал\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-90\" class=\"editorjs-toc__link\">Изоляция повышает важность цепочки поставок\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-94\" class=\"editorjs-toc__link\">Готовность к воздушному зазору следует проверять, а не предполагать\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-97\" class=\"editorjs-toc__link\">Кэширование один раз не то же самое, что готовность к воздушному зазору\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-101\" class=\"editorjs-toc__link\">Какие угрозы остаются внутри воздушного зазора?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-103\" class=\"editorjs-toc__link\">Что воздушный зазор действительно улучшает\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-107\" class=\"editorjs-toc__link\">Что воздушный зазор делает сложнее\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-109\" class=\"editorjs-toc__link\">AI в изолированной среде против частного AI\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-113\" class=\"editorjs-toc__link\">AI в изолированной среде против суверенного AI\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-117\" class=\"editorjs-toc__link\">Свидетельства исходной реализации: что доказывает Aaasaasa AI Client — и что он не доказывает\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-123\" class=\"editorjs-toc__link\">Когда AI в изолированной среде оправдан?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-127\" class=\"editorjs-toc__link\">Практическая последовательность проектирования изолированного ИИ\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-129\" class=\"editorjs-toc__link\">Контрольный список архитектуры изолированного ИИ\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-131\" class=\"editorjs-toc__link\">Типичные режимы отказа изолированного ИИ\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-133\" class=\"editorjs-toc__link\">Распространённые заблуждения\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-135\" class=\"editorjs-toc__link\">Ограничения\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-141\" class=\"editorjs-toc__link\">Что могло бы изменить этот ответ?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-145\" class=\"editorjs-toc__link\">Связанные канонические знания\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-150\" class=\"editorjs-toc__link\">Часто задаваемые вопросы\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-152\" class=\"editorjs-toc__link\">Глоссарий\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-154\" class=\"editorjs-toc__link\">Заключение\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-158\" class=\"editorjs-toc__link\">Первичные источники и текущие ссылки на реализацию\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-7\">Что на самом деле означает ИИ в изолированной среде\u003C\u002Fh2>\n\u003Cp>Слово «ИИ» не меняет базовую концепцию безопасности. Air gap — это граница между доменами безопасности. ИИ просто делает изолированную сторону более требовательной с операционной точки зрения, поскольку современные стеки ИИ обычно предполагают загружаемые модели, реестры пакетов, телеметрию, API, хабы моделей и частые обновления ПО.\u003C\u002Fp>\n\u003Cp>Изолированная среда может по-прежнему содержать множество соединённых машин. Внутренний кластер может иметь GPU, серверы приложений, хранилище, базы данных, службы идентификации и мониторинг, соединённые друг с другом. Air gap существует между этим анклавом и внешним доменом.\u003C\u002Fp>\n\u003Cp>Таким образом, релевантный вопрос не «Есть ли у этого GPU Wi-Fi?», а «Может ли эта среда ИИ обмениваться информацией с внешним доменом через автоматизированный физический или логический путь?»\u003C\u002Fp>\n\u003Ch2 id=\"section-11\">Простейший пример\u003C\u002Fh2>\n\u003Cp>Представьте, что компания хочет внутреннего ассистента для конфиденциальных технических документов, но среде не разрешено отправлять эти документы в интернет.\u003C\u002Fp>\n\u003Cp>Компания загружает одобренную LLM, модель эмбеддингов, образы контейнеров и программные пакеты в подключённой среде подготовки. После проверки одобренные артефакты переносятся в изолированную среду.\u003C\u002Fp>\n\u003Cp>Внутри анклава сервер модели, парсер документов, векторная база данных, приложение и службы идентификации работают локально. Пользователи могут задавать вопросы и использовать RAG по внутренним документам без облачной модели или публичного реестра моделей.\u003C\u002Fp>\n\u003Cp>Когда требуется обновление, оно снова проходит через контролируемый процесс импорта, а не загружается напрямую производственным сервером ИИ.\u003C\u002Fp>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Базовый операционный цикл ИИ в изолированной среде\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. Приобретение вне анклава\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Загрузка одобренных моделей, пакетов, контейнеров, драйверов, подписей и документации в подключённой среде подготовки.\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. Проверка перед передачей\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Проверка происхождения, подписей\u002Fконтрольных сумм, статуса на наличие вредоносного ПО, лицензирования и совместимости в соответствии с политикой организации.\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. Передача через контролируемую границу\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Перемещение одобренных артефактов с использованием авторизованного ручного или опосредованного процесса.\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. Внутренняя публикация\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Размещение артефактов во внутренних репозиториях моделей, контейнеров, пакетов или файлов.\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. Локальное развёртывание\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Запуск инференса, RAG, приложений и инструментов без внешних зависимостей.\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. Мониторинг внутри анклава\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Сбор логов, метрик, состояния модели\u002Fсреды выполнения и событий безопасности локально.\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. Экспорт только одобренных доказательств\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Перемещение выбранных отчётов или артефактов наружу через обратный контролируемый процесс, где это разрешено политикой.\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. Повтор для обновлений\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Рассматривать новые модели, патчи, корпуса и зависимости как новые импорты цепочки поставок.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-17\">Где заканчивается простой пример\u003C\u002Fh2>\n\u003Cp>Производственная среда с air gap может быть гораздо больше одной рабочей станции. Она может включать Kubernetes\u002FOpenShift, внутренние реестры, объектное хранилище, поставщиков идентификации, векторные базы данных, наблюдаемость, инфраструктуру резервного копирования и несколько узлов обслуживания моделей.\u003C\u002Fp>\n\u003Cp>Чем больше сервисов существует внутри изолированного контура, тем больше организации приходится воспроизводить возможности, которые подключённые среды обычно получают из интернета.\u003C\u002Fp>\n\u003Cp>Таким образом, физическая изоляция смещает сложность. Она сокращает прямую внешнюю связность, но увеличивает ответственность за управление артефактами, обновления, зависимости, цепочку поставок и эксплуатацию внутри изолированного домена.\u003C\u002Fp>\n\u003Ch2 id=\"section-21\">Air-gapped vs offline vs local vs on-premises vs private vs sovereign AI\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\">Термин\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Что он в первую очередь описывает\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Требуется ли подключение к интернету\u002Fвнешним сетям?\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Local AI\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Инференс\u002Fсреда выполнения работает на локальном оборудовании\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Нет; но он всё ещё может обращаться к облачным сервисам\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Offline-capable AI\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Может продолжать работу без интернета\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Нет во время работы в офлайн-режиме; повторное подключение может быть нормой\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Disconnected environment\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Отсутствует прямой путь к внешнему интернету из среды развёртывания\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Обычно нет; могут использоваться контролируемые зеркала\u002Fбастионы\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">On-premises AI\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Инфраструктура работает в собственной\u002Fлокальной среде организации\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Может по-прежнему иметь полное подключение к интернету\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Private AI\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Обработка ИИ контролируется для соблюдения требований приватности\u002Fконфиденциальности\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Зависит от архитектуры; может быть подключённым или отключённым\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Air-gapped AI\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Домены безопасности физически отключены, а передача через границы не автоматизирована\u002Fвыполняется вручную согласно строгому определению\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Нет автоматизированного внешнего пути\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sovereign AI\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Контроль\u002Fюрисдикция над моделями, данными, инфраструктурой и зависимостями\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Не обязательно; суверенитет шире, чем сетевая изоляция\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Эти термины могут пересекаться, но не являются синонимами. Локальный сервер Ollama, подключённый к интернету, — это local AI, а не air-gapped AI. Локальная RAG-платформа, которая обращается к облачной модели, — это локальная инфраструктура приложения с облачным инференсом, а не air-gapped AI.\u003C\u002Fp>\n\u003Cp>Air-gapped система часто является приватной по своей конструкции, поскольку данные остаются внутри изолированного контура, но приватность также зависит от авторизации, журналирования, обработки данных, физической безопасности и операционной политики.\u003C\u002Fp>\n\u003Ch2 id=\"section-25\">Строгий air gap vs практическое развёртывание без подключения\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Два значения, которые часто называют «air-gapped»\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\">Строгий air gap\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\">Развёртывание без подключения \u002F без интернета\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\">Внешнее физическое подключение\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\">Передача через границы\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\">Доступ в интернет из рабочей нагрузки ИИ\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\">Внутренняя сеть\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\">Использовать термин, когда\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\">Документируйте границу, а не полагайтесь на ярлык\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Для архитектурных и security-ревью напишите фактическое правило: \u003Cstrong>нет исходящего интернет-трафика\u003C\u002Fstrong>, \u003Cstrong>нет физического внешнего сетевого пути\u003C\u002Fstrong>, \u003Cstrong>только ручная передача\u003C\u002Fstrong> или \u003Cstrong>отключённый кластер с одобренным бастионом\u002Fзеркалом\u003C\u002Fstrong>. Это точнее, чем говорить только «air-gapped».\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-28\">Практическая архитектура air-gapped AI\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\">Слой\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Что должно существовать внутри изолированной среды\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Слой пользователя\u002Fприложения\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Чат-интерфейс, API, бизнес-приложение или внутренний интерфейс агента\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Идентификация и авторизация\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Локальная\u002Fвнутренняя аутентификация, RBAC, разрешения на уровне тенанта\u002Fресурса\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">AI gateway\u002Fruntime\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Маршрутизация моделей, политика запросов, сборка контекста и управление средой выполнения\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Model serving\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Локальный сервер(ы) моделей, веса, токенизатор\u002Fконфигурация и среда выполнения ускорителя\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">RAG \u002F знания\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Хранилище документов, парсер, эмбеддинги, векторные\u002Fлексические индексы, метаданные и происхождение\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Инструменты\u002Fсервисы\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Только внутренние\u002Fлокальные API и одобренные системы, доступные из изолированного контура\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Репозитории артефактов\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Локальный реестр контейнеров, зеркало пакетов, хранилище моделей и, опционально, репозитории ОС\u002Fобновлений\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Наблюдаемость\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Внутренние логи, метрики, трассировки и записи аудита\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Резервное копирование\u002Fвосстановление\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Локальный или отдельно контролируемый процесс резервного копирования, соответствующий домену безопасности\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Граница передачи\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Контролируемый процесс импорта\u002Fэкспорта с проверкой и одобрением\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Полная архитектура должна запускаться и работать без DNS-запросов, проверок лицензий, загрузки пакетов или вызовов API к публичным сервисам, если только для этих зависимостей не предусмотрены одобренные внутренние замены.\u003C\u002Fp>\n\u003Cp>Полезный тест дизайна — отключить развёртывание от всех внешних сервисов и выполнить холодный запуск стека. Скрытые зависимости обычно проявляются во время запуска, загрузки модели, аутентификации, разрешения пакетов или инициализации телеметрии.\u003C\u002Fp>\n\u003Ch2 id=\"section-32\">Модели должны быть предварительно размещены\u003C\u002Fh2>\n\u003Cp>API облачных моделей недоступны по определению, если у изолированной рабочей нагрузки нет к ним пути. Поэтому изолированному контуру нужны локально запускаемые артефакты моделей или внутренне размещённый сервис инференса.\u003C\u002Fp>\n\u003Cp>Текущая документация NVIDIA по air-gap для NIM явно использует двухфазный шаблон: загрузка и подготовка ресурсов модели на подключённой машине, их передача, затем запуск изолированного NIM из локального хранилища без исходящего доступа к реестру или облачных API-ключей.\u003C\u002Fp>\n\u003Cp>Веса модели — лишь часть набора зависимостей. Токенизаторы, файлы конфигурации, адаптеры, метаданные квантования и любой необходимый код среды выполнения также должны присутствовать.\u003C\u002Fp>\n\u003Ch2 id=\"section-36\">Модели с зависимостями remote-code — это риск для air-gap\u003C\u002Fh2>\n\u003Cp>Некоторые репозитории моделей содержат пользовательский код Python или хуки времени выполнения, которые обычно загружают дополнительный код или ресурсы.\u003C\u002Fp>\n\u003Cp>Текущая документация Red Hat AI Inference явно предупреждает, что некоторые модели Hugging Face, требующие удалённого кода, не могут нормально работать в изолированных средах, поскольку библиотека пытается получить доступ к сети даже при настроенном автономном режиме.\u003C\u002Fp>\n\u003Cp>Практический вывод: перед утверждением модели для изолированного развёртывания необходимо протестировать весь путь её загрузки в автономном режиме. «Я скачал веса» — это не доказательство того, что модель самодостаточна.\u003C\u002Fp>\n\u003Ch2 id=\"section-40\">Контейнеры, пакеты и драйверы становятся локальными артефактами цепочки поставок\u003C\u002Fh2>\n\u003Cp>Среды с подключением к сети регулярно загружают образы контейнеров, пакеты Python, обновления ОС и компоненты GPU из публичных реестров. Изолированная среда не может рассчитывать ни на один из этих сервисов.\u003C\u002Fp>\n\u003Cp>Модель развёртывания ИИ в изолированной среде Red Hat использует внутренние зеркальные реестры для образов контейнеров и каталогов операторов. Модели можно зеркалировать как артефакты OCI или переносить в постоянное хранилище.\u003C\u002Fp>\n\u003Cp>Для более широких стеков тот же подход часто применяется к языковым пакетам, репозиториям Linux, пакетам JavaScript и внутренним бинарным файлам: утверждённые артефакты один раз попадают внутрь через процесс передачи, а затем предоставляются из доверенных внутренних репозиториев.\u003C\u002Fp>\n\u003Ch2 id=\"section-44\">Знайте полный перечень зависимостей\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\">Класс зависимости\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Примеры\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Артефакты модели\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Веса, токенизатор, конфигурация, адаптеры, метаданные квантования\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Среда выполнения вывода\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">vLLM, llama.cpp, Ollama, NIM или другая среда обслуживания\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Стек GPU\u002Fсреды выполнения\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Драйверы, библиотеки CUDA\u002FROCm, среда выполнения контейнеров\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Пакеты приложений\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Колёса Python, пакеты npm, системные библиотеки\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Контейнеры\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Приложение, вывод, БД, векторная БД, образы мониторинга\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Модели RAG\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Модель эмбеддингов, реранкер, модели OCR\u002Fзрения\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Данные\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Корпус знаний, метаданные, схемы, наборы данных для оценки\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Материалы безопасности\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Сертификаты, пакеты CA, политика\u002Fконфигурация, сигнатуры вредоносного ПО, где применимо\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Операционные артефакты\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Панели мониторинга, правила оповещений, инструменты резервного копирования, инструкции\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Лицензирование\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Совместимые с автономной работой лицензии\u002Fправа, где требуется\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-46\">Внутренние зеркала — это инфраструктура, а не удобство\u003C\u002Fh2>\n\u003Cp>Изолированное развёртывание становится поддерживаемым, когда изолированный домен имеет известные внутренние источники утверждённых артефактов.\u003C\u002Fp>\n\u003Cp>Документированный подход Red Hat использует зеркальный реестр, доступный изолированному кластеру, чтобы рабочие нагрузки не нуждались в публичных реестрах.\u003C\u002Fp>\n\u003Cp>Ту же архитектурную идею можно применить к хранилищам моделей и репозиториям пакетов. Цель — сделать происхождение, версию и утверждение артефактов явными, а не копировать случайные файлы вручную на каждый сервер.\u003C\u002Fp>\n\u003Ch2 id=\"section-50\">RAG может полностью работать в изолированной среде\u003C\u002Fh2>\n\u003Cp>RAG не требует публичного интернета. Ему нужен доступный для поиска корпус, конвейер приёма\u002Fиндексации и модель, способная использовать извлечённый контекст.\u003C\u002Fp>\n\u003Cp>В изолированной среде хранилище документов, парсер\u002FOCR, модель эмбеддингов, векторный или лексический индекс, реранкер и модель генерации могут работать локально.\u003C\u002Fp>\n\u003Cp>Что меняется — так это получение источников. Поиск в интернете в реальном времени и облачные коннекторы документов недоступны, если эквивалентные данные не импортированы через контролируемую границу.\u003C\u002Fp>\n\u003Cp>Таким образом, корпус становится управляемым артефактом. Каждый импорт должен сохранять идентичность источника, дату\u002Fверсию и происхождение, чтобы пользователи знали, какие знания фактически содержит изолированная система.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Fru\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\">Что такое RAG? Самое простое объяснение того, как это работает\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Сам RAG не зависит от облачного хостинга. В изолированной архитектуре поиск и генерация просто должны обеспечиваться локальными\u002Fвнутренними компонентами.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Читать основы RAG →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-56\">Агенты могут работать в изолированной среде — но только с доступными инструментами\u003C\u002Fh2>\n\u003Cp>Цикл агента может полностью выполняться внутри изолированного анклава, если модель\u002Fсреда выполнения и необходимые инструменты находятся локально или доступны во внутренней сети.\u003C\u002Fp>\n\u003Cp>Инструмент, зависящий от GitHub, публичного веб-поиска, облачной электронной почты или внешнего SaaS API, не будет работать, если архитектура не предусматривает одобренный внутренний эквивалент или контролируемый процесс асинхронного обмена.\u003C\u002Fp>\n\u003Cp>Именно поэтому проектирование агента для изолированной среды должно начинаться с инвентаризации возможностей: каждая конечная точка инструмента должна быть классифицирована как внутренняя, импортированная, недоступная или намеренно исключённая.\u003C\u002Fp>\n\u003Ch2 id=\"section-60\">MCP не обходит воздушный зазор\u003C\u002Fh2>\n\u003Cp>MCP может предоставлять локальные инструменты и ресурсы внутри изолированной среды ИИ, но протокол не создаёт связность через границу безопасности.\u003C\u002Fp>\n\u003Cp>Локальный сервер MCP, читающий внутренние документы, может работать полностью автономно. Удалённый сервер MCP в публичном интернете недоступен из строго изолированного анклава.\u003C\u002Fp>\n\u003Cp>Тот же принцип применим к любому протоколу подключения: совместимость отделена от сетевых полномочий.\u003C\u002Fp>\n\u003Ch2 id=\"section-64\">Идентификация и аутентификация также должны работать офлайн\u003C\u002Fh2>\n\u003Cp>Приложение ИИ может быть локально размещено, но при этом зависеть от облачного поставщика удостоверений. Эта скрытая зависимость нарушает по-настоящему отключённую работу.\u003C\u002Fp>\n\u003Cp>Поэтому изолированные архитектуры нуждаются в архитектуре идентификации, функционирующей внутри анклава: локальный каталог, внутренний поставщик удостоверений, внутренняя PKI, локальные учётные данные служб или другой одобренный механизм.\u003C\u002Fp>\n\u003Cp>Авторизация остаётся необходимой, даже если интернет отсутствует. Воздушные зазоры не заменяют RBAC, изоляцию арендаторов или принцип наименьших привилегий.\u003C\u002Fp>\n\u003Ch2 id=\"section-68\">Время, сертификаты и хранилища доверия становятся локальными зависимостями\u003C\u002Fh2>\n\u003Cp>Многие системы аутентификации и журналирования зависят от надёжного времени. Сертификаты истекают. Хранилища доверия меняются. Подписанные артефакты нуждаются в проверке.\u003C\u002Fp>\n\u003Cp>Поэтому отключённый анклав должен иметь внутреннюю синхронизацию времени и жизненный цикл сертификатов\u002Fдоверия, не зависящий от доступа к публичным службам во время обычной работы.\u003C\u002Fp>\n\u003Cp>Это обычные инфраструктурные вопросы, которые становятся заметны только при тестировании архитектуры без доступа к интернету.\u003C\u002Fp>\n\u003Ch2 id=\"section-72\">Телеметрия и отчёты о сбоях требуют явной политики\u003C\u002Fh2>\n\u003Cp>Многие современные библиотеки по умолчанию пытаются собирать аналитику, проверять обновления или отправлять отчеты об ошибках.\u003C\u002Fp>\n\u003Cp>В изолированной среде такие вызовы следует либо отключить, либо перенаправить во внутреннюю систему наблюдаемости. Повторяющиеся неудачные попытки телеметрии могут создавать задержки, зашумлять логи и приводить к неожиданному поведению при запуске.\u003C\u002Fp>\n\u003Cp>Развертывание в изолированной среде должно знать, какие компоненты пытаются выходить во внешнюю сеть, даже если межсетевой экран их блокирует.\u003C\u002Fp>\n\u003Ch2 id=\"section-76\">Изолированным системам все равно нужны патчи\u003C\u002Fh2>\n\u003Cp>Сетевая изоляция не мешает программному обеспечению приобретать уязвимости. Она лишь меняет способ доставки патчей в систему.\u003C\u002Fp>\n\u003Cp>NIST рассматривает управление патчами как профилактическое обслуживание: организациям по-прежнему необходимо выявлять, получать, расставлять приоритеты, устанавливать и проверять патчи и обновления.\u003C\u002Fp>\n\u003Cp>Поэтому для работы в изолированной среде нужен воспроизводимый цикл импорта пакетов ОС, образов контейнеров, драйверов, сред выполнения ИИ и обновлений безопасности. Компромисс заключается между стабильностью изоляции и подверженностью уязвимостям из-за устаревшего программного обеспечения.\u003C\u002Fp>\n\u003Ch2 id=\"section-80\">Контролируемый путь обновления\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Пример жизненного цикла обновления для изолированной среды ИИ\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. Определить необходимое обновление\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Уведомление о безопасности, улучшение модели\u002Fсреды выполнения или операционная потребность запускают изменение.\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. Получить в подключенной промежуточной среде\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Загрузить точные версии, а также подписи\u002Fконтрольные суммы и метаданные.\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. Проверить свидетельства цепочки поставок\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Убедиться в источнике, целостности, совместимости и соответствии требованиям политики.\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. Протестировать в репрезентативной офлайн-среде\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Убедиться, что обновление работает без неожиданных сетевых зависимостей.\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. Утвердить передачу\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Применить организационный процесс управления изменениями и безопасностью.\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. Импортировать в репозиторий изолированного контура\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Опубликовать артефакт во внутреннем доверенном источнике.\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. Развертывать постепенно\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Применить на тестовых\u002Fканареечных узлах перед более широким развертыванием, если это позволяет архитектура.\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. Проверить и зафиксировать\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Подтвердить версию, работоспособность, поведение и состояние отката.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-82\">Граница передачи — самый чувствительный операционный интерфейс\u003C\u002Fh2>\n\u003Cp>Если внешняя информация должна попасть в изолированную систему, канал импорта становится важнейшей точкой контроля безопасности.\u003C\u002Fp>\n\u003Cp>Структура киберугроз NSA Cybersecurity Technical Cyber Threat Framework прямо признает репликацию через съемные носители путем, который злоумышленники могут использовать для проникновения в отключенные или изолированные сети.\u003C\u002Fp>\n\u003Cp>Именно поэтому контролируемая работа с носителями, проверка, происхождение, шифрование при необходимости, сканирование на вредоносное ПО и разделение ролей могут иметь не меньшее значение, чем сам стек ИИ.\u003C\u002Fp>\n\u003Ch2 id=\"section-86\">Съемный носитель — не нейтральный канал\u003C\u002Fh2>\n\u003Cp>USB-накопители и другие портативные носители могут содержать как легитимные артефакты моделей\u002Fданных, так и вредоносное содержимое.\u003C\u002Fp>\n\u003Cp>Руководство NIST по очистке носителей рассматривает носители информации как объект жизненного цикла конфиденциальности, который может требовать очистки, стирания или уничтожения в зависимости от чувствительности и потребностей повторного использования.\u003C\u002Fp>\n\u003Cp>Точная процедура передачи зависит от организации, но архитектурный принцип неизменен: носители, пересекающие границы, должны управляться как актив безопасности, а не рассматриваться как неформальное удобство.\u003C\u002Fp>\n\u003Ch2 id=\"section-90\">Изоляция повышает важность цепочки поставок\u003C\u002Fh2>\n\u003Cp>Изолированная система получает меньше живых внешних входных данных, но каждый импортированный бинарный файл, модель, контейнер и пакет приобретает большее значение, поскольку анклав может доверять им в течение длительного времени.\u003C\u002Fp>\n\u003Cp>Руководство NIST по цепочке поставок программного обеспечения подчеркивает происхождение, риск поставщика, управление уязвимостями, верификацию программного обеспечения и практики, ориентированные на SBOM. Эти вопросы становятся непосредственно актуальными для офлайн-импорта артефактов ИИ.\u003C\u002Fp>\n\u003Cp>Цепочка поставок моделей заслуживает такого же внимания, как и цепочка поставок приложений: происхождение модели, лицензия, хеш, формат, требуемый код, токенизатор, адаптеры и статус оценки должны быть известны до импорта.\u003C\u002Fp>\n\u003Ch2 id=\"section-94\">Готовность к воздушному зазору следует проверять, а не предполагать\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\">Предлагаемый шаблон валидации\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Следующий тест на готовность к воздушному зазору является инженерным синтезом, а не методом сертификации NIST или поставщика. Он предназначен для выявления скрытых внешних зависимостей перед развертыванием.\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\">Тест\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Что он доказывает\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Холодный запуск при блокировке всех исходящих сетевых подключений\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Среда выполнения не требует публичных сервисов при запуске\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Загрузка каждой утвержденной модели из локального хранилища\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Веса\u002Fтокенизаторы\u002Fконфигурации полны\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Пересборка\u002Fпереразвертывание только из внутренних реестров\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Зеркала контейнеров\u002Fпакетов достаточны\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Аутентификация пользователей при недоступности внешнего IdP\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Идентификация работает внутри анклава\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Запуск приема и запросов RAG в офлайн-режиме\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Стек встраивания\u002Fиндексации\u002Fпоиска является локальным\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Запуск репрезентативных инструментов агента\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Инструменты не зависят от внешних API\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Перезапуск после удаления кэша\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Офлайн-работа случайно не полагается на ранее кэшированные загрузки\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Продвижение смоделированного жизненного цикла сертификатов\u002Fобновлений\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Зависимости доверия и обслуживания понятны\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Импорт новой модели через промежуточный путь\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Процедура передачи\u002Fизменения является операционной\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Восстановление из резервной копии\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Восстановление не требует недоступного облачного хранилища\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-97\">Кэширование один раз не то же самое, что готовность к воздушному зазору\u003C\u002Fh2>\n\u003Cp>Система может казаться офлайн, потому что модель и пакеты уже кэшированы из более раннего доступа в интернет.\u003C\u002Fp>\n\u003Cp>Удаление кэшей или развертывание на чистом узле может выявить отсутствующие файлы токенизатора, пакеты Python, манифесты моделей или зависимости удаленного кода.\u003C\u002Fp>\n\u003Cp>Таким образом, готовность к воздушному зазору следует проверять на чистых внутренних артефактах, а не только на рабочей станции разработчика, которая ранее была подключена.\u003C\u002Fp>\n\u003Ch2 id=\"section-101\">Какие угрозы остаются внутри воздушного зазора?\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\">Угроза\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Почему воздушный зазор не устраняет ее\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Скомпрометированный импортированный артефакт\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Вредоносное ПО\u002Fмодель\u002Fпакет может проникнуть через авторизованный путь передачи\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Вредоносный съемный носитель\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Физическая передача может нести исполняемые полезные нагрузки\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Злоупотребление инсайдером\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Авторизованные пользователи уже существуют внутри анклава\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Внедрение подсказок в импортированные документы\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Недоверенный контент может влиять на RAG\u002Fагентов без интернета\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Инструменты агента с избыточными привилегиями\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Локальные инструменты все еще могут повредить локальные системы\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Утечка данных между арендаторами\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Внутренние ошибки авторизации остаются возможными\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Уязвимое внутреннее программное обеспечение\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Отсутствие внешнего подключения не устраняет эксплуатируемые ошибки\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Боковое перемещение\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Скомпрометированный узел может атаковать другие внутренне подключенные узлы\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Устаревшие зависимости\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Медленный темп обновлений может оставить известные уязвимости неисправленными\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Физическая кража\u002Fвмешательство\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Безопасность аппаратного обеспечения и носителей остается критически важной\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Плохое поведение модели\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Галлюцинации, предвзятость и сбои задач не зависят от сетевого взаимодействия\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Отравление цепочки поставок\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Доверенные источники импорта все еще могут быть скомпрометированы\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-103\">Что воздушный зазор действительно улучшает\u003C\u002Fh2>\n\u003Cp>Настоящий воздушный зазор может существенно сократить пути атак, которые зависят от прямого удаленного подключения: внешнее командование и управление, неправомерное использование облачных учетных данных, эксплуатация интернет-сервисов и случайная утечка данных через обычные исходящие API.\u003C\u002Fp>\n\u003Cp>Это также упрощает размещение данных в одном узком смысле: данные вывода не могут быть отправлены во внешнюю облачную службу, если путь не существует.\u003C\u002Fp>\n\u003Cp>Эти преимущества наиболее сильны, когда граница передачи и внутренние средства контроля доступа одинаково дисциплинированы. Плохо управляемый процесс USB может подорвать предполагаемую изоляцию.\u003C\u002Fp>\n\u003Ch2 id=\"section-107\">Что воздушный зазор делает сложнее\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\">Область\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Операционное последствие\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Обновления моделей\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ручная\u002Fпоэтапная передача вместо прямого извлечения из хаба моделей\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Патчи безопасности\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Задержка и управляемый рабочий процесс импорта\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Установка пакетов\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Требуются внутренние зеркала или предварительно собранные артефакты\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Облачные API ИИ\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Недоступны\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Веб-поиск\u002Fконнекторы\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Недоступны, если данные не импортированы отдельно\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Аутентификация\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Требуются внутренние\u002Fофлайн-способные службы идентификации\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Мониторинг\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Требуется внутренняя наблюдаемость и контролируемый экспорт\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Лицензирование\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Продукты, требующие онлайн-активации, могут быть непригодны\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Устранение неполадок\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Нет легкого живого доступа к ресурсам поставщика из производственного анклава\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Емкость\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Все вычислительные ресурсы для вывода должны существовать локально\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Восстановление после сбоев\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Облачные резервные копии могут быть недоступны или ограничены политикой\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Актуальность знаний\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Внешняя информация поступает только так быстро, как позволяет процесс импорта\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-109\">AI в изолированной среде против частного AI\u003C\u002Fh2>\n\u003Cp>Частный AI в первую очередь связан с контролем над конфиденциальными данными и обработкой AI. Частная AI-платформа может быть развёрнута на собственных мощностях и при этом обращаться к одобренным облачным моделям или внешним сервисам.\u003C\u002Fp>\n\u003Cp>AI в изолированной среде предъявляет более строгие требования к подключению. Система может быть частной, но не изолированной, а изолированная система может по-прежнему иметь слабую защиту конфиденциальности, если каждый внутренний пользователь имеет неограниченный доступ.\u003C\u002Fp>\n\u003Cp>Цель безопасности должна определять архитектуру: конфиденциальность, суверенитет, устойчивость и изоляция — это связанные, но различные требования.\u003C\u002Fp>\n\u003Ch2 id=\"section-113\">AI в изолированной среде против суверенного AI\u003C\u002Fh2>\n\u003Cp>Суверенный AI касается контроля над более широкой цепочкой зависимостей: данными, моделями, инфраструктурой, операторами, юрисдикцией и стратегическими зависимостями.\u003C\u002Fp>\n\u003Cp>Изоляция может поддерживать суверенитет за счёт снижения внешней зависимости во время работы, но она не гарантирует суверенный контроль. Изолированный контур может по-прежнему зависеть от иностранного оборудования, проприетарных лицензий на модели или внешних поставщиков обновлений.\u003C\u002Fp>\n\u003Cp>Следующая каноническая статья явно разделяет эти измерения контроля.\u003C\u002Fp>\n\u003Ch2 id=\"section-117\">Свидетельства исходной реализации: что доказывает Aaasaasa AI Client — и что он не доказывает\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\">Граница реализации\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Aaasaasa AI Client является полезным свидетельством для \u003Cstrong>архитектуры локального вывода\u003C\u002Fstrong>, абстракции провайдера и разделения расположения среды выполнения и модели. Это \u003Cstrong>не является свидетельством развёрнутой изолированной среды\u003C\u002Fstrong>. Репозиторий также поддерживает облачные и удалённые пути, и никакие проверенные свидетельства проекта не устанавливают физически изолированный домен безопасности.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cp>AI Hub разделяет агента\u002Fклиента, провайдера, модель и расположение подключения. Он поддерживает локальный вывод Ollama и работу Codex с локальным провайдером как отдельные варианты, а не предполагает, что каждый AI-запрос идёт к облачной модели.\u003C\u002Fp>\n\u003Cp>В репозитории явно отмечено, что локальная среда выполнения может по-прежнему использовать облачную модель, тогда как прямой чат с Ollama — это локальный вывод. Это различие напрямую относится к архитектуре изолированной среды: локальное выполнение не доказывает, что модель или сопутствующие зависимости отключены.\u003C\u002Fp>\n\u003Cp>Таким образом, абстракция провайдера, обнаружение локальных моделей и локальный вывод являются строительными блоками для архитектуры продукта, способного работать в изолированной среде, но сетевую границу, офлайн-зеркало зависимостей, контролируемый процесс передачи и офлайн-идентификацию\u002Fоперации всё ещё необходимо проектировать отдельно.\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\">Проверенная возможность проекта\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Значимость для изолированной среды\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Локальный вывод Ollama\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Поддерживает локальное выполнение моделей\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Пути локального провайдера\u002Fсреды выполнения\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Снижает зависимость от облачного вывода\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Разделение провайдера\u002Fмодели\u002Fсреды выполнения\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Делает облачные зависимости явными, а не скрытыми\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Централизованные разрешения\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Поддерживает локальный контроль доступа к инструментам и данным\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Также существует поддержка облачных\u002Fудалённых провайдеров\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Доказывает, что сам продукт способен работать в гибридном режиме, а не является изначально изолированным\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Нет проверенной границы изолированного развёртывания\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Предотвращает завышенные заявления о зрелости изоляции\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-123\">Когда AI в изолированной среде оправдан?\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\">Изоляция может быть оправдана, когда\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Подключённая частная архитектура может быть лучше, когда\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Политика безопасности явно требует физически разделённых доменов\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Основное требование — лишь чтобы промпты\u002Fданные не использовались публичными потребительскими сервисами\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Секретные или чрезвычайно чувствительные данные не могут пересекать внешние сети\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Одобренные корпоративные облачные\u002Fчастные конечные точки удовлетворяют требованиям контроля данных\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Операционная среда не имеет надёжного внешнего подключения\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Интернет доступен, и операционная гибкость имеет значение\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Непрерывность выполнения задач не должна зависеть от доступности облака\u002Fпровайдера\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Управляемое качество моделей и быстрые обновления более ценны\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Регулируемая\u002Fкритическая среда требует контролируемой передачи\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Стандартные средства безопасности могут соответствовать фактической модели угроз\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Доступ к внешним SaaS\u002FAPI запрещён\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Бизнес-процесс сильно зависит от внешних коннекторов\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Изоляция должна быть требованием, вытекающим из модели угроз или политики, а не престижной функцией. Она имеет реальную ценность для безопасности, когда сам устранённый путь подключения неприемлем.\u003C\u002Fp>\n\u003Cp>Для многих корпоративных сценариев строго контролируемая частная сеть с ограничениями исходящего трафика, локальным выводом и одобренными каналами обновлений может обеспечить лучший баланс безопасности и поддерживаемости, чем строгая физическая изоляция.\u003C\u002Fp>\n\u003Ch2 id=\"section-127\">Практическая последовательность проектирования изолированного ИИ\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Проектирование от границы внутрь\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. Определите, что именно разделяет воздушный зазор\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Назовите домены безопасности и уточните, требуется ли строгое физическое разделение или достаточно отсутствия интернета.\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. Проведите инвентаризацию всех внешних зависимостей\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Модели, пакеты, реестры, идентификация, телеметрия, лицензирование, хранилища, API, DNS\u002Fвремя и сервисы поддержки.\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. Выберите модели и среды выполнения, способные работать офлайн\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Убедитесь, что ресурсы модели и код среды выполнения загружаются без удалённых вызовов.\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. Создайте внутренние репозитории артефактов\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Создайте доверенные источники для контейнеров, пакетов, моделей и обновлений.\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. Спроектируйте контролируемую передачу\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Определите промежуточное хранение, верификацию, обработку носителей\u002Fшлюзов, утверждение и происхождение.\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. Постройте внутреннюю идентификацию и авторизацию\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Обеспечьте аутентификацию пользователей, сервисов и инструментов без облачных зависимостей.\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. Оставьте RAG и инструменты локальными\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Разверните знания, эмбеддинги, индексы и необходимые API сервисов внутри изолированного контура.\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. Постройте внутреннюю наблюдаемость\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Ведите логи, метрики, трассировки и мониторинг безопасности локально.\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. Определите периодичность обновления патчей и моделей\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Сбалансируйте реагирование на уязвимости с контролируемым процессом импорта.\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. Тестируйте из чистого отключённого состояния\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Выполните холодный запуск и работу без унаследованных кэшей или скрытого доступа в интернет.\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. Тестируйте пути компрометации\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Отработайте сценарии со съёмными носителями, цепочкой поставок, внедрением промптов, инсайдером и боковым перемещением.\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. Документируйте исключения и экспорт\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Каждый разрешённый путь через границу должен иметь определённое назначение, владельца и набор средств контроля.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-129\">Контрольный список архитектуры изолированного ИИ\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\">Вопрос\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Ожидаемое подтверждение\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Что именно изолировано от чего?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Документированная граница домена безопасности\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Является ли граница физически отключённой?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Доказательства сетевой\u002Fфизической архитектуры, если заявлен строгий воздушный зазор\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Как данные пересекают границу?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Авторизованный неавтоматизированный\u002Fручной или явно документированный отключённый рабочий процесс\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Может ли каждая модель запускаться офлайн с холодного старта?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Тест офлайн-загрузки\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Полны ли ресурсы токенизатора\u002Fконфигурации\u002Fсреды выполнения?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Проверенный внутренний пакет модели\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Откуда берутся контейнеры\u002Fпакеты?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Внутреннее доверенное зеркало\u002Fрепозиторий\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Может ли идентификация работать без облачных сервисов?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Внутренний путь IdP\u002FPKI\u002Fучётных данных сервисов\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Может ли RAG выполнять приём и запросы офлайн?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Локальный приём, эмбеддинги, индекс и поиск\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Какие инструменты агента остаются доступными?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Внутренняя инвентаризация возможностей\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Как импортируются патчи?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Контролируемый процесс обслуживания\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Как проверяются артефакты?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Контроль целостности\u002Fпроисхождения\u002Fвредоносного ПО\u002Fцепочки поставок\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Как регулируется использование съёмных носителей?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Политика обработки и очистки носителей\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Может ли система работать после очистки кэшей?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Офлайн-тест в чистой среде\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Где хранятся логи и трассировки?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Внутренняя платформа наблюдаемости\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Как утверждается экспорт?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Контролируемый процесс исходящей передачи\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Что доказывает, что это воздушный зазор, а не просто локальность?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Доказательства границы и передачи, а не расположения модели\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-131\">Типичные режимы отказа изолированного ИИ\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\">Режим отказа\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Что на самом деле отказало\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Локальная модель всё ещё загружает токенизатор\u002Fконфигурацию при запуске\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Пакет модели был неполным\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Контейнер ссылается на публичный реестр\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Развёртывание не было самодостаточным\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Для входа требуется облачная идентификация\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Приложение было локальным, а идентификация — нет\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Требуется внешний сервер лицензий\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Зависимость от поставщика противоречила офлайн-работе\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Отсутствует модель эмбеддингов\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Чат работает, но приём RAG не работает\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Инструмент агента вызывает публичный SaaS\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Архитектура агента не была совместима с воздушным зазором\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Изолирован только узел с GPU\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">База данных, интерфейс или мониторинг всё ещё зависят от внешних сервисов\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Импорт через USB неформален\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Граница передачи становится неконтролируемым путём атаки\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Нет процесса патчей\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Изоляция создаёт растущий долг уязвимостей\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">В качестве доказательства используется машина разработчика с кэшем\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Свежее развёртывание не работает без интернета\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Воздушный зазор заменяет мышление об авторизации\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Внутренние пользователи\u002Fсервисы получают избыточные привилегии\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Метка «воздушный зазор» используется для блокировки исходящего трафика только межсетевым экраном\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Документация по безопасности преувеличивает фактическую границу\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-133\">Распространённые заблуждения\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\">Заблуждение\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Исправление\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">«Локальный ИИ — это изолированный ИИ».\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">«Локальный» описывает, где выполняется вывод; «воздушный зазор» описывает границу безопасности\u002Fсети.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">«Воздушный зазор означает один автономный ПК».\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Изолированный контур может содержать целую внутреннюю сеть или кластер.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">«Отсутствие интернета равно строгому воздушному зазору».\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Согласно определению NIST, разделённые системы также не имеют физического соединения, а передача через границу не автоматизирована.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">«Воздушные зазоры устраняют киберриски».\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Остаются риски цепочки поставок, съёмных носителей, инсайдеров, внутренней сети и приложений.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">«RAG требует облака».\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">RAG может полностью работать на локальных моделях, индексах и данных.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">«Агенты не могут работать офлайн».\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Агенты могут использовать внутренние\u002Fлокальные инструменты; они просто не могут обращаться к недоступным внешним сервисам.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">«После установки система не нуждается в обновлениях».\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Патчи, драйверы, модели и зависимости всё ещё требуют управления жизненным циклом.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">«Скачанная модель самодостаточна».\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Токенизаторы, удалённый код, библиотеки или ресурсы модели всё ещё могут вызывать сетевые зависимости.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">«Частный ИИ и изолированный ИИ идентичны».\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Частный ИИ — это свойство данных\u002Fконтроля; воздушный зазор — это свойство подключения.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">«Воздушный зазор гарантирует суверенитет».\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Внешнее оборудование, лицензии, модели и цепочка поставок могут оставаться зависимостями.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-135\">Ограничения\u003C\u002Fh2>\n\u003Cp>Строгие воздушные зазоры замедляют обновление внешних знаний, поскольку каждый новый источник должен пройти процесс передачи.\u003C\u002Fp>\n\u003Cp>Они могут ограничивать выбор модели, когда лицензии, требования к удалённому коду, потребности в оборудовании или API только от поставщика не могут быть удовлетворены офлайн.\u003C\u002Fp>\n\u003Cp>Они увеличивают эксплуатационные расходы, поскольку инфраструктуру, обычно потребляемую как облачные сервисы, необходимо иметь и обслуживать внутри.\u003C\u002Fp>\n\u003Cp>Они также могут создавать задержку патчей: более строгий контроль изменений может поддерживать стабильность систем, задерживая срочное устранение уязвимостей.\u003C\u002Fp>\n\u003Cp>Поэтому изолированный ИИ следует оценивать как одну из нескольких архитектур безопасности, а не считать его универсально превосходным.\u003C\u002Fp>\n\u003Ch2 id=\"section-141\">Что могло бы изменить этот ответ?\u003C\u002Fh2>\n\u003Cp>Поддержка поставщиками работы в отключённом режиме меняется быстро. Новые форматы моделей, подписанные артефакты OCI, офлайн-механизмы лицензирования и интегрированные реестры моделей могут снизить операционные сложности.\u003C\u002Fp>\n\u003Cp>Различие между строгим воздушным зазором и отключённым развёртыванием останется важным, даже если поставщики продолжат использовать эти термины вольно.\u003C\u002Fp>\n\u003Cp>Устойчивый принцип состоит в том, что подлинные заявления о воздушном зазоре зависят от границы системы и механизма передачи, а не от того, выполняется ли LLM локально.\u003C\u002Fp>\n\u003Ch2 id=\"section-145\">Связанные канонические знания\u003C\u002Fh2>\n\u003Cp>Air-Gapped AI — это узел архитектуры развертывания и безопасности. Private AI, Sovereign AI и абстракция провайдера отвечают на разные вопросы о конфиденциальности, контроле и зависимости.\u003C\u002Fp>\n\u003Cp>MLOps\u002FLLMOps становится более требовательным в изолированной среде, поскольку жизненные циклы моделей, пакетов и обновлений должны работать через внутренние репозитории и контролируемую передачу.\u003C\u002Fp>\n\u003Cp>RAG и Agentic AI остаются допустимыми паттернами внутри анклава, если их данные и инструменты доступны внутри.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Fru\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\">Память AI-агента — это не RAG: как разделять память, поиск, состояние и контекст\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Air-gapped AI по-прежнему нуждается в правильных внутренних границах между долговременной памятью, авторитетным состоянием, поиском и контекстом модели.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Читать статью об архитектуре памяти →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-150\">Часто задаваемые вопросы\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 по air-gapped AI\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\">Что такое air-gapped AI?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Air-gapped AI — это AI, развернутый внутри домена безопасности, физически отключенного от внешних систем, от которых он отделен, при этом передача через границу выполняется с помощью контролируемых неавтоматизированных процедур в соответствии со строгим определением 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\">Нужен ли air-gapped AI доступ в интернет?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Нет, для обычного инференса и работы. Необходимые модели, пакеты, данные и сервисы должны быть доступны внутри изолированной среды.\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\">Является ли локальная LLM автоматически air-gapped?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Нет. Локальная модель может работать на машине, которая по-прежнему имеет доступ в интернет или использует облачную идентификацию, инструменты или хранилище. Air gap описывает границу всей системы.\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\">Может ли RAG работать в air-gapped сети?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Да. Документы, модели эмбеддингов, векторные или лексические индексы, реранкеры и модели генерации могут работать локально. Внешние знания должны быть импортированы через контролируемую границу.\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\">Могут ли AI-агенты работать в air-gapped режиме?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Да, если их инструменты и необходимые системы доступны внутри изолированной сети. Публичные SaaS и облачные API недоступны без разрешенного механизма пересечения границы.\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\">Как обновляются модели в air-gapped среде?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Модели обычно приобретаются и проверяются в подключенной промежуточной среде, передаются через утвержденный процесс и публикуются во внутреннем репозитории моделей\u002Fартефактов.\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\">Является ли on-premises AI тем же, что и air-gapped AI?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Нет. On-premises описывает расположение инфраструктуры. On-prem системы могут оставаться подключенными к интернету.\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\">Является ли private AI тем же, что и air-gapped AI?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Нет. Private AI касается требований к данным и контролю и может по-прежнему использовать подключенную инфраструктуру. Air gap конкретно описывает сетевое\u002Fдоменное разделение.\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\">Делает ли air gap AI безопасным?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Он устраняет или снижает некоторые риски удаленного подключения, но не устраняет риски цепочки поставок, съемных носителей, инсайдеров, внутренней авторизации, физические риски или риски поведения модели.\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\">Какой лучший тест на готовность к air gap?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Разверните или выполните холодный запуск всего стека в чистой среде при недоступности всех внешних подключений и убедитесь, что модели, идентификация, RAG, инструменты, мониторинг, обновления и восстановление зависят только от утвержденных внутренних артефактов и сервисов.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-152\">Глоссарий\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\">Ключевые термины air-gapped AI\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\">Интерфейс домена безопасности, где системы физически не соединены, а любая логическая передача через границу является неавтоматизированной\u002Fручной в соответствии с определением глоссария 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\">Air-gapped AI\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">AI-система, развернутая внутри air-gapped домена безопасности с локально доступными зависимостями для инференса и работы.\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\">Disconnected environment\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Среда развертывания без прямого доступа к внешнему интернету; реализации могут использовать контролируемые зеркальные или 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\">Offline-capable AI\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">AI-приложение, способное выполнять некоторые или все функции без подключения к интернету, не обязательно будучи постоянно изолированным.\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\">Local AI\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">AI-инференс или среда выполнения, работающая на локальном оборудовании, а не на удаленной конечной точке модели; не подразумевает сетевую изоляцию.\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\">Mirror registry\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Внутренний репозиторий, содержащий утвержденные копии образов контейнеров или других артефактов, необходимых для развертывания в отключенной среде.\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\">Staging environment\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Подключенная или контролируемая зона, где артефакты приобретаются, проверяются и подготавливаются перед передачей в изолированный домен.\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\">Controlled transfer\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Управляемое перемещение данных или программного обеспечения через границу изоляции с использованием утвержденных носителей\u002Fпроцессов и проверки.\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\">Artifact provenance\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Информация, показывающая, откуда произошел модель, пакет, контейнер или другой импортированный артефакт и как он был создан или проверен.\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\">Removable media\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Портативное хранилище, используемое для передачи данных между системами; потенциальный путь безопасности через отключенные домены.\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\">Internal model store\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Репозиторий внутри изолированной среды, из которого обслуживаются или развертываются утвержденные артефакты моделей.\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\">Air-gap readiness\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Продемонстрированная способность всего AI-стека устанавливаться, запускаться, работать, обновляться и восстанавливаться без неутвержденного внешнего подключения.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-154\">Заключение\u003C\u002Fh2>\n\u003Cp>Air-gapped AI — это не особый вид модели. Это AI-архитектура, работающая внутри намеренно изолированного домена безопасности.\u003C\u002Fp>\n\u003Cp>Модель может быть легкой частью. Готовность к производству зависит от того, может ли каждая окружающая зависимость — активы моделей, пакеты, реестры, идентификация, RAG, инструменты, мониторинг, обновления и восстановление — функционировать без автоматизированного внешнего пути.\u003C\u002Fp>\n\u003Cp>Самое короткое надежное правило: локальный инференс доказывает, где работает модель; доказательства air gap доказывают, как вся система разделена и как каждая разрешенная передача пересекает эту границу.\u003C\u002Fp>\n\u003Ch2 id=\"section-158\">Первичные источники и текущие ссылки на реализацию\u003C\u002Fh2>\n\u003Cp>Приведенные ниже источники устанавливают определение безопасности, текущие паттерны развертывания AI в отключенных средах и риски жизненного цикла. Использование термина «air-gapped» поставщиками намеренно отличается от более строгого определения 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\">Определение глоссария NIST: физически отключенные системы с неавтоматизированной, вручную контролируемой логической передачей через границу.\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 — Air-Gap Deployment\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Текущее операционное руководство по подготовке активов моделей в подключенной системе и запуску NIM из локального хранилища без интернета, публичных реестров или облачных API-ключей.\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 — Disconnected deployment\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Текущее руководство Red Hat по обслуживанию LLM в отключенных средах с зеркалированными артефактами и внутренней инфраструктурой.\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 — Хранение моделей в изолированных средах\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Актуальные рекомендации по OCI-образам моделей, постоянному хранению моделей и ограничениям моделей, требующих удалённого кода.\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 — Technical Cyber Threat Framework\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Фреймворк угроз, в котором репликация через съёмные носители прямо указана как путь проникновения в изолированные или физически изолированные сети.\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 Rev. 1 — Guidelines for Media Sanitization\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Рекомендации по управлению носителями информации и их очистке в соответствии с требованиями к конфиденциальности информации.\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 Rev. 4 — Enterprise Patch Management Planning\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Рекомендации, рассматривающие установку исправлений и обновлений как профилактическое обслуживание корпоративных систем.\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 — Software Security in Supply Chains\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Рекомендации NIST, охватывающие риски цепочки поставок программного обеспечения, происхождение, верификацию, практики, связанные с SBOM, и управление уязвимостями.\u003C\u002Fp>\u003C\u002Fa>",{"time":212,"blocks":213,"version":1684},1791488425397,[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,1581,1586,1591,1596,1601,1606,1611,1621,1630,1639,1648,1657,1666,1675],{"id":215,"data":216,"type":218,"tunes":219},"intro",{"text":217},"ИИ в изолированной среде (air-gapped AI) — это система ИИ, развёрнутая внутри домена безопасности, не имеющего физического сетевого подключения к внешним системам, от которых он отделён, при этом любая передача через эту границу выполняется посредством намеренно контролируемых, неавтоматизированных процедур. Модель ИИ, среда выполнения, данные, индексы поиска, инструменты и операционные зависимости, необходимые для инференса, должны быть доступны внутри изолированной среды. ИИ в изолированной среде — это не просто «локальная модель» или «сервер на территории организации»: определяющим свойством является сетевая граница и граница передачи вокруг всей системы.","paragraph",{},{"id":221,"data":222,"type":226,"tunes":227},"direct",{"body":223,"title":224,"variant":225},"Система ИИ в изолированной среде может выполнять инференс LLM, RAG, анализ документов и даже агентные рабочие процессы без интернета или облачных API, если все необходимые зависимости доступны внутри изолированного домена.\u003Cbr>\u003Cbr>Практическая архитектура:\u003Cbr>\u003Cstrong>контролируемый импорт → внутренние репозитории артефактов\u002Fмоделей → локальная среда выполнения ИИ → локальные данные\u002FRAG → локальные инструменты → внутренние пользователи\u002Fсервисы → локальный мониторинг\u002Fаудит\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>Сложность не в том, чтобы заставить одну LLM отвечать офлайн. Сложность в эксплуатации всего жизненного цикла ИИ — обновлений, моделей, драйверов, пакетов, импорта данных, учётных данных, логирования и безопасности — без скрытой зависимости от внешних сервисов.","Прямой ответ","info","callout",{},{"id":229,"data":230,"type":226,"tunes":234},"nist-boundary",{"body":231,"title":232,"variant":233},"Глоссарий по кибербезопасности NIST определяет air gap как интерфейс, где две системы \u003Cstrong>физически не соединены\u003C\u002Fstrong> и где любая логическая передача \u003Cstrong>не автоматизирована\u003C\u002Fstrong>; данные пересекают границу только вручную под контролем человека. Документация поставщиков иногда использует термины «air-gapped» или «disconnected» в более широком смысле для сред без подключения к внешнему интернету, но с внутренней сетью и контролируемой инфраструктурой промежуточного хранения. В архитектурной документации следует указывать, какое значение фактически реализовано.","Air gap имеет более строгое значение, чем «нет интернета»","warning",{},{"id":236,"data":237,"type":226,"tunes":240},"not-security",{"body":238,"title":239,"variant":233},"Удаление прямого сетевого подключения устраняет множество удалённых путей, но не устраняет вредоносные съёмные носители, скомпрометированные импорты ПО\u002Fмоделей, внутренние угрозы, уязвимые внутренние сервисы, физическую компрометацию, внедрение подсказок через импортированные документы или боковое перемещение внутри изолированной сети.","Air-gapped не означает безопасный по определению",{},{"id":242,"data":243,"type":226,"tunes":247},"current",{"body":244,"title":245,"variant":246},"Текущая документация NVIDIA NIM и Red Hat AI Inference обе поддерживают обслуживание LLM без доступа к внешнему интернету путём предварительной подготовки моделей и контейнерных артефактов. NVIDIA описывает подключённую фазу подготовки, за которой следует изолированная фаза выполнения с локальными артефактами и без учётных данных облачного реестра. Red Hat использует зеркальные репозитории контейнеров\u002Fмоделей для отключённых сред OpenShift. Это полезные примеры реализации, но они не отменяют более строгое определение air gap от NIST.","Примечание об актуальности — 8 октября 2026 г.","note",{},{"id":249,"data":250,"type":254,"tunes":255},"toc",{"title":251,"maxLevel":252,"minLevel":253},"Содержание",3,2,"tableOfContents",{},{"id":257,"data":258,"type":42,"tunes":260},"h-meaning",{"text":259,"level":253},"Что на самом деле означает ИИ в изолированной среде",{},{"id":262,"data":263,"type":218,"tunes":265},"p-meaning-1",{"text":264},"Слово «ИИ» не меняет базовую концепцию безопасности. Air gap — это граница между доменами безопасности. ИИ просто делает изолированную сторону более требовательной с операционной точки зрения, поскольку современные стеки ИИ обычно предполагают загружаемые модели, реестры пакетов, телеметрию, API, хабы моделей и частые обновления ПО.",{},{"id":267,"data":268,"type":218,"tunes":270},"p-meaning-2",{"text":269},"Изолированная среда может по-прежнему содержать множество соединённых машин. Внутренний кластер может иметь GPU, серверы приложений, хранилище, базы данных, службы идентификации и мониторинг, соединённые друг с другом. Air gap существует между этим анклавом и внешним доменом.",{},{"id":272,"data":273,"type":218,"tunes":275},"p-meaning-3",{"text":274},"Таким образом, релевантный вопрос не «Есть ли у этого GPU Wi-Fi?», а «Может ли эта среда ИИ обмениваться информацией с внешним доменом через автоматизированный физический или логический путь?»",{},{"id":277,"data":278,"type":42,"tunes":280},"h-simple",{"text":279,"level":253},"Простейший пример",{},{"id":282,"data":283,"type":218,"tunes":285},"p-simple-1",{"text":284},"Представьте, что компания хочет внутреннего ассистента для конфиденциальных технических документов, но среде не разрешено отправлять эти документы в интернет.",{},{"id":287,"data":288,"type":218,"tunes":290},"p-simple-2",{"text":289},"Компания загружает одобренную LLM, модель эмбеддингов, образы контейнеров и программные пакеты в подключённой среде подготовки. После проверки одобренные артефакты переносятся в изолированную среду.",{},{"id":292,"data":293,"type":218,"tunes":295},"p-simple-3",{"text":294},"Внутри анклава сервер модели, парсер документов, векторная база данных, приложение и службы идентификации работают локально. Пользователи могут задавать вопросы и использовать RAG по внутренним документам без облачной модели или публичного реестра моделей.",{},{"id":297,"data":298,"type":218,"tunes":300},"p-simple-4",{"text":299},"Когда требуется обновление, оно снова проходит через контролируемый процесс импорта, а не загружается напрямую производственным сервером ИИ.",{},{"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. Приобретение вне анклава","Загрузка одобренных моделей, пакетов, контейнеров, драйверов, подписей и документации в подключённой среде подготовки.",{"label":309,"description":310},"2. Проверка перед передачей","Проверка происхождения, подписей\u002Fконтрольных сумм, статуса на наличие вредоносного ПО, лицензирования и совместимости в соответствии с политикой организации.",{"label":312,"description":313},"3. Передача через контролируемую границу","Перемещение одобренных артефактов с использованием авторизованного ручного или опосредованного процесса.",{"label":315,"description":316},"4. Внутренняя публикация","Размещение артефактов во внутренних репозиториях моделей, контейнеров, пакетов или файлов.",{"label":318,"description":319},"5. Локальное развёртывание","Запуск инференса, RAG, приложений и инструментов без внешних зависимостей.",{"label":321,"description":322},"6. Мониторинг внутри анклава","Сбор логов, метрик, состояния модели\u002Fсреды выполнения и событий безопасности локально.",{"label":324,"description":325},"7. Экспорт только одобренных доказательств","Перемещение выбранных отчётов или артефактов наружу через обратный контролируемый процесс, где это разрешено политикой.",{"label":327,"description":328},"8. Повтор для обновлений","Рассматривать новые модели, патчи, корпуса и зависимости как новые импорты цепочки поставок.","Базовый операционный цикл ИИ в изолированной среде","auto","processFlow",{},{"id":334,"data":335,"type":42,"tunes":337},"h-stops",{"text":336,"level":253},"Где заканчивается простой пример",{},{"id":339,"data":340,"type":218,"tunes":342},"p-stops-1",{"text":341},"Производственная среда с air gap может быть гораздо больше одной рабочей станции. Она может включать Kubernetes\u002FOpenShift, внутренние реестры, объектное хранилище, поставщиков идентификации, векторные базы данных, наблюдаемость, инфраструктуру резервного копирования и несколько узлов обслуживания моделей.",{},{"id":344,"data":345,"type":218,"tunes":347},"p-stops-2",{"text":346},"Чем больше сервисов существует внутри изолированного контура, тем больше организации приходится воспроизводить возможности, которые подключённые среды обычно получают из интернета.",{},{"id":349,"data":350,"type":218,"tunes":352},"p-stops-3",{"text":351},"Таким образом, физическая изоляция смещает сложность. Она сокращает прямую внешнюю связность, но увеличивает ответственность за управление артефактами, обновления, зависимости, цепочку поставок и эксплуатацию внутри изолированного домена.",{},{"id":354,"data":355,"type":42,"tunes":357},"h-terms",{"text":356,"level":253},"Air-gapped vs offline vs local vs on-premises vs private vs sovereign AI",{},{"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],"Термин","Что он в первую очередь описывает","Требуется ли подключение к интернету\u002Fвнешним сетям?",[367,368,369],"Local AI","Инференс\u002Fсреда выполнения работает на локальном оборудовании","Нет; но он всё ещё может обращаться к облачным сервисам",[371,372,373],"Offline-capable AI","Может продолжать работу без интернета","Нет во время работы в офлайн-режиме; повторное подключение может быть нормой",[375,376,377],"Disconnected environment","Отсутствует прямой путь к внешнему интернету из среды развёртывания","Обычно нет; могут использоваться контролируемые зеркала\u002Fбастионы",[379,380,381],"On-premises AI","Инфраструктура работает в собственной\u002Fлокальной среде организации","Может по-прежнему иметь полное подключение к интернету",[383,384,385],"Private AI","Обработка ИИ контролируется для соблюдения требований приватности\u002Fконфиденциальности","Зависит от архитектуры; может быть подключённым или отключённым",[387,388,389],"Air-gapped AI","Домены безопасности физически отключены, а передача через границы не автоматизирована\u002Fвыполняется вручную согласно строгому определению","Нет автоматизированного внешнего пути",[391,392,393],"Sovereign AI","Контроль\u002Fюрисдикция над моделями, данными, инфраструктурой и зависимостями","Не обязательно; суверенитет шире, чем сетевая изоляция","table",{},{"id":397,"data":398,"type":218,"tunes":400},"p-terms-1",{"text":399},"Эти термины могут пересекаться, но не являются синонимами. Локальный сервер Ollama, подключённый к интернету, — это local AI, а не air-gapped AI. Локальная RAG-платформа, которая обращается к облачной модели, — это локальная инфраструктура приложения с облачным инференсом, а не air-gapped AI.",{},{"id":402,"data":403,"type":218,"tunes":405},"p-terms-2",{"text":404},"Air-gapped система часто является приватной по своей конструкции, поскольку данные остаются внутри изолированного контура, но приватность также зависит от авторизации, журналирования, обработки данных, физической безопасности и операционной политики.",{},{"id":407,"data":408,"type":42,"tunes":410},"h-strict",{"text":409,"level":253},"Строгий air gap vs практическое развёртывание без подключения",{},{"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","Внешнее физическое подключение",[419,419],"",{"id":421,"label":422,"values":423},"transfer","Передача через границы",[419,419],{"id":425,"label":426,"values":427},"internet","Доступ в интернет из рабочей нагрузки ИИ",[419,419],{"id":429,"label":430,"values":431},"internalnet","Внутренняя сеть",[419,419],{"id":433,"label":434,"values":435},"best","Использовать термин, когда",[419,419],"Два значения, которые часто называют «air-gapped»",[438,441],{"id":439,"label":440},"strict","Строгий air gap",{"id":442,"label":443},"disconnected","Развёртывание без подключения \u002F без интернета","comparison",{},{"id":447,"data":448,"type":226,"tunes":452},"naming-rule",{"body":449,"title":450,"variant":451},"Для архитектурных и security-ревью напишите фактическое правило: \u003Cstrong>нет исходящего интернет-трафика\u003C\u002Fstrong>, \u003Cstrong>нет физического внешнего сетевого пути\u003C\u002Fstrong>, \u003Cstrong>только ручная передача\u003C\u002Fstrong> или \u003Cstrong>отключённый кластер с одобренным бастионом\u002Fзеркалом\u003C\u002Fstrong>. Это точнее, чем говорить только «air-gapped».","Документируйте границу, а не полагайтесь на ярлык","success",{},{"id":454,"data":455,"type":42,"tunes":457},"h-architecture",{"text":456,"level":253},"Практическая архитектура air-gapped AI",{},{"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],"Слой","Что должно существовать внутри изолированной среды",[466,467],"Слой пользователя\u002Fприложения","Чат-интерфейс, API, бизнес-приложение или внутренний интерфейс агента",[469,470],"Идентификация и авторизация","Локальная\u002Fвнутренняя аутентификация, RBAC, разрешения на уровне тенанта\u002Fресурса",[472,473],"AI gateway\u002Fruntime","Маршрутизация моделей, политика запросов, сборка контекста и управление средой выполнения",[475,476],"Model serving","Локальный сервер(ы) моделей, веса, токенизатор\u002Fконфигурация и среда выполнения ускорителя",[478,479],"RAG \u002F знания","Хранилище документов, парсер, эмбеддинги, векторные\u002Fлексические индексы, метаданные и происхождение",[481,482],"Инструменты\u002Fсервисы","Только внутренние\u002Fлокальные API и одобренные системы, доступные из изолированного контура",[484,485],"Репозитории артефактов","Локальный реестр контейнеров, зеркало пакетов, хранилище моделей и, опционально, репозитории ОС\u002Fобновлений",[487,488],"Наблюдаемость","Внутренние логи, метрики, трассировки и записи аудита",[490,491],"Резервное копирование\u002Fвосстановление","Локальный или отдельно контролируемый процесс резервного копирования, соответствующий домену безопасности",[493,494],"Граница передачи","Контролируемый процесс импорта\u002Fэкспорта с проверкой и одобрением",{},{"id":497,"data":498,"type":218,"tunes":500},"p-architecture-1",{"text":499},"Полная архитектура должна запускаться и работать без DNS-запросов, проверок лицензий, загрузки пакетов или вызовов API к публичным сервисам, если только для этих зависимостей не предусмотрены одобренные внутренние замены.",{},{"id":502,"data":503,"type":218,"tunes":505},"p-architecture-2",{"text":504},"Полезный тест дизайна — отключить развёртывание от всех внешних сервисов и выполнить холодный запуск стека. Скрытые зависимости обычно проявляются во время запуска, загрузки модели, аутентификации, разрешения пакетов или инициализации телеметрии.",{},{"id":507,"data":508,"type":42,"tunes":510},"h-models",{"text":509,"level":253},"Модели должны быть предварительно размещены",{},{"id":512,"data":513,"type":218,"tunes":515},"p-models-1",{"text":514},"API облачных моделей недоступны по определению, если у изолированной рабочей нагрузки нет к ним пути. Поэтому изолированному контуру нужны локально запускаемые артефакты моделей или внутренне размещённый сервис инференса.",{},{"id":517,"data":518,"type":218,"tunes":520},"p-models-2",{"text":519},"Текущая документация NVIDIA по air-gap для NIM явно использует двухфазный шаблон: загрузка и подготовка ресурсов модели на подключённой машине, их передача, затем запуск изолированного NIM из локального хранилища без исходящего доступа к реестру или облачных API-ключей.",{},{"id":522,"data":523,"type":218,"tunes":525},"p-models-3",{"text":524},"Веса модели — лишь часть набора зависимостей. Токенизаторы, файлы конфигурации, адаптеры, метаданные квантования и любой необходимый код среды выполнения также должны присутствовать.",{},{"id":527,"data":528,"type":42,"tunes":530},"h-remote-code",{"text":529,"level":253},"Модели с зависимостями remote-code — это риск для air-gap",{},{"id":532,"data":533,"type":218,"tunes":535},"p-remote-1",{"text":534},"Некоторые репозитории моделей содержат пользовательский код Python или хуки времени выполнения, которые обычно загружают дополнительный код или ресурсы.",{},{"id":537,"data":538,"type":218,"tunes":540},"p-remote-2",{"text":539},"Текущая документация Red Hat AI Inference явно предупреждает, что некоторые модели Hugging Face, требующие удалённого кода, не могут нормально работать в изолированных средах, поскольку библиотека пытается получить доступ к сети даже при настроенном автономном режиме.",{},{"id":542,"data":543,"type":218,"tunes":545},"p-remote-3",{"text":544},"Практический вывод: перед утверждением модели для изолированного развёртывания необходимо протестировать весь путь её загрузки в автономном режиме. «Я скачал веса» — это не доказательство того, что модель самодостаточна.",{},{"id":547,"data":548,"type":42,"tunes":550},"h-artifacts",{"text":549,"level":253},"Контейнеры, пакеты и драйверы становятся локальными артефактами цепочки поставок",{},{"id":552,"data":553,"type":218,"tunes":555},"p-artifacts-1",{"text":554},"Среды с подключением к сети регулярно загружают образы контейнеров, пакеты Python, обновления ОС и компоненты GPU из публичных реестров. Изолированная среда не может рассчитывать ни на один из этих сервисов.",{},{"id":557,"data":558,"type":218,"tunes":560},"p-artifacts-2",{"text":559},"Модель развёртывания ИИ в изолированной среде Red Hat использует внутренние зеркальные реестры для образов контейнеров и каталогов операторов. Модели можно зеркалировать как артефакты OCI или переносить в постоянное хранилище.",{},{"id":562,"data":563,"type":218,"tunes":565},"p-artifacts-3",{"text":564},"Для более широких стеков тот же подход часто применяется к языковым пакетам, репозиториям Linux, пакетам JavaScript и внутренним бинарным файлам: утверждённые артефакты один раз попадают внутрь через процесс передачи, а затем предоставляются из доверенных внутренних репозиториев.",{},{"id":567,"data":568,"type":42,"tunes":570},"h-bom",{"text":569,"level":253},"Знайте полный перечень зависимостей",{},{"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],"Класс зависимости","Примеры",[579,580],"Артефакты модели","Веса, токенизатор, конфигурация, адаптеры, метаданные квантования",[582,583],"Среда выполнения вывода","vLLM, llama.cpp, Ollama, NIM или другая среда обслуживания",[585,586],"Стек GPU\u002Fсреды выполнения","Драйверы, библиотеки CUDA\u002FROCm, среда выполнения контейнеров",[588,589],"Пакеты приложений","Колёса Python, пакеты npm, системные библиотеки",[591,592],"Контейнеры","Приложение, вывод, БД, векторная БД, образы мониторинга",[594,595],"Модели RAG","Модель эмбеддингов, реранкер, модели OCR\u002Fзрения",[597,598],"Данные","Корпус знаний, метаданные, схемы, наборы данных для оценки",[600,601],"Материалы безопасности","Сертификаты, пакеты CA, политика\u002Fконфигурация, сигнатуры вредоносного ПО, где применимо",[603,604],"Операционные артефакты","Панели мониторинга, правила оповещений, инструменты резервного копирования, инструкции",[606,607],"Лицензирование","Совместимые с автономной работой лицензии\u002Fправа, где требуется",{},{"id":610,"data":611,"type":42,"tunes":613},"h-mirror",{"text":612,"level":253},"Внутренние зеркала — это инфраструктура, а не удобство",{},{"id":615,"data":616,"type":218,"tunes":618},"p-mirror-1",{"text":617},"Изолированное развёртывание становится поддерживаемым, когда изолированный домен имеет известные внутренние источники утверждённых артефактов.",{},{"id":620,"data":621,"type":218,"tunes":623},"p-mirror-2",{"text":622},"Документированный подход Red Hat использует зеркальный реестр, доступный изолированному кластеру, чтобы рабочие нагрузки не нуждались в публичных реестрах.",{},{"id":625,"data":626,"type":218,"tunes":628},"p-mirror-3",{"text":627},"Ту же архитектурную идею можно применить к хранилищам моделей и репозиториям пакетов. Цель — сделать происхождение, версию и утверждение артефактов явными, а не копировать случайные файлы вручную на каждый сервер.",{},{"id":630,"data":631,"type":42,"tunes":633},"h-rag",{"text":632,"level":253},"RAG может полностью работать в изолированной среде",{},{"id":635,"data":636,"type":218,"tunes":638},"p-rag-1",{"text":637},"RAG не требует публичного интернета. Ему нужен доступный для поиска корпус, конвейер приёма\u002Fиндексации и модель, способная использовать извлечённый контекст.",{},{"id":640,"data":641,"type":218,"tunes":643},"p-rag-2",{"text":642},"В изолированной среде хранилище документов, парсер\u002FOCR, модель эмбеддингов, векторный или лексический индекс, реранкер и модель генерации могут работать локально.",{},{"id":645,"data":646,"type":218,"tunes":648},"p-rag-3",{"text":647},"Что меняется — так это получение источников. Поиск в интернете в реальном времени и облачные коннекторы документов недоступны, если эквивалентные данные не импортированы через контролируемую границу.",{},{"id":650,"data":651,"type":218,"tunes":653},"p-rag-4",{"text":652},"Таким образом, корпус становится управляемым артефактом. Каждый импорт должен сохранять идентичность источника, дату\u002Fверсию и происхождение, чтобы пользователи знали, какие знания фактически содержит изолированная система.",{},{"id":655,"data":656,"type":661,"tunes":662},"ref-rag",{"url":657,"title":658,"excerpt":659,"ctaLabel":660},"https:\u002F\u002Fstajic.de\u002Fru\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works","Что такое RAG? Самое простое объяснение того, как это работает","Сам RAG не зависит от облачного хостинга. В изолированной архитектуре поиск и генерация просто должны обеспечиваться локальными\u002Fвнутренними компонентами.","Читать основы RAG","referralArticle",{},{"id":664,"data":665,"type":42,"tunes":667},"h-agents",{"text":666,"level":253},"Агенты могут работать в изолированной среде — но только с доступными инструментами",{},{"id":669,"data":670,"type":218,"tunes":672},"p-agents-1",{"text":671},"Цикл агента может полностью выполняться внутри изолированного анклава, если модель\u002Fсреда выполнения и необходимые инструменты находятся локально или доступны во внутренней сети.",{},{"id":674,"data":675,"type":218,"tunes":677},"p-agents-2",{"text":676},"Инструмент, зависящий от GitHub, публичного веб-поиска, облачной электронной почты или внешнего SaaS API, не будет работать, если архитектура не предусматривает одобренный внутренний эквивалент или контролируемый процесс асинхронного обмена.",{},{"id":679,"data":680,"type":218,"tunes":682},"p-agents-3",{"text":681},"Именно поэтому проектирование агента для изолированной среды должно начинаться с инвентаризации возможностей: каждая конечная точка инструмента должна быть классифицирована как внутренняя, импортированная, недоступная или намеренно исключённая.",{},{"id":684,"data":685,"type":42,"tunes":687},"h-mcp",{"text":686,"level":253},"MCP не обходит воздушный зазор",{},{"id":689,"data":690,"type":218,"tunes":692},"p-mcp-1",{"text":691},"MCP может предоставлять локальные инструменты и ресурсы внутри изолированной среды ИИ, но протокол не создаёт связность через границу безопасности.",{},{"id":694,"data":695,"type":218,"tunes":697},"p-mcp-2",{"text":696},"Локальный сервер MCP, читающий внутренние документы, может работать полностью автономно. Удалённый сервер MCP в публичном интернете недоступен из строго изолированного анклава.",{},{"id":699,"data":700,"type":218,"tunes":702},"p-mcp-3",{"text":701},"Тот же принцип применим к любому протоколу подключения: совместимость отделена от сетевых полномочий.",{},{"id":704,"data":705,"type":42,"tunes":707},"h-identity",{"text":706,"level":253},"Идентификация и аутентификация также должны работать офлайн",{},{"id":709,"data":710,"type":218,"tunes":712},"p-id-1",{"text":711},"Приложение ИИ может быть локально размещено, но при этом зависеть от облачного поставщика удостоверений. Эта скрытая зависимость нарушает по-настоящему отключённую работу.",{},{"id":714,"data":715,"type":218,"tunes":717},"p-id-2",{"text":716},"Поэтому изолированные архитектуры нуждаются в архитектуре идентификации, функционирующей внутри анклава: локальный каталог, внутренний поставщик удостоверений, внутренняя PKI, локальные учётные данные служб или другой одобренный механизм.",{},{"id":719,"data":720,"type":218,"tunes":722},"p-id-3",{"text":721},"Авторизация остаётся необходимой, даже если интернет отсутствует. Воздушные зазоры не заменяют RBAC, изоляцию арендаторов или принцип наименьших привилегий.",{},{"id":724,"data":725,"type":42,"tunes":727},"h-time",{"text":726,"level":253},"Время, сертификаты и хранилища доверия становятся локальными зависимостями",{},{"id":729,"data":730,"type":218,"tunes":732},"p-time-1",{"text":731},"Многие системы аутентификации и журналирования зависят от надёжного времени. Сертификаты истекают. Хранилища доверия меняются. Подписанные артефакты нуждаются в проверке.",{},{"id":734,"data":735,"type":218,"tunes":737},"p-time-2",{"text":736},"Поэтому отключённый анклав должен иметь внутреннюю синхронизацию времени и жизненный цикл сертификатов\u002Fдоверия, не зависящий от доступа к публичным службам во время обычной работы.",{},{"id":739,"data":740,"type":218,"tunes":742},"p-time-3",{"text":741},"Это обычные инфраструктурные вопросы, которые становятся заметны только при тестировании архитектуры без доступа к интернету.",{},{"id":744,"data":745,"type":42,"tunes":747},"h-telemetry",{"text":746,"level":253},"Телеметрия и отчёты о сбоях требуют явной политики",{},{"id":749,"data":750,"type":218,"tunes":752},"p-tel-1",{"text":751},"Многие современные библиотеки по умолчанию пытаются собирать аналитику, проверять обновления или отправлять отчеты об ошибках.",{},{"id":754,"data":755,"type":218,"tunes":757},"p-tel-2",{"text":756},"В изолированной среде такие вызовы следует либо отключить, либо перенаправить во внутреннюю систему наблюдаемости. Повторяющиеся неудачные попытки телеметрии могут создавать задержки, зашумлять логи и приводить к неожиданному поведению при запуске.",{},{"id":759,"data":760,"type":218,"tunes":762},"p-tel-3",{"text":761},"Развертывание в изолированной среде должно знать, какие компоненты пытаются выходить во внешнюю сеть, даже если межсетевой экран их блокирует.",{},{"id":764,"data":765,"type":42,"tunes":767},"h-updates",{"text":766,"level":253},"Изолированным системам все равно нужны патчи",{},{"id":769,"data":770,"type":218,"tunes":772},"p-update-1",{"text":771},"Сетевая изоляция не мешает программному обеспечению приобретать уязвимости. Она лишь меняет способ доставки патчей в систему.",{},{"id":774,"data":775,"type":218,"tunes":777},"p-update-2",{"text":776},"NIST рассматривает управление патчами как профилактическое обслуживание: организациям по-прежнему необходимо выявлять, получать, расставлять приоритеты, устанавливать и проверять патчи и обновления.",{},{"id":779,"data":780,"type":218,"tunes":782},"p-update-3",{"text":781},"Поэтому для работы в изолированной среде нужен воспроизводимый цикл импорта пакетов ОС, образов контейнеров, драйверов, сред выполнения ИИ и обновлений безопасности. Компромисс заключается между стабильностью изоляции и подверженностью уязвимостям из-за устаревшего программного обеспечения.",{},{"id":784,"data":785,"type":42,"tunes":787},"h-patch-flow",{"text":786,"level":253},"Контролируемый путь обновления",{},{"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. Определить необходимое обновление","Уведомление о безопасности, улучшение модели\u002Fсреды выполнения или операционная потребность запускают изменение.",{"label":796,"description":797},"2. Получить в подключенной промежуточной среде","Загрузить точные версии, а также подписи\u002Fконтрольные суммы и метаданные.",{"label":799,"description":800},"3. Проверить свидетельства цепочки поставок","Убедиться в источнике, целостности, совместимости и соответствии требованиям политики.",{"label":802,"description":803},"4. Протестировать в репрезентативной офлайн-среде","Убедиться, что обновление работает без неожиданных сетевых зависимостей.",{"label":805,"description":806},"5. Утвердить передачу","Применить организационный процесс управления изменениями и безопасностью.",{"label":808,"description":809},"6. Импортировать в репозиторий изолированного контура","Опубликовать артефакт во внутреннем доверенном источнике.",{"label":811,"description":812},"7. Развертывать постепенно","Применить на тестовых\u002Fканареечных узлах перед более широким развертыванием, если это позволяет архитектура.",{"label":814,"description":815},"8. Проверить и зафиксировать","Подтвердить версию, работоспособность, поведение и состояние отката.","Пример жизненного цикла обновления для изолированной среды ИИ",{},{"id":819,"data":820,"type":42,"tunes":822},"h-transfer",{"text":821,"level":253},"Граница передачи — самый чувствительный операционный интерфейс",{},{"id":824,"data":825,"type":218,"tunes":827},"p-transfer-1",{"text":826},"Если внешняя информация должна попасть в изолированную систему, канал импорта становится важнейшей точкой контроля безопасности.",{},{"id":829,"data":830,"type":218,"tunes":832},"p-transfer-2",{"text":831},"Структура киберугроз NSA Cybersecurity Technical Cyber Threat Framework прямо признает репликацию через съемные носители путем, который злоумышленники могут использовать для проникновения в отключенные или изолированные сети.",{},{"id":834,"data":835,"type":218,"tunes":837},"p-transfer-3",{"text":836},"Именно поэтому контролируемая работа с носителями, проверка, происхождение, шифрование при необходимости, сканирование на вредоносное ПО и разделение ролей могут иметь не меньшее значение, чем сам стек ИИ.",{},{"id":839,"data":840,"type":42,"tunes":842},"h-media",{"text":841,"level":253},"Съемный носитель — не нейтральный канал",{},{"id":844,"data":845,"type":218,"tunes":847},"p-media-1",{"text":846},"USB-накопители и другие портативные носители могут содержать как легитимные артефакты моделей\u002Fданных, так и вредоносное содержимое.",{},{"id":849,"data":850,"type":218,"tunes":852},"p-media-2",{"text":851},"Руководство NIST по очистке носителей рассматривает носители информации как объект жизненного цикла конфиденциальности, который может требовать очистки, стирания или уничтожения в зависимости от чувствительности и потребностей повторного использования.",{},{"id":854,"data":855,"type":218,"tunes":857},"p-media-3",{"text":856},"Точная процедура передачи зависит от организации, но архитектурный принцип неизменен: носители, пересекающие границы, должны управляться как актив безопасности, а не рассматриваться как неформальное удобство.",{},{"id":859,"data":860,"type":42,"tunes":862},"h-supply",{"text":861,"level":253},"Изоляция повышает важность цепочки поставок",{},{"id":864,"data":865,"type":218,"tunes":867},"p-supply-1",{"text":866},"Изолированная система получает меньше живых внешних входных данных, но каждый импортированный бинарный файл, модель, контейнер и пакет приобретает большее значение, поскольку анклав может доверять им в течение длительного времени.",{},{"id":869,"data":870,"type":218,"tunes":872},"p-supply-2",{"text":871},"Руководство NIST по цепочке поставок программного обеспечения подчеркивает происхождение, риск поставщика, управление уязвимостями, верификацию программного обеспечения и практики, ориентированные на SBOM. Эти вопросы становятся непосредственно актуальными для офлайн-импорта артефактов ИИ.",{},{"id":874,"data":875,"type":218,"tunes":877},"p-supply-3",{"text":876},"Цепочка поставок моделей заслуживает такого же внимания, как и цепочка поставок приложений: происхождение модели, лицензия, хеш, формат, требуемый код, токенизатор, адаптеры и статус оценки должны быть известны до импорта.",{},{"id":879,"data":880,"type":42,"tunes":882},"h-readiness",{"text":881,"level":253},"Готовность к воздушному зазору следует проверять, а не предполагать",{},{"id":884,"data":885,"type":226,"tunes":888},"readiness-note",{"body":886,"title":887,"variant":246},"Следующий тест на готовность к воздушному зазору является инженерным синтезом, а не методом сертификации NIST или поставщика. Он предназначен для выявления скрытых внешних зависимостей перед развертыванием.","Предлагаемый шаблон валидации",{},{"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],"Тест","Что он доказывает",[897,898],"Холодный запуск при блокировке всех исходящих сетевых подключений","Среда выполнения не требует публичных сервисов при запуске",[900,901],"Загрузка каждой утвержденной модели из локального хранилища","Веса\u002Fтокенизаторы\u002Fконфигурации полны",[903,904],"Пересборка\u002Fпереразвертывание только из внутренних реестров","Зеркала контейнеров\u002Fпакетов достаточны",[906,907],"Аутентификация пользователей при недоступности внешнего IdP","Идентификация работает внутри анклава",[909,910],"Запуск приема и запросов RAG в офлайн-режиме","Стек встраивания\u002Fиндексации\u002Fпоиска является локальным",[912,913],"Запуск репрезентативных инструментов агента","Инструменты не зависят от внешних API",[915,916],"Перезапуск после удаления кэша","Офлайн-работа случайно не полагается на ранее кэшированные загрузки",[918,919],"Продвижение смоделированного жизненного цикла сертификатов\u002Fобновлений","Зависимости доверия и обслуживания понятны",[921,922],"Импорт новой модели через промежуточный путь","Процедура передачи\u002Fизменения является операционной",[924,925],"Восстановление из резервной копии","Восстановление не требует недоступного облачного хранилища",{},{"id":928,"data":929,"type":42,"tunes":931},"h-cache",{"text":930,"level":253},"Кэширование один раз не то же самое, что готовность к воздушному зазору",{},{"id":933,"data":934,"type":218,"tunes":936},"p-cache-1",{"text":935},"Система может казаться офлайн, потому что модель и пакеты уже кэшированы из более раннего доступа в интернет.",{},{"id":938,"data":939,"type":218,"tunes":941},"p-cache-2",{"text":940},"Удаление кэшей или развертывание на чистом узле может выявить отсутствующие файлы токенизатора, пакеты Python, манифесты моделей или зависимости удаленного кода.",{},{"id":943,"data":944,"type":218,"tunes":946},"p-cache-3",{"text":945},"Таким образом, готовность к воздушному зазору следует проверять на чистых внутренних артефактах, а не только на рабочей станции разработчика, которая ранее была подключена.",{},{"id":948,"data":949,"type":42,"tunes":951},"h-threats",{"text":950,"level":253},"Какие угрозы остаются внутри воздушного зазора?",{},{"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],"Угроза","Почему воздушный зазор не устраняет ее",[960,961],"Скомпрометированный импортированный артефакт","Вредоносное ПО\u002Fмодель\u002Fпакет может проникнуть через авторизованный путь передачи",[963,964],"Вредоносный съемный носитель","Физическая передача может нести исполняемые полезные нагрузки",[966,967],"Злоупотребление инсайдером","Авторизованные пользователи уже существуют внутри анклава",[969,970],"Внедрение подсказок в импортированные документы","Недоверенный контент может влиять на RAG\u002Fагентов без интернета",[972,973],"Инструменты агента с избыточными привилегиями","Локальные инструменты все еще могут повредить локальные системы",[975,976],"Утечка данных между арендаторами","Внутренние ошибки авторизации остаются возможными",[978,979],"Уязвимое внутреннее программное обеспечение","Отсутствие внешнего подключения не устраняет эксплуатируемые ошибки",[981,982],"Боковое перемещение","Скомпрометированный узел может атаковать другие внутренне подключенные узлы",[984,985],"Устаревшие зависимости","Медленный темп обновлений может оставить известные уязвимости неисправленными",[987,988],"Физическая кража\u002Fвмешательство","Безопасность аппаратного обеспечения и носителей остается критически важной",[990,991],"Плохое поведение модели","Галлюцинации, предвзятость и сбои задач не зависят от сетевого взаимодействия",[993,994],"Отравление цепочки поставок","Доверенные источники импорта все еще могут быть скомпрометированы",{},{"id":997,"data":998,"type":42,"tunes":1000},"h-benefits",{"text":999,"level":253},"Что воздушный зазор действительно улучшает",{},{"id":1002,"data":1003,"type":218,"tunes":1005},"p-benefit-1",{"text":1004},"Настоящий воздушный зазор может существенно сократить пути атак, которые зависят от прямого удаленного подключения: внешнее командование и управление, неправомерное использование облачных учетных данных, эксплуатация интернет-сервисов и случайная утечка данных через обычные исходящие API.",{},{"id":1007,"data":1008,"type":218,"tunes":1010},"p-benefit-2",{"text":1009},"Это также упрощает размещение данных в одном узком смысле: данные вывода не могут быть отправлены во внешнюю облачную службу, если путь не существует.",{},{"id":1012,"data":1013,"type":218,"tunes":1015},"p-benefit-3",{"text":1014},"Эти преимущества наиболее сильны, когда граница передачи и внутренние средства контроля доступа одинаково дисциплинированы. Плохо управляемый процесс USB может подорвать предполагаемую изоляцию.",{},{"id":1017,"data":1018,"type":42,"tunes":1020},"h-costs",{"text":1019,"level":253},"Что воздушный зазор делает сложнее",{},{"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],"Область","Операционное последствие",[1029,1030],"Обновления моделей","Ручная\u002Fпоэтапная передача вместо прямого извлечения из хаба моделей",[1032,1033],"Патчи безопасности","Задержка и управляемый рабочий процесс импорта",[1035,1036],"Установка пакетов","Требуются внутренние зеркала или предварительно собранные артефакты",[1038,1039],"Облачные API ИИ","Недоступны",[1041,1042],"Веб-поиск\u002Fконнекторы","Недоступны, если данные не импортированы отдельно",[1044,1045],"Аутентификация","Требуются внутренние\u002Fофлайн-способные службы идентификации",[1047,1048],"Мониторинг","Требуется внутренняя наблюдаемость и контролируемый экспорт",[606,1050],"Продукты, требующие онлайн-активации, могут быть непригодны",[1052,1053],"Устранение неполадок","Нет легкого живого доступа к ресурсам поставщика из производственного анклава",[1055,1056],"Емкость","Все вычислительные ресурсы для вывода должны существовать локально",[1058,1059],"Восстановление после сбоев","Облачные резервные копии могут быть недоступны или ограничены политикой",[1061,1062],"Актуальность знаний","Внешняя информация поступает только так быстро, как позволяет процесс импорта",{},{"id":1065,"data":1066,"type":42,"tunes":1068},"h-private",{"text":1067,"level":253},"AI в изолированной среде против частного AI",{},{"id":1070,"data":1071,"type":218,"tunes":1073},"p-private-1",{"text":1072},"Частный AI в первую очередь связан с контролем над конфиденциальными данными и обработкой AI. Частная AI-платформа может быть развёрнута на собственных мощностях и при этом обращаться к одобренным облачным моделям или внешним сервисам.",{},{"id":1075,"data":1076,"type":218,"tunes":1078},"p-private-2",{"text":1077},"AI в изолированной среде предъявляет более строгие требования к подключению. Система может быть частной, но не изолированной, а изолированная система может по-прежнему иметь слабую защиту конфиденциальности, если каждый внутренний пользователь имеет неограниченный доступ.",{},{"id":1080,"data":1081,"type":218,"tunes":1083},"p-private-3",{"text":1082},"Цель безопасности должна определять архитектуру: конфиденциальность, суверенитет, устойчивость и изоляция — это связанные, но различные требования.",{},{"id":1085,"data":1086,"type":42,"tunes":1088},"h-sovereign",{"text":1087,"level":253},"AI в изолированной среде против суверенного AI",{},{"id":1090,"data":1091,"type":218,"tunes":1093},"p-sovereign-1",{"text":1092},"Суверенный AI касается контроля над более широкой цепочкой зависимостей: данными, моделями, инфраструктурой, операторами, юрисдикцией и стратегическими зависимостями.",{},{"id":1095,"data":1096,"type":218,"tunes":1098},"p-sovereign-2",{"text":1097},"Изоляция может поддерживать суверенитет за счёт снижения внешней зависимости во время работы, но она не гарантирует суверенный контроль. Изолированный контур может по-прежнему зависеть от иностранного оборудования, проприетарных лицензий на модели или внешних поставщиков обновлений.",{},{"id":1100,"data":1101,"type":218,"tunes":1103},"p-sovereign-3",{"text":1102},"Следующая каноническая статья явно разделяет эти измерения контроля.",{},{"id":1105,"data":1106,"type":42,"tunes":1108},"h-implementation",{"text":1107,"level":253},"Свидетельства исходной реализации: что доказывает Aaasaasa AI Client — и что он не доказывает",{},{"id":1110,"data":1111,"type":226,"tunes":1114},"impl-note",{"body":1112,"title":1113,"variant":246},"Aaasaasa AI Client является полезным свидетельством для \u003Cstrong>архитектуры локального вывода\u003C\u002Fstrong>, абстракции провайдера и разделения расположения среды выполнения и модели. Это \u003Cstrong>не является свидетельством развёрнутой изолированной среды\u003C\u002Fstrong>. Репозиторий также поддерживает облачные и удалённые пути, и никакие проверенные свидетельства проекта не устанавливают физически изолированный домен безопасности.","Граница реализации",{},{"id":1116,"data":1117,"type":218,"tunes":1119},"p-impl-1",{"text":1118},"AI Hub разделяет агента\u002Fклиента, провайдера, модель и расположение подключения. Он поддерживает локальный вывод Ollama и работу Codex с локальным провайдером как отдельные варианты, а не предполагает, что каждый AI-запрос идёт к облачной модели.",{},{"id":1121,"data":1122,"type":218,"tunes":1124},"p-impl-2",{"text":1123},"В репозитории явно отмечено, что локальная среда выполнения может по-прежнему использовать облачную модель, тогда как прямой чат с Ollama — это локальный вывод. Это различие напрямую относится к архитектуре изолированной среды: локальное выполнение не доказывает, что модель или сопутствующие зависимости отключены.",{},{"id":1126,"data":1127,"type":218,"tunes":1129},"p-impl-3",{"text":1128},"Таким образом, абстракция провайдера, обнаружение локальных моделей и локальный вывод являются строительными блоками для архитектуры продукта, способного работать в изолированной среде, но сетевую границу, офлайн-зеркало зависимостей, контролируемый процесс передачи и офлайн-идентификацию\u002Fоперации всё ещё необходимо проектировать отдельно.",{},{"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],"Проверенная возможность проекта","Значимость для изолированной среды",[1138,1139],"Локальный вывод Ollama","Поддерживает локальное выполнение моделей",[1141,1142],"Пути локального провайдера\u002Fсреды выполнения","Снижает зависимость от облачного вывода",[1144,1145],"Разделение провайдера\u002Fмодели\u002Fсреды выполнения","Делает облачные зависимости явными, а не скрытыми",[1147,1148],"Централизованные разрешения","Поддерживает локальный контроль доступа к инструментам и данным",[1150,1151],"Также существует поддержка облачных\u002Fудалённых провайдеров","Доказывает, что сам продукт способен работать в гибридном режиме, а не является изначально изолированным",[1153,1154],"Нет проверенной границы изолированного развёртывания","Предотвращает завышенные заявления о зрелости изоляции",{},{"id":1157,"data":1158,"type":42,"tunes":1160},"h-when",{"text":1159,"level":253},"Когда AI в изолированной среде оправдан?",{},{"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],"Изоляция может быть оправдана, когда","Подключённая частная архитектура может быть лучше, когда",[1169,1170],"Политика безопасности явно требует физически разделённых доменов","Основное требование — лишь чтобы промпты\u002Fданные не использовались публичными потребительскими сервисами",[1172,1173],"Секретные или чрезвычайно чувствительные данные не могут пересекать внешние сети","Одобренные корпоративные облачные\u002Fчастные конечные точки удовлетворяют требованиям контроля данных",[1175,1176],"Операционная среда не имеет надёжного внешнего подключения","Интернет доступен, и операционная гибкость имеет значение",[1178,1179],"Непрерывность выполнения задач не должна зависеть от доступности облака\u002Fпровайдера","Управляемое качество моделей и быстрые обновления более ценны",[1181,1182],"Регулируемая\u002Fкритическая среда требует контролируемой передачи","Стандартные средства безопасности могут соответствовать фактической модели угроз",[1184,1185],"Доступ к внешним SaaS\u002FAPI запрещён","Бизнес-процесс сильно зависит от внешних коннекторов",{},{"id":1188,"data":1189,"type":218,"tunes":1191},"p-when-1",{"text":1190},"Изоляция должна быть требованием, вытекающим из модели угроз или политики, а не престижной функцией. Она имеет реальную ценность для безопасности, когда сам устранённый путь подключения неприемлем.",{},{"id":1193,"data":1194,"type":218,"tunes":1196},"p-when-2",{"text":1195},"Для многих корпоративных сценариев строго контролируемая частная сеть с ограничениями исходящего трафика, локальным выводом и одобренными каналами обновлений может обеспечить лучший баланс безопасности и поддерживаемости, чем строгая физическая изоляция.",{},{"id":1198,"data":1199,"type":42,"tunes":1201},"h-design",{"text":1200,"level":253},"Практическая последовательность проектирования изолированного ИИ",{},{"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. Определите, что именно разделяет воздушный зазор","Назовите домены безопасности и уточните, требуется ли строгое физическое разделение или достаточно отсутствия интернета.",{"label":1210,"description":1211},"2. Проведите инвентаризацию всех внешних зависимостей","Модели, пакеты, реестры, идентификация, телеметрия, лицензирование, хранилища, API, DNS\u002Fвремя и сервисы поддержки.",{"label":1213,"description":1214},"3. Выберите модели и среды выполнения, способные работать офлайн","Убедитесь, что ресурсы модели и код среды выполнения загружаются без удалённых вызовов.",{"label":1216,"description":1217},"4. Создайте внутренние репозитории артефактов","Создайте доверенные источники для контейнеров, пакетов, моделей и обновлений.",{"label":1219,"description":1220},"5. Спроектируйте контролируемую передачу","Определите промежуточное хранение, верификацию, обработку носителей\u002Fшлюзов, утверждение и происхождение.",{"label":1222,"description":1223},"6. Постройте внутреннюю идентификацию и авторизацию","Обеспечьте аутентификацию пользователей, сервисов и инструментов без облачных зависимостей.",{"label":1225,"description":1226},"7. Оставьте RAG и инструменты локальными","Разверните знания, эмбеддинги, индексы и необходимые API сервисов внутри изолированного контура.",{"label":1228,"description":1229},"8. Постройте внутреннюю наблюдаемость","Ведите логи, метрики, трассировки и мониторинг безопасности локально.",{"label":1231,"description":1232},"9. Определите периодичность обновления патчей и моделей","Сбалансируйте реагирование на уязвимости с контролируемым процессом импорта.",{"label":1234,"description":1235},"10. Тестируйте из чистого отключённого состояния","Выполните холодный запуск и работу без унаследованных кэшей или скрытого доступа в интернет.",{"label":1237,"description":1238},"11. Тестируйте пути компрометации","Отработайте сценарии со съёмными носителями, цепочкой поставок, внедрением промптов, инсайдером и боковым перемещением.",{"label":1240,"description":1241},"12. Документируйте исключения и экспорт","Каждый разрешённый путь через границу должен иметь определённое назначение, владельца и набор средств контроля.","Проектирование от границы внутрь",{},{"id":1245,"data":1246,"type":42,"tunes":1248},"h-checklist",{"text":1247,"level":253},"Контрольный список архитектуры изолированного ИИ",{},{"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],"Вопрос","Ожидаемое подтверждение",[1257,1258],"Что именно изолировано от чего?","Документированная граница домена безопасности",[1260,1261],"Является ли граница физически отключённой?","Доказательства сетевой\u002Fфизической архитектуры, если заявлен строгий воздушный зазор",[1263,1264],"Как данные пересекают границу?","Авторизованный неавтоматизированный\u002Fручной или явно документированный отключённый рабочий процесс",[1266,1267],"Может ли каждая модель запускаться офлайн с холодного старта?","Тест офлайн-загрузки",[1269,1270],"Полны ли ресурсы токенизатора\u002Fконфигурации\u002Fсреды выполнения?","Проверенный внутренний пакет модели",[1272,1273],"Откуда берутся контейнеры\u002Fпакеты?","Внутреннее доверенное зеркало\u002Fрепозиторий",[1275,1276],"Может ли идентификация работать без облачных сервисов?","Внутренний путь IdP\u002FPKI\u002Fучётных данных сервисов",[1278,1279],"Может ли RAG выполнять приём и запросы офлайн?","Локальный приём, эмбеддинги, индекс и поиск",[1281,1282],"Какие инструменты агента остаются доступными?","Внутренняя инвентаризация возможностей",[1284,1285],"Как импортируются патчи?","Контролируемый процесс обслуживания",[1287,1288],"Как проверяются артефакты?","Контроль целостности\u002Fпроисхождения\u002Fвредоносного ПО\u002Fцепочки поставок",[1290,1291],"Как регулируется использование съёмных носителей?","Политика обработки и очистки носителей",[1293,1294],"Может ли система работать после очистки кэшей?","Офлайн-тест в чистой среде",[1296,1297],"Где хранятся логи и трассировки?","Внутренняя платформа наблюдаемости",[1299,1300],"Как утверждается экспорт?","Контролируемый процесс исходящей передачи",[1302,1303],"Что доказывает, что это воздушный зазор, а не просто локальность?","Доказательства границы и передачи, а не расположения модели",{},{"id":1306,"data":1307,"type":42,"tunes":1309},"h-failures",{"text":1308,"level":253},"Типичные режимы отказа изолированного ИИ",{},{"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],"Режим отказа","Что на самом деле отказало",[1318,1319],"Локальная модель всё ещё загружает токенизатор\u002Fконфигурацию при запуске","Пакет модели был неполным",[1321,1322],"Контейнер ссылается на публичный реестр","Развёртывание не было самодостаточным",[1324,1325],"Для входа требуется облачная идентификация","Приложение было локальным, а идентификация — нет",[1327,1328],"Требуется внешний сервер лицензий","Зависимость от поставщика противоречила офлайн-работе",[1330,1331],"Отсутствует модель эмбеддингов","Чат работает, но приём RAG не работает",[1333,1334],"Инструмент агента вызывает публичный SaaS","Архитектура агента не была совместима с воздушным зазором",[1336,1337],"Изолирован только узел с GPU","База данных, интерфейс или мониторинг всё ещё зависят от внешних сервисов",[1339,1340],"Импорт через USB неформален","Граница передачи становится неконтролируемым путём атаки",[1342,1343],"Нет процесса патчей","Изоляция создаёт растущий долг уязвимостей",[1345,1346],"В качестве доказательства используется машина разработчика с кэшем","Свежее развёртывание не работает без интернета",[1348,1349],"Воздушный зазор заменяет мышление об авторизации","Внутренние пользователи\u002Fсервисы получают избыточные привилегии",[1351,1352],"Метка «воздушный зазор» используется для блокировки исходящего трафика только межсетевым экраном","Документация по безопасности преувеличивает фактическую границу",{},{"id":1355,"data":1356,"type":42,"tunes":1358},"h-misconceptions",{"text":1357,"level":253},"Распространённые заблуждения",{},{"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],"Заблуждение","Исправление",[1367,1368],"«Локальный ИИ — это изолированный ИИ».","«Локальный» описывает, где выполняется вывод; «воздушный зазор» описывает границу безопасности\u002Fсети.",[1370,1371],"«Воздушный зазор означает один автономный ПК».","Изолированный контур может содержать целую внутреннюю сеть или кластер.",[1373,1374],"«Отсутствие интернета равно строгому воздушному зазору».","Согласно определению NIST, разделённые системы также не имеют физического соединения, а передача через границу не автоматизирована.",[1376,1377],"«Воздушные зазоры устраняют киберриски».","Остаются риски цепочки поставок, съёмных носителей, инсайдеров, внутренней сети и приложений.",[1379,1380],"«RAG требует облака».","RAG может полностью работать на локальных моделях, индексах и данных.",[1382,1383],"«Агенты не могут работать офлайн».","Агенты могут использовать внутренние\u002Fлокальные инструменты; они просто не могут обращаться к недоступным внешним сервисам.",[1385,1386],"«После установки система не нуждается в обновлениях».","Патчи, драйверы, модели и зависимости всё ещё требуют управления жизненным циклом.",[1388,1389],"«Скачанная модель самодостаточна».","Токенизаторы, удалённый код, библиотеки или ресурсы модели всё ещё могут вызывать сетевые зависимости.",[1391,1392],"«Частный ИИ и изолированный ИИ идентичны».","Частный ИИ — это свойство данных\u002Fконтроля; воздушный зазор — это свойство подключения.",[1394,1395],"«Воздушный зазор гарантирует суверенитет».","Внешнее оборудование, лицензии, модели и цепочка поставок могут оставаться зависимостями.",{},{"id":1398,"data":1399,"type":42,"tunes":1401},"h-limitations",{"text":1400,"level":253},"Ограничения",{},{"id":1403,"data":1404,"type":218,"tunes":1406},"p-limit-1",{"text":1405},"Строгие воздушные зазоры замедляют обновление внешних знаний, поскольку каждый новый источник должен пройти процесс передачи.",{},{"id":1408,"data":1409,"type":218,"tunes":1411},"p-limit-2",{"text":1410},"Они могут ограничивать выбор модели, когда лицензии, требования к удалённому коду, потребности в оборудовании или API только от поставщика не могут быть удовлетворены офлайн.",{},{"id":1413,"data":1414,"type":218,"tunes":1416},"p-limit-3",{"text":1415},"Они увеличивают эксплуатационные расходы, поскольку инфраструктуру, обычно потребляемую как облачные сервисы, необходимо иметь и обслуживать внутри.",{},{"id":1418,"data":1419,"type":218,"tunes":1421},"p-limit-4",{"text":1420},"Они также могут создавать задержку патчей: более строгий контроль изменений может поддерживать стабильность систем, задерживая срочное устранение уязвимостей.",{},{"id":1423,"data":1424,"type":218,"tunes":1426},"p-limit-5",{"text":1425},"Поэтому изолированный ИИ следует оценивать как одну из нескольких архитектур безопасности, а не считать его универсально превосходным.",{},{"id":1428,"data":1429,"type":42,"tunes":1431},"h-change",{"text":1430,"level":253},"Что могло бы изменить этот ответ?",{},{"id":1433,"data":1434,"type":218,"tunes":1436},"p-change-1",{"text":1435},"Поддержка поставщиками работы в отключённом режиме меняется быстро. Новые форматы моделей, подписанные артефакты OCI, офлайн-механизмы лицензирования и интегрированные реестры моделей могут снизить операционные сложности.",{},{"id":1438,"data":1439,"type":218,"tunes":1441},"p-change-2",{"text":1440},"Различие между строгим воздушным зазором и отключённым развёртыванием останется важным, даже если поставщики продолжат использовать эти термины вольно.",{},{"id":1443,"data":1444,"type":218,"tunes":1446},"p-change-3",{"text":1445},"Устойчивый принцип состоит в том, что подлинные заявления о воздушном зазоре зависят от границы системы и механизма передачи, а не от того, выполняется ли LLM локально.",{},{"id":1448,"data":1449,"type":42,"tunes":1451},"h-related",{"text":1450,"level":253},"Связанные канонические знания",{},{"id":1453,"data":1454,"type":218,"tunes":1456},"p-related-1",{"text":1455},"Air-Gapped AI — это узел архитектуры развертывания и безопасности. Private AI, Sovereign AI и абстракция провайдера отвечают на разные вопросы о конфиденциальности, контроле и зависимости.",{},{"id":1458,"data":1459,"type":218,"tunes":1461},"p-related-2",{"text":1460},"MLOps\u002FLLMOps становится более требовательным в изолированной среде, поскольку жизненные циклы моделей, пакетов и обновлений должны работать через внутренние репозитории и контролируемую передачу.",{},{"id":1463,"data":1464,"type":218,"tunes":1466},"p-related-3",{"text":1465},"RAG и Agentic AI остаются допустимыми паттернами внутри анклава, если их данные и инструменты доступны внутри.",{},{"id":1468,"data":1469,"type":661,"tunes":1474},"ref-memory",{"url":1470,"title":1471,"excerpt":1472,"ctaLabel":1473},"https:\u002F\u002Fstajic.de\u002Fru\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","Память AI-агента — это не RAG: как разделять память, поиск, состояние и контекст","Air-gapped AI по-прежнему нуждается в правильных внутренних границах между долговременной памятью, авторитетным состоянием, поиском и контекстом модели.","Читать статью об архитектуре памяти",{},{"id":1476,"data":1477,"type":42,"tunes":1479},"h-faq",{"text":1478,"level":253},"Часто задаваемые вопросы",{},{"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","Air-gapped AI — это AI, развернутый внутри домена безопасности, физически отключенного от внешних систем, от которых он отделен, при этом передача через границу выполняется с помощью контролируемых неавтоматизированных процедур в соответствии со строгим определением NIST.","Что такое air-gapped AI?",{"id":1489,"answer":1490,"question":1491},"faq2","Нет, для обычного инференса и работы. Необходимые модели, пакеты, данные и сервисы должны быть доступны внутри изолированной среды.","Нужен ли air-gapped AI доступ в интернет?",{"id":1493,"answer":1494,"question":1495},"faq3","Нет. Локальная модель может работать на машине, которая по-прежнему имеет доступ в интернет или использует облачную идентификацию, инструменты или хранилище. Air gap описывает границу всей системы.","Является ли локальная LLM автоматически air-gapped?",{"id":1497,"answer":1498,"question":1499},"faq4","Да. Документы, модели эмбеддингов, векторные или лексические индексы, реранкеры и модели генерации могут работать локально. Внешние знания должны быть импортированы через контролируемую границу.","Может ли RAG работать в air-gapped сети?",{"id":1501,"answer":1502,"question":1503},"faq5","Да, если их инструменты и необходимые системы доступны внутри изолированной сети. Публичные SaaS и облачные API недоступны без разрешенного механизма пересечения границы.","Могут ли AI-агенты работать в air-gapped режиме?",{"id":1505,"answer":1506,"question":1507},"faq6","Модели обычно приобретаются и проверяются в подключенной промежуточной среде, передаются через утвержденный процесс и публикуются во внутреннем репозитории моделей\u002Fартефактов.","Как обновляются модели в air-gapped среде?",{"id":1509,"answer":1510,"question":1511},"faq7","Нет. On-premises описывает расположение инфраструктуры. On-prem системы могут оставаться подключенными к интернету.","Является ли on-premises AI тем же, что и air-gapped AI?",{"id":1513,"answer":1514,"question":1515},"faq8","Нет. Private AI касается требований к данным и контролю и может по-прежнему использовать подключенную инфраструктуру. Air gap конкретно описывает сетевое\u002Fдоменное разделение.","Является ли private AI тем же, что и air-gapped AI?",{"id":1517,"answer":1518,"question":1519},"faq9","Он устраняет или снижает некоторые риски удаленного подключения, но не устраняет риски цепочки поставок, съемных носителей, инсайдеров, внутренней авторизации, физические риски или риски поведения модели.","Делает ли air gap AI безопасным?",{"id":1521,"answer":1522,"question":1523},"faq10","Разверните или выполните холодный запуск всего стека в чистой среде при недоступности всех внешних подключений и убедитесь, что модели, идентификация, RAG, инструменты, мониторинг, обновления и восстановление зависят только от утвержденных внутренних артефактов и сервисов.","Какой лучший тест на готовность к air gap?","FAQ по air-gapped AI",{},{"id":1527,"data":1528,"type":42,"tunes":1530},"h-glossary",{"text":1529,"level":253},"Глоссарий",{},{"id":1532,"data":1533,"type":1532,"tunes":1580},"glossary",{"title":1534,"entries":1535},"Ключевые термины air-gapped AI",[1536,1540,1543,1546,1549,1552,1556,1560,1564,1568,1572,1576],{"term":1537,"anchor":1538,"definition":1539},"Air gap","air-gap","Интерфейс домена безопасности, где системы физически не соединены, а любая логическая передача через границу является неавтоматизированной\u002Fручной в соответствии с определением глоссария NIST.",{"term":387,"anchor":1541,"definition":1542},"air-gapped-ai","AI-система, развернутая внутри air-gapped домена безопасности с локально доступными зависимостями для инференса и работы.",{"term":375,"anchor":1544,"definition":1545},"disconnected-environment","Среда развертывания без прямого доступа к внешнему интернету; реализации могут использовать контролируемые зеркальные или bastion-процессы.",{"term":371,"anchor":1547,"definition":1548},"offline-capable-ai","AI-приложение, способное выполнять некоторые или все функции без подключения к интернету, не обязательно будучи постоянно изолированным.",{"term":367,"anchor":1550,"definition":1551},"local-ai","AI-инференс или среда выполнения, работающая на локальном оборудовании, а не на удаленной конечной точке модели; не подразумевает сетевую изоляцию.",{"term":1553,"anchor":1554,"definition":1555},"Mirror registry","mirror-registry","Внутренний репозиторий, содержащий утвержденные копии образов контейнеров или других артефактов, необходимых для развертывания в отключенной среде.",{"term":1557,"anchor":1558,"definition":1559},"Staging environment","staging-environment","Подключенная или контролируемая зона, где артефакты приобретаются, проверяются и подготавливаются перед передачей в изолированный домен.",{"term":1561,"anchor":1562,"definition":1563},"Controlled transfer","controlled-transfer","Управляемое перемещение данных или программного обеспечения через границу изоляции с использованием утвержденных носителей\u002Fпроцессов и проверки.",{"term":1565,"anchor":1566,"definition":1567},"Artifact provenance","artifact-provenance","Информация, показывающая, откуда произошел модель, пакет, контейнер или другой импортированный артефакт и как он был создан или проверен.",{"term":1569,"anchor":1570,"definition":1571},"Removable media","removable-media","Портативное хранилище, используемое для передачи данных между системами; потенциальный путь безопасности через отключенные домены.",{"term":1573,"anchor":1574,"definition":1575},"Internal model store","internal-model-store","Репозиторий внутри изолированной среды, из которого обслуживаются или развертываются утвержденные артефакты моделей.",{"term":1577,"anchor":1578,"definition":1579},"Air-gap readiness","air-gap-readiness","Продемонстрированная способность всего AI-стека устанавливаться, запускаться, работать, обновляться и восстанавливаться без неутвержденного внешнего подключения.",{},{"id":1582,"data":1583,"type":42,"tunes":1585},"h-conclusion",{"text":1584,"level":253},"Заключение",{},{"id":1587,"data":1588,"type":218,"tunes":1590},"p-conclusion-1",{"text":1589},"Air-gapped AI — это не особый вид модели. Это AI-архитектура, работающая внутри намеренно изолированного домена безопасности.",{},{"id":1592,"data":1593,"type":218,"tunes":1595},"p-conclusion-2",{"text":1594},"Модель может быть легкой частью. Готовность к производству зависит от того, может ли каждая окружающая зависимость — активы моделей, пакеты, реестры, идентификация, RAG, инструменты, мониторинг, обновления и восстановление — функционировать без автоматизированного внешнего пути.",{},{"id":1597,"data":1598,"type":218,"tunes":1600},"p-conclusion-3",{"text":1599},"Самое короткое надежное правило: локальный инференс доказывает, где работает модель; доказательства air gap доказывают, как вся система разделена и как каждая разрешенная передача пересекает эту границу.",{},{"id":1602,"data":1603,"type":42,"tunes":1605},"h-sources",{"text":1604,"level":253},"Первичные источники и текущие ссылки на реализацию",{},{"id":1607,"data":1608,"type":218,"tunes":1610},"p-sources-note",{"text":1609},"Приведенные ниже источники устанавливают определение безопасности, текущие паттерны развертывания AI в отключенных средах и риски жизненного цикла. Использование термина «air-gapped» поставщиками намеренно отличается от более строгого определения NIST.",{},{"id":1612,"data":1613,"type":1619,"tunes":1620},"src-nist-airgap",{"link":1614,"meta":1615},"https:\u002F\u002Fcsrc.nist.gov\u002Fglossary\u002Fterm\u002Fair_gap",{"image":1616,"title":1617,"description":1618},{"url":419},"NIST CSRC — Air gap","Определение глоссария NIST: физически отключенные системы с неавтоматизированной, вручную контролируемой логической передачей через границу.","linkTool",{},{"id":1622,"data":1623,"type":1619,"tunes":1629},"src-nvidia-airgap",{"link":1624,"meta":1625},"https:\u002F\u002Fdocs.nvidia.com\u002Fnim\u002Flarge-language-models\u002Flatest\u002Fdeploy-air-gap.html",{"image":1626,"title":1627,"description":1628},{"url":419},"NVIDIA NIM — Air-Gap Deployment","Текущее операционное руководство по подготовке активов моделей в подключенной системе и запуску NIM из локального хранилища без интернета, публичных реестров или облачных API-ключей.",{},{"id":1631,"data":1632,"type":1619,"tunes":1638},"src-redhat-disconnected",{"link":1633,"meta":1634},"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":1635,"title":1636,"description":1637},{"url":419},"Red Hat AI Inference — Disconnected deployment","Текущее руководство Red Hat по обслуживанию LLM в отключенных средах с зеркалированными артефактами и внутренней инфраструктурой.",{},{"id":1640,"data":1641,"type":1619,"tunes":1647},"src-redhat-models",{"link":1642,"meta":1643},"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":1644,"title":1645,"description":1646},{"url":419},"Red Hat AI Inference — Хранение моделей в изолированных средах","Актуальные рекомендации по OCI-образам моделей, постоянному хранению моделей и ограничениям моделей, требующих удалённого кода.",{},{"id":1649,"data":1650,"type":1619,"tunes":1656},"src-nsa-framework",{"link":1651,"meta":1652},"https:\u002F\u002Fwww.nsa.gov\u002Fportals\u002F75\u002Fdocuments\u002Fwhat-we-do\u002Fcybersecurity\u002Fprofessional-resources\u002Fctr-nsa-css-technical-cyber-threat-framework.pdf",{"image":1653,"title":1654,"description":1655},{"url":419},"NSA — Technical Cyber Threat Framework","Фреймворк угроз, в котором репликация через съёмные носители прямо указана как путь проникновения в изолированные или физически изолированные сети.",{},{"id":1658,"data":1659,"type":1619,"tunes":1665},"src-nist-media",{"link":1660,"meta":1661},"https:\u002F\u002Fwww.nist.gov\u002Fpublications\u002Fguidelines-media-sanitization",{"image":1662,"title":1663,"description":1664},{"url":419},"NIST SP 800-88 Rev. 1 — Guidelines for Media Sanitization","Рекомендации по управлению носителями информации и их очистке в соответствии с требованиями к конфиденциальности информации.",{},{"id":1667,"data":1668,"type":1619,"tunes":1674},"src-nist-patch",{"link":1669,"meta":1670},"https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Fsp\u002F800\u002F40\u002Fr4\u002Ffinal",{"image":1671,"title":1672,"description":1673},{"url":419},"NIST SP 800-40 Rev. 4 — Enterprise Patch Management Planning","Рекомендации, рассматривающие установку исправлений и обновлений как профилактическое обслуживание корпоративных систем.",{},{"id":1676,"data":1677,"type":1619,"tunes":1683},"src-nist-supply",{"link":1678,"meta":1679},"https:\u002F\u002Fwww.nist.gov\u002Fitl\u002Fexecutive-order-14028-improving-nations-cybersecurity\u002Fsoftware-security-supply-chains",{"image":1680,"title":1681,"description":1682},{"url":419},"NIST — Software Security in Supply Chains","Рекомендации NIST, охватывающие риски цепочки поставок программного обеспечения, происхождение, верификацию, практики, связанные с SBOM, и управление уязвимостями.",{},"2.31","AI-системы в изолированной среде запускают модели, RAG и AI-приложения внутри изолированного домена безопасности без зависимости от интернета или облачных сервисов. Узнайте, как модели, данные, обновления и инструменты работают в автономном режиме.","\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":1693,"de":1694,"sr":1695,"es":1696,"fr":1697,"it":1698,"ru":1699,"zh":1700},"\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",[1702,1706,1710],{"id":1703,"name":1704,"slug":1705},57,"Границы данных","data-boundaries",{"id":1707,"name":1708,"slug":1709},54,"Модель угроз","threat-model",{"id":1711,"name":1712,"slug":1713},49,"Контроли и доказательства","controls",{"id":1715,"login":1716,"email":1717,"displayName":1718},"20","rooth8233","aleksandar@stajic.de","Aleksandar Stajić",[1720,2954],{"lang":1721,"title":1722,"content":1723,"contentJson":1724,"excerpt":2953},"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":1725,"blocks":1726,"version":2952},1791495428517,[1727,1731,1736,1741,1746,1751,1755,1759,1763,1767,1771,1775,1779,1783,1787,1791,1820,1824,1828,1832,1836,1839,1868,1872,1876,1880,1905,1910,1914,1949,1953,1957,1961,1965,1969,1973,1977,1981,1985,1989,1993,1997,2001,2005,2009,2046,2050,2054,2058,2062,2066,2070,2074,2078,2082,2089,2093,2097,2101,2105,2109,2113,2117,2121,2125,2129,2133,2137,2141,2145,2149,2153,2157,2161,2165,2169,2173,2177,2181,2185,2189,2218,2222,2226,2230,2234,2238,2242,2246,2250,2254,2258,2262,2266,2270,2275,2312,2316,2320,2324,2328,2332,2375,2379,2383,2387,2391,2395,2437,2441,2445,2449,2453,2457,2461,2465,2469,2473,2478,2482,2486,2490,2515,2519,2544,2548,2552,2556,2597,2601,2656,2660,2703,2707,2744,2748,2752,2756,2760,2764,2768,2772,2776,2780,2784,2788,2792,2796,2800,2807,2811,2846,2850,2879,2883,2887,2891,2895,2899,2903,2909,2915,2921,2928,2934,2940,2946],{"id":215,"data":1728,"type":218,"tunes":1730},{"text":1729},"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":1732,"type":226,"tunes":1735},{"body":1733,"title":1734,"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":1737,"type":226,"tunes":1740},{"body":1738,"title":1739,"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":1742,"type":226,"tunes":1745},{"body":1743,"title":1744,"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":1747,"type":226,"tunes":1750},{"body":1748,"title":1749,"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":1752,"type":254,"tunes":1754},{"title":1753,"maxLevel":252,"minLevel":253},"Contents",{},{"id":257,"data":1756,"type":42,"tunes":1758},{"text":1757,"level":253},"What air-gapped AI really means",{},{"id":262,"data":1760,"type":218,"tunes":1762},{"text":1761},"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":1764,"type":218,"tunes":1766},{"text":1765},"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":1768,"type":218,"tunes":1770},{"text":1769},"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":1772,"type":42,"tunes":1774},{"text":1773,"level":253},"The simplest example",{},{"id":282,"data":1776,"type":218,"tunes":1778},{"text":1777},"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":1780,"type":218,"tunes":1782},{"text":1781},"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":1784,"type":218,"tunes":1786},{"text":1785},"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":1788,"type":218,"tunes":1790},{"text":1789},"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":1792,"type":331,"tunes":1819},{"steps":1793,"title":1818,"orientation":330},[1794,1797,1800,1803,1806,1809,1812,1815],{"label":1795,"description":1796},"1. Acquire outside the enclave","Download approved models, packages, containers, drivers, signatures and documentation in a connected staging environment.",{"label":1798,"description":1799},"2. Verify before transfer","Check provenance, signatures\u002Fchecksums, malware status, licensing and compatibility according to organizational policy.",{"label":1801,"description":1802},"3. Transfer through controlled boundary","Move approved artifacts using the authorized manual or mediated process.",{"label":1804,"description":1805},"4. Publish internally","Place artifacts in internal model, container, package or file repositories.",{"label":1807,"description":1808},"5. Deploy locally","Run inference, RAG, applications and tools without external dependencies.",{"label":1810,"description":1811},"6. Monitor inside the enclave","Collect logs, metrics, model\u002Fruntime status and security events locally.",{"label":1813,"description":1814},"7. Export only approved evidence","Move selected reports or artifacts outward through the reverse controlled process where policy permits.",{"label":1816,"description":1817},"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":1821,"type":42,"tunes":1823},{"text":1822,"level":253},"Where the simple example stops",{},{"id":339,"data":1825,"type":218,"tunes":1827},{"text":1826},"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":1829,"type":218,"tunes":1831},{"text":1830},"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":1833,"type":218,"tunes":1835},{"text":1834},"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":1837,"type":42,"tunes":1838},{"text":356,"level":253},{},{"id":359,"data":1840,"type":394,"tunes":1867},{"content":1841,"stretched":43,"withHeadings":14},[1842,1846,1849,1852,1855,1858,1861,1864],[1843,1844,1845],"Term","What it primarily describes","Internet\u002Fexternal connectivity required?",[367,1847,1848],"Inference\u002Fruntime runs on local hardware","No; but it may still call cloud services",[371,1850,1851],"Can continue operating without internet","No during offline operation; reconnection may be normal",[375,1853,1854],"No direct external-internet path from deployment environment","Usually no; may use controlled mirrors\u002Fbastions",[379,1856,1857],"Infrastructure runs in an organization's own\u002Fon-prem environment","Could still have full internet connectivity",[383,1859,1860],"AI processing is controlled to meet privacy\u002Fconfidentiality requirements","Architecture-specific; can be connected or disconnected",[387,1862,1863],"Security domains are physically disconnected and cross-boundary transfer is non-automated\u002Fmanual under strict definition","No automated external path",[391,1865,1866],"Control\u002Fjurisdiction over models, data, infrastructure and dependencies","Not necessarily; sovereignty is broader than network isolation",{},{"id":397,"data":1869,"type":218,"tunes":1871},{"text":1870},"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":1873,"type":218,"tunes":1875},{"text":1874},"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":1877,"type":42,"tunes":1879},{"text":1878,"level":253},"Strict air gap vs practical disconnected deployment",{},{"id":412,"data":1881,"type":444,"tunes":1904},{"rows":1882,"title":1898,"layout":394,"columns":1899},[1883,1886,1889,1892,1895],{"id":416,"label":1884,"values":1885},"External physical connection",{"strict":419,"disconnected":419},{"id":421,"label":1887,"values":1888},"Cross-boundary transfer",{"strict":419,"disconnected":419},{"id":425,"label":1890,"values":1891},"Internet access from AI workload",{"strict":419,"disconnected":419},{"id":429,"label":1893,"values":1894},"Internal networking",{"strict":419,"disconnected":419},{"id":433,"label":1896,"values":1897},"Use term when",{"strict":419,"disconnected":419},"Two meanings frequently called “air-gapped”",[1900,1902],{"id":439,"label":1901},"Strict air gap",{"id":442,"label":1903},"Disconnected \u002F no-internet deployment",{},{"id":447,"data":1906,"type":226,"tunes":1909},{"body":1907,"title":1908,"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":1911,"type":42,"tunes":1913},{"text":1912,"level":253},"A practical air-gapped AI architecture",{},{"id":459,"data":1915,"type":394,"tunes":1948},{"content":1916,"stretched":43,"withHeadings":14},[1917,1920,1923,1926,1928,1930,1933,1936,1939,1942,1945],[1918,1919],"Layer","What must exist inside the isolated environment",[1921,1922],"User\u002Fapplication layer","Chat UI, APIs, business application or internal agent interface",[1924,1925],"Identity &amp; authorization","Local\u002Finternal authentication, RBAC, tenant\u002Fresource permissions",[472,1927],"Model routing, request policy, context assembly and runtime controls",[475,1929],"Local model server(s), weights, tokenizer\u002Fconfig and accelerator runtime",[1931,1932],"RAG \u002F knowledge","Document store, parser, embeddings, vector\u002Flexical indexes, metadata and provenance",[1934,1935],"Tools\u002Fservices","Only internal\u002Flocal APIs and approved systems reachable from the enclave",[1937,1938],"Artifact repositories","Local container registry, package mirror, model store and optionally OS\u002Fupdate repositories",[1940,1941],"Observability","Internal logs, metrics, traces and audit records",[1943,1944],"Backup\u002Frecovery","Local or separately controlled backup process appropriate to the security domain",[1946,1947],"Transfer boundary","Controlled import\u002Fexport process with inspection and approval",{},{"id":497,"data":1950,"type":218,"tunes":1952},{"text":1951},"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":1954,"type":218,"tunes":1956},{"text":1955},"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":1958,"type":42,"tunes":1960},{"text":1959,"level":253},"Models must be pre-staged",{},{"id":512,"data":1962,"type":218,"tunes":1964},{"text":1963},"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":1966,"type":218,"tunes":1968},{"text":1967},"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":1970,"type":218,"tunes":1972},{"text":1971},"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":1974,"type":42,"tunes":1976},{"text":1975,"level":253},"Models with remote-code dependencies are an air-gap hazard",{},{"id":532,"data":1978,"type":218,"tunes":1980},{"text":1979},"Some model repositories contain custom Python code or runtime hooks that normally fetch additional code or assets.",{},{"id":537,"data":1982,"type":218,"tunes":1984},{"text":1983},"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":1986,"type":218,"tunes":1988},{"text":1987},"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":1990,"type":42,"tunes":1992},{"text":1991,"level":253},"Containers, packages and drivers become local supply-chain artifacts",{},{"id":552,"data":1994,"type":218,"tunes":1996},{"text":1995},"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":1998,"type":218,"tunes":2000},{"text":1999},"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":2002,"type":218,"tunes":2004},{"text":2003},"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":2006,"type":42,"tunes":2008},{"text":2007,"level":253},"Know the complete dependency bill",{},{"id":572,"data":2010,"type":394,"tunes":2045},{"content":2011,"stretched":43,"withHeadings":14},[2012,2015,2018,2021,2024,2027,2030,2033,2036,2039,2042],[2013,2014],"Dependency class","Examples",[2016,2017],"Model artifacts","Weights, tokenizer, config, adapters, quantization metadata",[2019,2020],"Inference runtime","vLLM, llama.cpp, Ollama, NIM or other serving runtime",[2022,2023],"GPU\u002Fruntime stack","Drivers, CUDA\u002FROCm libraries, container runtime",[2025,2026],"Application packages","Python wheels, npm packages, system libraries",[2028,2029],"Containers","Application, inference, DB, vector DB, monitoring images",[2031,2032],"RAG models","Embedding model, reranker, OCR\u002Fvision models",[2034,2035],"Data","Knowledge corpus, metadata, schemas, evaluation datasets",[2037,2038],"Security material","Certificates, CA bundles, policy\u002Fconfiguration, malware signatures where applicable",[2040,2041],"Operational artifacts","Dashboards, alert rules, backup tools, runbooks",[2043,2044],"Licensing","Offline-compatible licenses\u002Fentitlements where required",{},{"id":610,"data":2047,"type":42,"tunes":2049},{"text":2048,"level":253},"Internal mirrors are infrastructure, not a convenience",{},{"id":615,"data":2051,"type":218,"tunes":2053},{"text":2052},"A disconnected deployment becomes maintainable when the isolated domain has known internal sources for approved artifacts.",{},{"id":620,"data":2055,"type":218,"tunes":2057},{"text":2056},"Red Hat's documented approach uses a mirror registry available to the disconnected cluster so workloads do not need public registries.",{},{"id":625,"data":2059,"type":218,"tunes":2061},{"text":2060},"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":2063,"type":42,"tunes":2065},{"text":2064,"level":253},"RAG can work fully air-gapped",{},{"id":635,"data":2067,"type":218,"tunes":2069},{"text":2068},"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":2071,"type":218,"tunes":2073},{"text":2072},"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":2075,"type":218,"tunes":2077},{"text":2076},"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":2079,"type":218,"tunes":2081},{"text":2080},"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":2083,"type":661,"tunes":2088},{"url":2084,"title":2085,"excerpt":2086,"ctaLabel":2087},"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":2090,"type":42,"tunes":2092},{"text":2091,"level":253},"Agents can run air-gapped — but only with reachable tools",{},{"id":669,"data":2094,"type":218,"tunes":2096},{"text":2095},"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":2098,"type":218,"tunes":2100},{"text":2099},"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":2102,"type":218,"tunes":2104},{"text":2103},"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":2106,"type":42,"tunes":2108},{"text":2107,"level":253},"MCP does not bypass the air gap",{},{"id":689,"data":2110,"type":218,"tunes":2112},{"text":2111},"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":2114,"type":218,"tunes":2116},{"text":2115},"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":2118,"type":218,"tunes":2120},{"text":2119},"The same principle applies to any connector protocol: interoperability is separate from network authority.",{},{"id":704,"data":2122,"type":42,"tunes":2124},{"text":2123,"level":253},"Identity and authentication must also work offline",{},{"id":709,"data":2126,"type":218,"tunes":2128},{"text":2127},"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":2130,"type":218,"tunes":2132},{"text":2131},"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":2134,"type":218,"tunes":2136},{"text":2135},"Authorization remains necessary even though the internet is absent. Air gaps do not replace RBAC, tenant isolation or least privilege.",{},{"id":724,"data":2138,"type":42,"tunes":2140},{"text":2139,"level":253},"Time, certificates and trust stores become local dependencies",{},{"id":729,"data":2142,"type":218,"tunes":2144},{"text":2143},"Many authentication and logging systems depend on reliable time. Certificates expire. Trust stores change. Signed artifacts need validation.",{},{"id":734,"data":2146,"type":218,"tunes":2148},{"text":2147},"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":2150,"type":218,"tunes":2152},{"text":2151},"These are ordinary infrastructure concerns that become visible only when an architecture is tested without internet access.",{},{"id":744,"data":2154,"type":42,"tunes":2156},{"text":2155,"level":253},"Telemetry and crash reporting need explicit policy",{},{"id":749,"data":2158,"type":218,"tunes":2160},{"text":2159},"Many modern libraries attempt analytics, update checks or error reporting by default.",{},{"id":754,"data":2162,"type":218,"tunes":2164},{"text":2163},"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":2166,"type":218,"tunes":2168},{"text":2167},"An air-gapped deployment should know which components attempt egress even if the firewall would block them.",{},{"id":764,"data":2170,"type":42,"tunes":2172},{"text":2171,"level":253},"Air-gapped systems still need patches",{},{"id":769,"data":2174,"type":218,"tunes":2176},{"text":2175},"Network isolation does not stop software from developing vulnerabilities. It only changes how patches reach the system.",{},{"id":774,"data":2178,"type":218,"tunes":2180},{"text":2179},"NIST frames patch management as preventive maintenance: organizations still need to identify, acquire, prioritize, install and verify patches and updates.",{},{"id":779,"data":2182,"type":218,"tunes":2184},{"text":2183},"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":2186,"type":42,"tunes":2188},{"text":2187,"level":253},"A controlled update path",{},{"id":789,"data":2190,"type":331,"tunes":2217},{"steps":2191,"title":2216,"orientation":330},[2192,2195,2198,2201,2204,2207,2210,2213],{"label":2193,"description":2194},"1. Identify required update","Security advisory, model\u002Fruntime improvement or operational need triggers change.",{"label":2196,"description":2197},"2. Acquire in connected staging","Download exact versions plus signatures\u002Fchecksums and metadata.",{"label":2199,"description":2200},"3. Validate supply-chain evidence","Verify source, integrity, compatibility and policy requirements.",{"label":2202,"description":2203},"4. Test in representative offline staging","Confirm the update works without unexpected network dependencies.",{"label":2205,"description":2206},"5. Approve transfer","Apply the organization's change and security process.",{"label":2208,"description":2209},"6. Import into enclave repository","Publish the artifact to the internal trusted source.",{"label":2211,"description":2212},"7. Deploy gradually","Apply to test\u002Fcanary nodes before wider rollout where architecture permits.",{"label":2214,"description":2215},"8. Verify and record","Confirm version, health, behavior and rollback state.","Example update lifecycle for an isolated AI environment",{},{"id":819,"data":2219,"type":42,"tunes":2221},{"text":2220,"level":253},"The transfer boundary is the most sensitive operational interface",{},{"id":824,"data":2223,"type":218,"tunes":2225},{"text":2224},"If external information must enter an air-gapped system, the import channel becomes a major security control point.",{},{"id":829,"data":2227,"type":218,"tunes":2229},{"text":2228},"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":2231,"type":218,"tunes":2233},{"text":2232},"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":2235,"type":42,"tunes":2237},{"text":2236,"level":253},"Removable media is not a neutral pipe",{},{"id":844,"data":2239,"type":218,"tunes":2241},{"text":2240},"USB drives and other portable media can carry both legitimate model\u002Fdata artifacts and malicious content.",{},{"id":849,"data":2243,"type":218,"tunes":2245},{"text":2244},"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":2247,"type":218,"tunes":2249},{"text":2248},"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":2251,"type":42,"tunes":2253},{"text":2252,"level":253},"Air-gapping increases supply-chain importance",{},{"id":864,"data":2255,"type":218,"tunes":2257},{"text":2256},"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":2259,"type":218,"tunes":2261},{"text":2260},"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":2263,"type":218,"tunes":2265},{"text":2264},"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":2267,"type":42,"tunes":2269},{"text":2268,"level":253},"Air-gap readiness should be tested, not assumed",{},{"id":884,"data":2271,"type":226,"tunes":2274},{"body":2272,"title":2273,"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":2276,"type":394,"tunes":2311},{"content":2277,"stretched":43,"withHeadings":14},[2278,2281,2284,2287,2290,2293,2296,2299,2302,2305,2308],[2279,2280],"Test","What it proves",[2282,2283],"Cold start with all outbound network blocked","Runtime does not require public services during startup",[2285,2286],"Load every approved model from local storage","Weights\u002Ftokenizers\u002Fconfigs are complete",[2288,2289],"Rebuild\u002Fredeploy from internal registries only","Container\u002Fpackage mirrors are sufficient",[2291,2292],"Authenticate users while external IdP is unreachable","Identity works inside the enclave",[2294,2295],"Run RAG ingestion and query offline","Embedding\u002Findexing\u002Fretrieval stack is local",[2297,2298],"Run representative agent tools","Tools do not depend on external APIs",[2300,2301],"Restart after cache deletion","Offline operation is not accidentally relying on previously cached downloads",[2303,2304],"Advance simulated certificate\u002Fupdate lifecycle","Trust and maintenance dependencies are understood",[2306,2307],"Import a new model through staging path","Transfer\u002Fchange procedure is operational",[2309,2310],"Restore from backup","Recovery does not require unavailable cloud storage",{},{"id":928,"data":2313,"type":42,"tunes":2315},{"text":2314,"level":253},"Cached once is not the same as air-gap ready",{},{"id":933,"data":2317,"type":218,"tunes":2319},{"text":2318},"A system may appear offline because the model and packages are already cached from earlier internet access.",{},{"id":938,"data":2321,"type":218,"tunes":2323},{"text":2322},"Deleting caches or deploying to a clean node can reveal missing tokenizer files, Python packages, model manifests or remote-code dependencies.",{},{"id":943,"data":2325,"type":218,"tunes":2327},{"text":2326},"Air-gap readiness should therefore be validated from clean internal artifacts, not only from a developer workstation that was previously connected.",{},{"id":948,"data":2329,"type":42,"tunes":2331},{"text":2330,"level":253},"What threats remain inside an air gap?",{},{"id":953,"data":2333,"type":394,"tunes":2374},{"content":2334,"stretched":43,"withHeadings":14},[2335,2338,2341,2344,2347,2350,2353,2356,2359,2362,2365,2368,2371],[2336,2337],"Threat","Why the air gap does not remove it",[2339,2340],"Compromised imported artifact","Malware\u002Fmodel\u002Fpackage can enter through the authorized transfer path",[2342,2343],"Malicious removable media","Physical transfer can carry executable payloads",[2345,2346],"Insider misuse","Authorized users already exist inside the enclave",[2348,2349],"Prompt injection in imported documents","Untrusted content can influence RAG\u002Fagents without internet",[2351,2352],"Overprivileged agent tools","Local tools can still damage local systems",[2354,2355],"Cross-tenant data leakage","Internal authorization bugs remain possible",[2357,2358],"Vulnerable internal software","Lack of external connection does not remove exploitable bugs",[2360,2361],"Lateral movement","A compromised node can attack other internally connected nodes",[2363,2364],"Stale dependencies","Slow update cadence can leave known vulnerabilities unpatched",[2366,2367],"Physical theft\u002Ftampering","Hardware and media security remain critical",[2369,2370],"Bad model behavior","Hallucination, bias and task failure are independent of networking",[2372,2373],"Supply-chain poisoning","Trusted import sources can still be compromised",{},{"id":997,"data":2376,"type":42,"tunes":2378},{"text":2377,"level":253},"What an air gap actually improves",{},{"id":1002,"data":2380,"type":218,"tunes":2382},{"text":2381},"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":2384,"type":218,"tunes":2386},{"text":2385},"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":2388,"type":218,"tunes":2390},{"text":2389},"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":2392,"type":42,"tunes":2394},{"text":2393,"level":253},"What an air gap makes harder",{},{"id":1022,"data":2396,"type":394,"tunes":2436},{"content":2397,"stretched":43,"withHeadings":14},[2398,2401,2404,2407,2410,2413,2416,2419,2422,2424,2427,2430,2433],[2399,2400],"Area","Operational consequence",[2402,2403],"Model updates","Manual\u002Fstaged transfer instead of direct model-hub pull",[2405,2406],"Security patches","Delayed and governed import workflow",[2408,2409],"Package installation","Internal mirrors or prebuilt artifacts required",[2411,2412],"Cloud AI APIs","Unavailable",[2414,2415],"Web search\u002Fconnectors","Unavailable unless data is imported separately",[2417,2418],"Authentication","Needs internal\u002Foffline-capable identity services",[2420,2421],"Monitoring","Needs internal observability and controlled export",[2043,2423],"Products requiring online activation may be unsuitable",[2425,2426],"Troubleshooting","No easy live access to vendor resources from production enclave",[2428,2429],"Capacity","All inference compute must exist locally",[2431,2432],"Disaster recovery","Cloud backups may be unavailable or policy-restricted",[2434,2435],"Knowledge freshness","External information arrives only as fast as the import process",{},{"id":1065,"data":2438,"type":42,"tunes":2440},{"text":2439,"level":253},"Air-gapped AI vs private AI",{},{"id":1070,"data":2442,"type":218,"tunes":2444},{"text":2443},"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":2446,"type":218,"tunes":2448},{"text":2447},"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":2450,"type":218,"tunes":2452},{"text":2451},"The security objective should determine the architecture: confidentiality, sovereignty, resilience and isolation are related but distinct requirements.",{},{"id":1085,"data":2454,"type":42,"tunes":2456},{"text":2455,"level":253},"Air-gapped AI vs sovereign AI",{},{"id":1090,"data":2458,"type":218,"tunes":2460},{"text":2459},"Sovereign AI concerns control over the broader dependency chain: data, models, infrastructure, operators, jurisdiction and strategic dependencies.",{},{"id":1095,"data":2462,"type":218,"tunes":2464},{"text":2463},"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":2466,"type":218,"tunes":2468},{"text":2467},"The next canonical article separates those control dimensions explicitly.",{},{"id":1105,"data":2470,"type":42,"tunes":2472},{"text":2471,"level":253},"Original implementation evidence: what the Aaasaasa AI Client proves — and what it does not",{},{"id":1110,"data":2474,"type":226,"tunes":2477},{"body":2475,"title":2476,"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":2479,"type":218,"tunes":2481},{"text":2480},"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":2483,"type":218,"tunes":2485},{"text":2484},"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":2487,"type":218,"tunes":2489},{"text":2488},"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":2491,"type":394,"tunes":2514},{"content":2492,"stretched":43,"withHeadings":14},[2493,2496,2499,2502,2505,2508,2511],[2494,2495],"Verified project capability","Air-gap relevance",[2497,2498],"Local Ollama inference","Supports local model execution",[2500,2501],"Local provider\u002Fruntime paths","Reduces dependency on cloud inference",[2503,2504],"Provider\u002Fmodel\u002Fruntime separation","Makes cloud dependencies explicit rather than hidden",[2506,2507],"Central permissions","Supports local tool\u002Fdata access control",[2509,2510],"Cloud\u002Fremote provider support also exists","Proves the product itself is hybrid-capable, not inherently air-gapped",[2512,2513],"No verified isolated deployment boundary","Prevents overclaiming air-gap maturity",{},{"id":1157,"data":2516,"type":42,"tunes":2518},{"text":2517,"level":253},"When is air-gapped AI justified?",{},{"id":1162,"data":2520,"type":394,"tunes":2543},{"content":2521,"stretched":43,"withHeadings":14},[2522,2525,2528,2531,2534,2537,2540],[2523,2524],"Air gap may be justified when","A connected private architecture may be better when",[2526,2527],"Security policy explicitly requires physically separated domains","Main requirement is only that prompts\u002Fdata are not used by public consumer services",[2529,2530],"Classified or extremely sensitive data cannot cross external networks","Approved enterprise cloud\u002Fprivate endpoints satisfy data controls",[2532,2533],"Operational environment has no reliable external connectivity","Internet is available and operational agility matters",[2535,2536],"Mission continuity must not depend on cloud\u002Fprovider availability","Managed model quality and rapid upgrades are more valuable",[2538,2539],"Regulated\u002Fcritical environment mandates controlled transfer","Standard security controls can meet the actual threat model",[2541,2542],"External SaaS\u002FAPI access is prohibited","Business workflow relies heavily on external connectors",{},{"id":1188,"data":2545,"type":218,"tunes":2547},{"text":2546},"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":2549,"type":218,"tunes":2551},{"text":2550},"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":2553,"type":42,"tunes":2555},{"text":2554,"level":253},"A practical air-gapped AI design sequence",{},{"id":1203,"data":2557,"type":331,"tunes":2596},{"steps":2558,"title":2595,"orientation":330},[2559,2562,2565,2568,2571,2574,2577,2580,2583,2586,2589,2592],{"label":2560,"description":2561},"1. Define what the air gap separates","Name the security domains and whether the requirement is strict physical separation or simply no internet.",{"label":2563,"description":2564},"2. Inventory every external dependency","Models, packages, registries, identity, telemetry, licensing, storage, APIs, DNS\u002Ftime and support services.",{"label":2566,"description":2567},"3. Select offline-capable models and runtimes","Verify model assets and runtime code can load without remote calls.",{"label":2569,"description":2570},"4. Build internal artifact repositories","Create trusted sources for containers, packages, models and updates.",{"label":2572,"description":2573},"5. Design controlled transfer","Define staging, verification, media\u002Fgateway handling, approval and provenance.",{"label":2575,"description":2576},"6. Build internal identity and authorization","Ensure users, services and tools can authenticate without cloud dependencies.",{"label":2578,"description":2579},"7. Keep RAG and tools local","Deploy knowledge, embeddings, indexes and required service APIs inside the enclave.",{"label":2581,"description":2582},"8. Build internal observability","Operate logs, metrics, traces and security monitoring locally.",{"label":2584,"description":2585},"9. Define patch\u002Fmodel update cadence","Balance vulnerability response with the controlled import process.",{"label":2587,"description":2588},"10. Test from a clean disconnected state","Cold-start and operate without inherited caches or hidden internet access.",{"label":2590,"description":2591},"11. Test compromise paths","Exercise removable-media, supply-chain, prompt-injection, insider and lateral-movement scenarios.",{"label":2593,"description":2594},"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":2598,"type":42,"tunes":2600},{"text":2599,"level":253},"Air-gapped AI architecture checklist",{},{"id":1250,"data":2602,"type":394,"tunes":2655},{"content":2603,"stretched":43,"withHeadings":14},[2604,2607,2610,2613,2616,2619,2622,2625,2628,2631,2634,2637,2640,2643,2646,2649,2652],[2605,2606],"Question","Expected evidence",[2608,2609],"What exactly is isolated from what?","Documented security-domain boundary",[2611,2612],"Is the boundary physically disconnected?","Network\u002Fphysical architecture evidence if strict air gap is claimed",[2614,2615],"How does data cross the boundary?","Authorized non-automated\u002Fmanual or explicitly documented disconnected workflow",[2617,2618],"Can every model cold-start offline?","Offline loading test",[2620,2621],"Are tokenizer\u002Fconfig\u002Fruntime assets complete?","Verified internal model bundle",[2623,2624],"Where do containers\u002Fpackages come from?","Internal trusted mirror\u002Frepository",[2626,2627],"Can identity work without cloud services?","Internal IdP\u002FPKI\u002Fservice credential path",[2629,2630],"Can RAG ingest\u002Fquery offline?","Local ingestion, embeddings, index and retrieval",[2632,2633],"Which agent tools remain available?","Internal capability inventory",[2635,2636],"How are patches imported?","Controlled maintenance process",[2638,2639],"How are artifacts verified?","Integrity\u002Fprovenance\u002Fmalware\u002Fsupply-chain controls",[2641,2642],"How is removable media governed?","Media handling and sanitization policy",[2644,2645],"Can the system run after caches are cleared?","Clean-environment offline test",[2647,2648],"Where are logs and traces stored?","Internal observability platform",[2650,2651],"How are exports approved?","Controlled egress process",[2653,2654],"What proves this is air-gapped rather than merely local?","Boundary and transfer evidence, not model location",{},{"id":1306,"data":2657,"type":42,"tunes":2659},{"text":2658,"level":253},"Common air-gapped AI failure modes",{},{"id":1311,"data":2661,"type":394,"tunes":2702},{"content":2662,"stretched":43,"withHeadings":14},[2663,2666,2669,2672,2675,2678,2681,2684,2687,2690,2693,2696,2699],[2664,2665],"Failure mode","What actually failed",[2667,2668],"Local model still downloads tokenizer\u002Fconfig at startup","Model bundle was incomplete",[2670,2671],"Container references public registry","Deployment was not self-contained",[2673,2674],"Cloud identity required for login","Application was local but identity was not",[2676,2677],"License server required externally","Vendor dependency contradicted offline operation",[2679,2680],"Embedding model missing","Chat works but RAG ingestion fails",[2682,2683],"Agent tool calls public SaaS","Agent architecture was not air-gap compatible",[2685,2686],"Only GPU node is isolated","Database, UI or monitoring still depends on external services",[2688,2689],"USB imports are informal","Transfer boundary becomes uncontrolled attack path",[2691,2692],"No patch process","Isolation creates growing vulnerability debt",[2694,2695],"Cached developer machine used as proof","Fresh deployment fails without internet",[2697,2698],"Air gap replaces authorization thinking","Internal users\u002Fservices become overprivileged",[2700,2701],"Air-gapped label used for firewall-only egress block","Security documentation overstates the actual boundary",{},{"id":1355,"data":2704,"type":42,"tunes":2706},{"text":2705,"level":253},"Common misconceptions",{},{"id":1360,"data":2708,"type":394,"tunes":2743},{"content":2709,"stretched":43,"withHeadings":14},[2710,2713,2716,2719,2722,2725,2728,2731,2734,2737,2740],[2711,2712],"Misconception","Correction",[2714,2715],"“Local AI is air-gapped AI.”","Local describes where inference runs; air gap describes the security\u002Fnetwork boundary.",[2717,2718],"“Air-gapped means one standalone PC.”","An isolated enclave can contain an entire internal network or cluster.",[2720,2721],"“No internet equals strict air gap.”","Under NIST's definition, the separated systems also lack physical connection and cross-boundary transfer is non-automated.",[2723,2724],"“Air gaps eliminate cyber risk.”","Supply-chain, removable-media, insider, internal-network and application risks remain.",[2726,2727],"“RAG needs the cloud.”","RAG can run entirely with local models, indexes and data.",[2729,2730],"“Agents cannot work offline.”","Agents can use internal\u002Flocal tools; they simply cannot reach unavailable external services.",[2732,2733],"“Once installed, the system needs no updates.”","Patches, drivers, models and dependencies still require lifecycle management.",[2735,2736],"“A downloaded model is self-contained.”","Tokenizers, remote code, libraries or model assets may still trigger network dependencies.",[2738,2739],"“Private AI and air-gapped AI are identical.”","Private AI is a data\u002Fcontrol property; air gap is a connectivity property.",[2741,2742],"“Air gap guarantees sovereignty.”","External hardware, licenses, models and supply chain can remain dependencies.",{},{"id":1398,"data":2745,"type":42,"tunes":2747},{"text":2746,"level":253},"Limitations",{},{"id":1403,"data":2749,"type":218,"tunes":2751},{"text":2750},"Strict air gaps make external knowledge freshness slower because every new source must pass through a transfer process.",{},{"id":1408,"data":2753,"type":218,"tunes":2755},{"text":2754},"They can constrain model choice when licenses, remote-code requirements, hardware needs or provider-only APIs cannot be satisfied offline.",{},{"id":1413,"data":2757,"type":218,"tunes":2759},{"text":2758},"They increase operational cost because infrastructure normally consumed as cloud services must be owned and maintained internally.",{},{"id":1418,"data":2761,"type":218,"tunes":2763},{"text":2762},"They can also create patch latency: stronger change control may keep systems stable while delaying urgent vulnerability remediation.",{},{"id":1423,"data":2765,"type":218,"tunes":2767},{"text":2766},"Air-gapped AI should therefore be evaluated as one security architecture among several, not assumed to be universally superior.",{},{"id":1428,"data":2769,"type":42,"tunes":2771},{"text":2770,"level":253},"What would change this answer?",{},{"id":1433,"data":2773,"type":218,"tunes":2775},{"text":2774},"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":2777,"type":218,"tunes":2779},{"text":2778},"The distinction between strict air gap and disconnected deployment will remain important even if vendors continue using the terms loosely.",{},{"id":1443,"data":2781,"type":218,"tunes":2783},{"text":2782},"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":2785,"type":42,"tunes":2787},{"text":2786,"level":253},"Related canonical knowledge",{},{"id":1453,"data":2789,"type":218,"tunes":2791},{"text":2790},"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":2793,"type":218,"tunes":2795},{"text":2794},"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":2797,"type":218,"tunes":2799},{"text":2798},"RAG and Agentic AI remain valid patterns inside the enclave as long as their data and tools are internally available.",{},{"id":1468,"data":2801,"type":661,"tunes":2806},{"url":2802,"title":2803,"excerpt":2804,"ctaLabel":2805},"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":2808,"type":42,"tunes":2810},{"text":2809,"level":253},"Frequently asked questions",{},{"id":1481,"data":2812,"type":1481,"tunes":2845},{"items":2813,"title":2844},[2814,2817,2820,2823,2826,2829,2832,2835,2838,2841],{"id":1485,"answer":2815,"question":2816},"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":2818,"question":2819},"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":2821,"question":2822},"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":2824,"question":2825},"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":2827,"question":2828},"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":2830,"question":2831},"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":2833,"question":2834},"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":2836,"question":2837},"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":2839,"question":2840},"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":2842,"question":2843},"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":2847,"type":42,"tunes":2849},{"text":2848,"level":253},"Glossary",{},{"id":1532,"data":2851,"type":1532,"tunes":2878},{"title":2852,"entries":2853},"Key air-gapped AI terms",[2854,2856,2858,2860,2862,2864,2866,2868,2870,2872,2874,2876],{"term":1537,"anchor":1538,"definition":2855},"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":387,"anchor":1541,"definition":2857},"AI system deployed inside an air-gapped security domain with locally available inference and operational dependencies.",{"term":375,"anchor":1544,"definition":2859},"Deployment environment without direct outside-internet access; implementations may use controlled mirror or bastion workflows.",{"term":371,"anchor":1547,"definition":2861},"AI application able to operate for some or all functions without internet connectivity, without necessarily being permanently isolated.",{"term":367,"anchor":1550,"definition":2863},"AI inference or runtime executing on local hardware rather than a remote model endpoint; does not imply network isolation.",{"term":1553,"anchor":1554,"definition":2865},"Internal repository containing approved copies of container images or other artifacts needed by a disconnected deployment.",{"term":1557,"anchor":1558,"definition":2867},"Connected or controlled zone where artifacts are acquired, verified and prepared before transfer into an isolated domain.",{"term":1561,"anchor":1562,"definition":2869},"Governed movement of data or software across the isolation boundary using approved media\u002Fprocesses and verification.",{"term":1565,"anchor":1566,"definition":2871},"Information showing where a model, package, container or other imported artifact originated and how it was produced or verified.",{"term":1569,"anchor":1570,"definition":2873},"Portable storage used to transfer data between systems; a potential security path across disconnected domains.",{"term":1573,"anchor":1574,"definition":2875},"Repository inside the isolated environment from which approved model artifacts are served or deployed.",{"term":1577,"anchor":1578,"definition":2877},"Demonstrated ability of the complete AI stack to install, start, operate, update and recover without unapproved external connectivity.",{},{"id":1582,"data":2880,"type":42,"tunes":2882},{"text":2881,"level":253},"Conclusion",{},{"id":1587,"data":2884,"type":218,"tunes":2886},{"text":2885},"Air-gapped AI is not a special kind of model. It is an AI architecture operating inside a deliberately isolated security domain.",{},{"id":1592,"data":2888,"type":218,"tunes":2890},{"text":2889},"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":1597,"data":2892,"type":218,"tunes":2894},{"text":2893},"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":1602,"data":2896,"type":42,"tunes":2898},{"text":2897,"level":253},"Primary sources and current implementation references",{},{"id":1607,"data":2900,"type":218,"tunes":2902},{"text":2901},"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":1612,"data":2904,"type":1619,"tunes":2908},{"link":1614,"meta":2905},{"image":2906,"title":1617,"description":2907},{"url":419},"NIST glossary definition: physically disconnected systems with non-automated, manually controlled logical transfer across the boundary.",{},{"id":1622,"data":2910,"type":1619,"tunes":2914},{"link":1624,"meta":2911},{"image":2912,"title":1627,"description":2913},{"url":419},"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":1631,"data":2916,"type":1619,"tunes":2920},{"link":1633,"meta":2917},{"image":2918,"title":1636,"description":2919},{"url":419},"Current Red Hat guidance for serving LLMs in disconnected environments with mirrored artifacts and internal infrastructure.",{},{"id":1640,"data":2922,"type":1619,"tunes":2927},{"link":1642,"meta":2923},{"image":2924,"title":2925,"description":2926},{"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":1649,"data":2929,"type":1619,"tunes":2933},{"link":1651,"meta":2930},{"image":2931,"title":1654,"description":2932},{"url":419},"Threat framework explicitly identifying removable-media replication as a path into disconnected or air-gapped networks.",{},{"id":1658,"data":2935,"type":1619,"tunes":2939},{"link":1660,"meta":2936},{"image":2937,"title":1663,"description":2938},{"url":419},"Guidance for managing and sanitizing storage media according to information confidentiality requirements.",{},{"id":1667,"data":2941,"type":1619,"tunes":2945},{"link":1669,"meta":2942},{"image":2943,"title":1672,"description":2944},{"url":419},"Guidance framing patching and updates as preventive maintenance across enterprise systems.",{},{"id":1676,"data":2947,"type":1619,"tunes":2951},{"link":1678,"meta":2948},{"image":2949,"title":1681,"description":2950},{"url":419},"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":2955,"excerpt":1685},{"time":212,"blocks":2956,"version":1684},[2957,2960,2963,2966,2969,2972,2975,2978,2981,2984,2987,2990,2993,2996,2999,3002,3014,3017,3020,3023,3026,3029,3041,3044,3047,3050,3067,3070,3073,3088,3091,3094,3097,3100,3103,3106,3109,3112,3115,3118,3121,3124,3127,3130,3133,3148,3151,3154,3157,3160,3163,3166,3169,3172,3175,3178,3181,3184,3187,3190,3193,3196,3199,3202,3205,3208,3211,3214,3217,3220,3223,3226,3229,3232,3235,3238,3241,3244,3247,3250,3253,3265,3268,3271,3274,3277,3280,3283,3286,3289,3292,3295,3298,3301,3304,3307,3322,3325,3328,3331,3334,3337,3354,3357,3360,3363,3366,3369,3386,3389,3392,3395,3398,3401,3404,3407,3410,3413,3416,3419,3422,3425,3436,3439,3450,3453,3456,3459,3475,3478,3499,3502,3519,3522,3537,3540,3543,3546,3549,3552,3555,3558,3561,3564,3567,3570,3573,3576,3579,3582,3585,3599,3602,3618,3621,3624,3627,3630,3633,3636,3641,3646,3651,3656,3661,3666,3671],{"id":215,"data":2958,"type":218,"tunes":2959},{"text":217},{},{"id":221,"data":2961,"type":226,"tunes":2962},{"body":223,"title":224,"variant":225},{},{"id":229,"data":2964,"type":226,"tunes":2965},{"body":231,"title":232,"variant":233},{},{"id":236,"data":2967,"type":226,"tunes":2968},{"body":238,"title":239,"variant":233},{},{"id":242,"data":2970,"type":226,"tunes":2971},{"body":244,"title":245,"variant":246},{},{"id":249,"data":2973,"type":254,"tunes":2974},{"title":251,"maxLevel":252,"minLevel":253},{},{"id":257,"data":2976,"type":42,"tunes":2977},{"text":259,"level":253},{},{"id":262,"data":2979,"type":218,"tunes":2980},{"text":264},{},{"id":267,"data":2982,"type":218,"tunes":2983},{"text":269},{},{"id":272,"data":2985,"type":218,"tunes":2986},{"text":274},{},{"id":277,"data":2988,"type":42,"tunes":2989},{"text":279,"level":253},{},{"id":282,"data":2991,"type":218,"tunes":2992},{"text":284},{},{"id":287,"data":2994,"type":218,"tunes":2995},{"text":289},{},{"id":292,"data":2997,"type":218,"tunes":2998},{"text":294},{},{"id":297,"data":3000,"type":218,"tunes":3001},{"text":299},{},{"id":302,"data":3003,"type":331,"tunes":3013},{"steps":3004,"title":329,"orientation":330},[3005,3006,3007,3008,3009,3010,3011,3012],{"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":3015,"type":42,"tunes":3016},{"text":336,"level":253},{},{"id":339,"data":3018,"type":218,"tunes":3019},{"text":341},{},{"id":344,"data":3021,"type":218,"tunes":3022},{"text":346},{},{"id":349,"data":3024,"type":218,"tunes":3025},{"text":351},{},{"id":354,"data":3027,"type":42,"tunes":3028},{"text":356,"level":253},{},{"id":359,"data":3030,"type":394,"tunes":3040},{"content":3031,"stretched":43,"withHeadings":14},[3032,3033,3034,3035,3036,3037,3038,3039],[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":3042,"type":218,"tunes":3043},{"text":399},{},{"id":402,"data":3045,"type":218,"tunes":3046},{"text":404},{},{"id":407,"data":3048,"type":42,"tunes":3049},{"text":409,"level":253},{},{"id":412,"data":3051,"type":444,"tunes":3066},{"rows":3052,"title":436,"layout":394,"columns":3063},[3053,3055,3057,3059,3061],{"id":416,"label":417,"values":3054},[419,419],{"id":421,"label":422,"values":3056},[419,419],{"id":425,"label":426,"values":3058},[419,419],{"id":429,"label":430,"values":3060},[419,419],{"id":433,"label":434,"values":3062},[419,419],[3064,3065],{"id":439,"label":440},{"id":442,"label":443},{},{"id":447,"data":3068,"type":226,"tunes":3069},{"body":449,"title":450,"variant":451},{},{"id":454,"data":3071,"type":42,"tunes":3072},{"text":456,"level":253},{},{"id":459,"data":3074,"type":394,"tunes":3087},{"content":3075,"stretched":43,"withHeadings":14},[3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086],[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":3089,"type":218,"tunes":3090},{"text":499},{},{"id":502,"data":3092,"type":218,"tunes":3093},{"text":504},{},{"id":507,"data":3095,"type":42,"tunes":3096},{"text":509,"level":253},{},{"id":512,"data":3098,"type":218,"tunes":3099},{"text":514},{},{"id":517,"data":3101,"type":218,"tunes":3102},{"text":519},{},{"id":522,"data":3104,"type":218,"tunes":3105},{"text":524},{},{"id":527,"data":3107,"type":42,"tunes":3108},{"text":529,"level":253},{},{"id":532,"data":3110,"type":218,"tunes":3111},{"text":534},{},{"id":537,"data":3113,"type":218,"tunes":3114},{"text":539},{},{"id":542,"data":3116,"type":218,"tunes":3117},{"text":544},{},{"id":547,"data":3119,"type":42,"tunes":3120},{"text":549,"level":253},{},{"id":552,"data":3122,"type":218,"tunes":3123},{"text":554},{},{"id":557,"data":3125,"type":218,"tunes":3126},{"text":559},{},{"id":562,"data":3128,"type":218,"tunes":3129},{"text":564},{},{"id":567,"data":3131,"type":42,"tunes":3132},{"text":569,"level":253},{},{"id":572,"data":3134,"type":394,"tunes":3147},{"content":3135,"stretched":43,"withHeadings":14},[3136,3137,3138,3139,3140,3141,3142,3143,3144,3145,3146],[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":3149,"type":42,"tunes":3150},{"text":612,"level":253},{},{"id":615,"data":3152,"type":218,"tunes":3153},{"text":617},{},{"id":620,"data":3155,"type":218,"tunes":3156},{"text":622},{},{"id":625,"data":3158,"type":218,"tunes":3159},{"text":627},{},{"id":630,"data":3161,"type":42,"tunes":3162},{"text":632,"level":253},{},{"id":635,"data":3164,"type":218,"tunes":3165},{"text":637},{},{"id":640,"data":3167,"type":218,"tunes":3168},{"text":642},{},{"id":645,"data":3170,"type":218,"tunes":3171},{"text":647},{},{"id":650,"data":3173,"type":218,"tunes":3174},{"text":652},{},{"id":655,"data":3176,"type":661,"tunes":3177},{"url":657,"title":658,"excerpt":659,"ctaLabel":660},{},{"id":664,"data":3179,"type":42,"tunes":3180},{"text":666,"level":253},{},{"id":669,"data":3182,"type":218,"tunes":3183},{"text":671},{},{"id":674,"data":3185,"type":218,"tunes":3186},{"text":676},{},{"id":679,"data":3188,"type":218,"tunes":3189},{"text":681},{},{"id":684,"data":3191,"type":42,"tunes":3192},{"text":686,"level":253},{},{"id":689,"data":3194,"type":218,"tunes":3195},{"text":691},{},{"id":694,"data":3197,"type":218,"tunes":3198},{"text":696},{},{"id":699,"data":3200,"type":218,"tunes":3201},{"text":701},{},{"id":704,"data":3203,"type":42,"tunes":3204},{"text":706,"level":253},{},{"id":709,"data":3206,"type":218,"tunes":3207},{"text":711},{},{"id":714,"data":3209,"type":218,"tunes":3210},{"text":716},{},{"id":719,"data":3212,"type":218,"tunes":3213},{"text":721},{},{"id":724,"data":3215,"type":42,"tunes":3216},{"text":726,"level":253},{},{"id":729,"data":3218,"type":218,"tunes":3219},{"text":731},{},{"id":734,"data":3221,"type":218,"tunes":3222},{"text":736},{},{"id":739,"data":3224,"type":218,"tunes":3225},{"text":741},{},{"id":744,"data":3227,"type":42,"tunes":3228},{"text":746,"level":253},{},{"id":749,"data":3230,"type":218,"tunes":3231},{"text":751},{},{"id":754,"data":3233,"type":218,"tunes":3234},{"text":756},{},{"id":759,"data":3236,"type":218,"tunes":3237},{"text":761},{},{"id":764,"data":3239,"type":42,"tunes":3240},{"text":766,"level":253},{},{"id":769,"data":3242,"type":218,"tunes":3243},{"text":771},{},{"id":774,"data":3245,"type":218,"tunes":3246},{"text":776},{},{"id":779,"data":3248,"type":218,"tunes":3249},{"text":781},{},{"id":784,"data":3251,"type":42,"tunes":3252},{"text":786,"level":253},{},{"id":789,"data":3254,"type":331,"tunes":3264},{"steps":3255,"title":816,"orientation":330},[3256,3257,3258,3259,3260,3261,3262,3263],{"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":3266,"type":42,"tunes":3267},{"text":821,"level":253},{},{"id":824,"data":3269,"type":218,"tunes":3270},{"text":826},{},{"id":829,"data":3272,"type":218,"tunes":3273},{"text":831},{},{"id":834,"data":3275,"type":218,"tunes":3276},{"text":836},{},{"id":839,"data":3278,"type":42,"tunes":3279},{"text":841,"level":253},{},{"id":844,"data":3281,"type":218,"tunes":3282},{"text":846},{},{"id":849,"data":3284,"type":218,"tunes":3285},{"text":851},{},{"id":854,"data":3287,"type":218,"tunes":3288},{"text":856},{},{"id":859,"data":3290,"type":42,"tunes":3291},{"text":861,"level":253},{},{"id":864,"data":3293,"type":218,"tunes":3294},{"text":866},{},{"id":869,"data":3296,"type":218,"tunes":3297},{"text":871},{},{"id":874,"data":3299,"type":218,"tunes":3300},{"text":876},{},{"id":879,"data":3302,"type":42,"tunes":3303},{"text":881,"level":253},{},{"id":884,"data":3305,"type":226,"tunes":3306},{"body":886,"title":887,"variant":246},{},{"id":890,"data":3308,"type":394,"tunes":3321},{"content":3309,"stretched":43,"withHeadings":14},[3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320],[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":3323,"type":42,"tunes":3324},{"text":930,"level":253},{},{"id":933,"data":3326,"type":218,"tunes":3327},{"text":935},{},{"id":938,"data":3329,"type":218,"tunes":3330},{"text":940},{},{"id":943,"data":3332,"type":218,"tunes":3333},{"text":945},{},{"id":948,"data":3335,"type":42,"tunes":3336},{"text":950,"level":253},{},{"id":953,"data":3338,"type":394,"tunes":3353},{"content":3339,"stretched":43,"withHeadings":14},[3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352],[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":3355,"type":42,"tunes":3356},{"text":999,"level":253},{},{"id":1002,"data":3358,"type":218,"tunes":3359},{"text":1004},{},{"id":1007,"data":3361,"type":218,"tunes":3362},{"text":1009},{},{"id":1012,"data":3364,"type":218,"tunes":3365},{"text":1014},{},{"id":1017,"data":3367,"type":42,"tunes":3368},{"text":1019,"level":253},{},{"id":1022,"data":3370,"type":394,"tunes":3385},{"content":3371,"stretched":43,"withHeadings":14},[3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384],[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":3387,"type":42,"tunes":3388},{"text":1067,"level":253},{},{"id":1070,"data":3390,"type":218,"tunes":3391},{"text":1072},{},{"id":1075,"data":3393,"type":218,"tunes":3394},{"text":1077},{},{"id":1080,"data":3396,"type":218,"tunes":3397},{"text":1082},{},{"id":1085,"data":3399,"type":42,"tunes":3400},{"text":1087,"level":253},{},{"id":1090,"data":3402,"type":218,"tunes":3403},{"text":1092},{},{"id":1095,"data":3405,"type":218,"tunes":3406},{"text":1097},{},{"id":1100,"data":3408,"type":218,"tunes":3409},{"text":1102},{},{"id":1105,"data":3411,"type":42,"tunes":3412},{"text":1107,"level":253},{},{"id":1110,"data":3414,"type":226,"tunes":3415},{"body":1112,"title":1113,"variant":246},{},{"id":1116,"data":3417,"type":218,"tunes":3418},{"text":1118},{},{"id":1121,"data":3420,"type":218,"tunes":3421},{"text":1123},{},{"id":1126,"data":3423,"type":218,"tunes":3424},{"text":1128},{},{"id":1131,"data":3426,"type":394,"tunes":3435},{"content":3427,"stretched":43,"withHeadings":14},[3428,3429,3430,3431,3432,3433,3434],[1135,1136],[1138,1139],[1141,1142],[1144,1145],[1147,1148],[1150,1151],[1153,1154],{},{"id":1157,"data":3437,"type":42,"tunes":3438},{"text":1159,"level":253},{},{"id":1162,"data":3440,"type":394,"tunes":3449},{"content":3441,"stretched":43,"withHeadings":14},[3442,3443,3444,3445,3446,3447,3448],[1166,1167],[1169,1170],[1172,1173],[1175,1176],[1178,1179],[1181,1182],[1184,1185],{},{"id":1188,"data":3451,"type":218,"tunes":3452},{"text":1190},{},{"id":1193,"data":3454,"type":218,"tunes":3455},{"text":1195},{},{"id":1198,"data":3457,"type":42,"tunes":3458},{"text":1200,"level":253},{},{"id":1203,"data":3460,"type":331,"tunes":3474},{"steps":3461,"title":1242,"orientation":330},[3462,3463,3464,3465,3466,3467,3468,3469,3470,3471,3472,3473],{"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":3476,"type":42,"tunes":3477},{"text":1247,"level":253},{},{"id":1250,"data":3479,"type":394,"tunes":3498},{"content":3480,"stretched":43,"withHeadings":14},[3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497],[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":3500,"type":42,"tunes":3501},{"text":1308,"level":253},{},{"id":1311,"data":3503,"type":394,"tunes":3518},{"content":3504,"stretched":43,"withHeadings":14},[3505,3506,3507,3508,3509,3510,3511,3512,3513,3514,3515,3516,3517],[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":3520,"type":42,"tunes":3521},{"text":1357,"level":253},{},{"id":1360,"data":3523,"type":394,"tunes":3536},{"content":3524,"stretched":43,"withHeadings":14},[3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535],[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":3538,"type":42,"tunes":3539},{"text":1400,"level":253},{},{"id":1403,"data":3541,"type":218,"tunes":3542},{"text":1405},{},{"id":1408,"data":3544,"type":218,"tunes":3545},{"text":1410},{},{"id":1413,"data":3547,"type":218,"tunes":3548},{"text":1415},{},{"id":1418,"data":3550,"type":218,"tunes":3551},{"text":1420},{},{"id":1423,"data":3553,"type":218,"tunes":3554},{"text":1425},{},{"id":1428,"data":3556,"type":42,"tunes":3557},{"text":1430,"level":253},{},{"id":1433,"data":3559,"type":218,"tunes":3560},{"text":1435},{},{"id":1438,"data":3562,"type":218,"tunes":3563},{"text":1440},{},{"id":1443,"data":3565,"type":218,"tunes":3566},{"text":1445},{},{"id":1448,"data":3568,"type":42,"tunes":3569},{"text":1450,"level":253},{},{"id":1453,"data":3571,"type":218,"tunes":3572},{"text":1455},{},{"id":1458,"data":3574,"type":218,"tunes":3575},{"text":1460},{},{"id":1463,"data":3577,"type":218,"tunes":3578},{"text":1465},{},{"id":1468,"data":3580,"type":661,"tunes":3581},{"url":1470,"title":1471,"excerpt":1472,"ctaLabel":1473},{},{"id":1476,"data":3583,"type":42,"tunes":3584},{"text":1478,"level":253},{},{"id":1481,"data":3586,"type":1481,"tunes":3598},{"items":3587,"title":1524},[3588,3589,3590,3591,3592,3593,3594,3595,3596,3597],{"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":3600,"type":42,"tunes":3601},{"text":1529,"level":253},{},{"id":1532,"data":3603,"type":1532,"tunes":3617},{"title":1534,"entries":3604},[3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616],{"term":1537,"anchor":1538,"definition":1539},{"term":387,"anchor":1541,"definition":1542},{"term":375,"anchor":1544,"definition":1545},{"term":371,"anchor":1547,"definition":1548},{"term":367,"anchor":1550,"definition":1551},{"term":1553,"anchor":1554,"definition":1555},{"term":1557,"anchor":1558,"definition":1559},{"term":1561,"anchor":1562,"definition":1563},{"term":1565,"anchor":1566,"definition":1567},{"term":1569,"anchor":1570,"definition":1571},{"term":1573,"anchor":1574,"definition":1575},{"term":1577,"anchor":1578,"definition":1579},{},{"id":1582,"data":3619,"type":42,"tunes":3620},{"text":1584,"level":253},{},{"id":1587,"data":3622,"type":218,"tunes":3623},{"text":1589},{},{"id":1592,"data":3625,"type":218,"tunes":3626},{"text":1594},{},{"id":1597,"data":3628,"type":218,"tunes":3629},{"text":1599},{},{"id":1602,"data":3631,"type":42,"tunes":3632},{"text":1604,"level":253},{},{"id":1607,"data":3634,"type":218,"tunes":3635},{"text":1609},{},{"id":1612,"data":3637,"type":1619,"tunes":3640},{"link":1614,"meta":3638},{"image":3639,"title":1617,"description":1618},{"url":419},{},{"id":1622,"data":3642,"type":1619,"tunes":3645},{"link":1624,"meta":3643},{"image":3644,"title":1627,"description":1628},{"url":419},{},{"id":1631,"data":3647,"type":1619,"tunes":3650},{"link":1633,"meta":3648},{"image":3649,"title":1636,"description":1637},{"url":419},{},{"id":1640,"data":3652,"type":1619,"tunes":3655},{"link":1642,"meta":3653},{"image":3654,"title":1645,"description":1646},{"url":419},{},{"id":1649,"data":3657,"type":1619,"tunes":3660},{"link":1651,"meta":3658},{"image":3659,"title":1654,"description":1655},{"url":419},{},{"id":1658,"data":3662,"type":1619,"tunes":3665},{"link":1660,"meta":3663},{"image":3664,"title":1663,"description":1664},{"url":419},{},{"id":1667,"data":3667,"type":1619,"tunes":3670},{"link":1669,"meta":3668},{"image":3669,"title":1672,"description":1673},{"url":419},{},{"id":1676,"data":3672,"type":1619,"tunes":3675},{"link":1678,"meta":3673},{"image":3674,"title":1681,"description":1682},{"url":419},{},"Post erfolgreich abgerufen",{"items":3678,"source":3762,"manualIds":3763,"manualMatchedIds":3764},[3679,3686,3692,3699,3706,3713,3720,3727,3734,3741,3748,3755],{"id":3680,"slug":3681,"title":3682,"excerpt":3683,"featuredImage":3684,"publishedAt":3685},"479","where-does-an-llm-get-its-data-rag-data-sources-in-python","Откуда LLM берёт данные? Источники данных RAG в Python","LLM не знает магическим образом о ваших файлах, базах данных или API. Это практическое продолжение серии о RAG показывает на простом Python, как внешние данные становятся извлекаемыми доказательствами: от текстовых файлов и SQL до полнотекстового поиска, эмбеддингов, сборки контекста и финального вызова 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":3687,"slug":3688,"title":658,"excerpt":3689,"featuredImage":3690,"publishedAt":3691},"478","what-is-rag-the-simplest-explanation-of-how-it-works","RAG звучит сложно, но идея проста: прежде чем ИИ ответит, он сначала находит полезную информацию из источника знаний и передаёт эту информацию языковой модели. В этом руководстве объясняются RAG, LLM, состояние, память и инструменты с помощью одной простой ментальной модели.","\u002Fuploads\u002F2026\u002F09\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works-1790377492124-khjagt.webp","2026-09-25T19:03:00.000Z",{"id":3693,"slug":3694,"title":3695,"excerpt":3696,"featuredImage":3697,"publishedAt":3698},"492","mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","MCP: объяснение — что он подключает, чего не делает и где ему место","Протокол контекста модели соединяет приложения ИИ с внешними инструментами, ресурсами и подсказками через стандартную границу клиент-сервер. Узнайте, что делает MCP, чего он не делает и где он вписывается в архитектуру агента.","\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":3700,"slug":3701,"title":3702,"excerpt":3703,"featuredImage":3704,"publishedAt":3705},"495","sovereign-ai-control-of-models-data-infrastructure-and-dependencies","Суверенный ИИ: контроль над моделями, данными, инфраструктурой и зависимостями","Суверенный ИИ — это эффективный контроль над моделями, данными, инфраструктурой, программным обеспечением, операциями и стратегическими зависимостями, а не просто место размещения модели ИИ.","\u002Fuploads\u002F2026\u002F10\u002Fsovereign-ai-control-of-models-data-infrastructure-and-dependencies-1791488833132-niy85x.webp","2026-10-08T15:45:00.000Z",{"id":3707,"slug":3708,"title":3709,"excerpt":3710,"featuredImage":3711,"publishedAt":3712},"486","source-of-truth-in-ai-systems-where-reliable-knowledge-actually-comes-from","Источник истины в системах ИИ: откуда на самом деле берутся надёжные знания","Источник истины определяет, какой источник является авторитетным для конкретного факта или состояния. Узнайте, чем он отличается от RAG, происхождения данных, памяти, контекста, векторных баз данных и систем учёта.","\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":3714,"slug":3715,"title":3716,"excerpt":3717,"featuredImage":3718,"publishedAt":3719},"484","what-is-an-ai-platform-architect-models-data-runtime-security-and-operations","Что такое архитектор AI-платформы? Модели, данные, среда выполнения, безопасность и операции","Архитектор платформы ИИ проектирует многоразовые основы ИИ для моделей, провайдеров, поиска, агентов, идентификации, безопасности, оценки, наблюдаемости и операций.","\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":3721,"slug":3722,"title":3723,"excerpt":3724,"featuredImage":3725,"publishedAt":3726},"476","mcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained","MCP vs A2A vs UCP vs AP2 vs A2UI: разбор стека протоколов агентов","MCP, A2A, UCP, AP2 и A2UI часто представляют как конкурирующие агентские стандарты. В основном они решают разные проблемы интероперабельности. Это руководство сопоставляет каждый протокол с границей, которую он фактически стандартизирует,—и показывает, как они могут работать вместе в одной промышленной системе.","\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":3728,"slug":3729,"title":3730,"excerpt":3731,"featuredImage":3732,"publishedAt":3733},"381","enterprise-grade-multi-tenant-architecture-for-an-international-platform","Мультитенантная архитектура корпоративного уровня для международной платформы","Loving Rocks является корпоративной свадебной платформой, разработанной с истинной многоарендной архитектурой, изолированными базами данных для каждого арендатора и встроенной интернационализацией для глобальной масштабируемости, безопасности и долгосрочной операционной стабильности.","\u002Fuploads\u002F2026\u002F01\u002Fenterprise-grade-multi-tenant-architecture-for-an-international-platform-1769789121298-b6v7ak.webp","2026-01-30T12:04:00.000Z",{"id":3735,"slug":3736,"title":3737,"excerpt":3738,"featuredImage":3739,"publishedAt":3740},"487","vector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","Векторные базы данных, эмбеддинги и переранжирование: три разные части поиска","Эмбеддинги представляют смысл, векторные базы данных извлекают кандидатов, а реранкеры уточняют результаты. Узнайте, чем отличаются эти три слоя поиска и как они работают вместе в RAG.","\u002Fuploads\u002F2026\u002F10\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval-1791480129884-9dtasz.webp","2026-10-08T11:21:00.000Z",{"id":3742,"slug":3743,"title":3744,"excerpt":3745,"featuredImage":3746,"publishedAt":3747},"467","the-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers","Граница достоверности ответа: недостающий слой между релевантностью и надёжными ответами ИИ","Источник может быть релевантным, авторитетным и при этом неверным для задаваемого вопроса. Недостающий слой — применимость: условия, при которых ответ остаётся в силе, и изменения, вынуждающие пересмотреть его. В этой статье вводится понятие «Граница действительности ответа» как паттерн проектирования источников для людей, ИИ-поиска и RAG-систем.","\u002Fuploads\u002F2026\u002F09\u002Fthe-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers-1790272901306-1g5jly.webp","2026-09-24T11:59:00.000Z",{"id":3749,"slug":3750,"title":3751,"excerpt":3752,"featuredImage":3753,"publishedAt":3754},"480","when-should-an-ai-stop-trusting-its-own-knowledge-the-retrieval-trigger","Когда ИИ должен перестать доверять собственным знаниям? — Триггер извлечения","Модель ИИ не нуждается в поиске для каждого вопроса. Важная проблема — знать, когда её внутренних знаний уже недостаточно. Триггер поиска — это практическая граница принятия решений, которая определяет, когда система ИИ должна перестать полагаться исключительно на знания модели и получить внешние доказательства перед ответом.","\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":3756,"slug":3757,"title":3758,"excerpt":3759,"featuredImage":3760,"publishedAt":3761},"485","enterprise-ai-architecture-what-changes-when-ai-enters-a-company","Архитектура ИИ на предприятии: что меняется, когда ИИ приходит в компанию","Архитектура ИИ для предприятий объясняет, как ИИ меняет корпоративные системы в таких областях, как полномочия на данные, идентификация, разрешения, поставщики, риски, управление, оценка, соответствие требованиям и операции.","\u002Fuploads\u002F2026\u002F10\u002Fenterprise-ai-architecture-what-changes-when-ai-enters-a-company-1791478161363-czrwaq.webp","2026-10-08T10:48:00.000Z","fallback",[],[]]