Air-gapped operations with no egress, signed bundles, one-way log transfer, and forbidden operations. Runbook flowchart and security rules.
OfflineOperations defines the rules and procedures for running EMEP in an air-gapped environment. This page specifies the no-egress policy, signed bundle ingestion, dataset transfer, monitoring constraints, and the list of forbidden operations.
Air-gapped environments permit no outbound network connections. All data entering the environment must pass through a controlled one-way transfer mechanism. Model weights, inference outputs, training checkpoints, and experiment metadata must never leave the air-gap.
System logs and aggregated metrics may exit the air-gap through a one-way transfer mechanism. The transfer is unidirectional and physically enforced. Logs are sanitized to remove model weights, inference content, and user prompts before transfer.
Monitoring runs entirely inside the air-gap. Observability collects metrics from InferenceBackend, GPU Health, and Monitoring. Alerting is internal only. External paging integration is not available in air-gapped mode.
The following operations are prohibited in all air-gapped environments:
Outbound network connections from any host
USB or removable media write operations except by authorized transfer station
Unverified code execution outside the signed bundle manifest
Model weight export in any format
Inference output storage on transferable media
Remote shell or tunneling tools
Automatic update checks to external repositories
Violation of any forbidden operation triggers an immediate security lockdown and incident response. The lockdown isolates the affected host and preserves forensic state.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"EMEP","colors":{"primary":"#7C3AED","light":"#A78BFA","dark":"#5B21B6"},"appearance":{"strict":false},"background":{"decoration":"gradient","color":{"light":"#fafdfd","dark":"#0f1214"}},"seo":{"indexing":"all"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"interaction":{"drilldown":true},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ping-47788c6e","hasAudioNarration":false,"actualSubdomain":"ping-47788c6e","customDomains":["doc.blueapi.ir"],"gitSource":{"type":"github","owner":"sarmadaf24","repo":"evolutionarymodellplatform","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6a9d914c7dbaaddea3035369","collectionId":"c7cc67f8-369f-45fc-a29a-15a691f103b0","liveDeploymentHistoryId":"6a9d914c7dbaaddea3035369","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a9d914c7dbaaddea3035369","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Interfaces \u0026 Governance","count":32},{"language":"default","tag":"Deployment \u0026 Ops","count":24},{"language":"default","tag":"Evolution \u0026 Evaluation","count":24},{"language":"default","tag":"Model Pipeline","count":20},{"language":"default","tag":"Platform","count":14},{"language":"default","tag":"Architecture","count":11},{"language":"default","tag":"Phases","count":10},{"language":"default","tag":"Testing","count":9},{"language":"default","tag":"Tracking \u0026 Reproducibility","count":9},{"language":"default","tag":"Evolution Engine","count":8}],"searchSettings":{"maxResults":7}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"enterprise/offline-operations","slug":"/enterprise/offline-operations","pageMetadata":{"title":"Offline Operations: Air-Gapped Environment Runbook","sidebarTitle":"Offline Operations","description":"Air-gapped operations with no egress, signed bundles, one-way log transfer, and forbidden operations. Runbook flowchart and security rules.","href":"/enterprise/offline-operations"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Air-gapped operations with no egress, signed bundles, one-way log transfer, and forbidden operations. Runbook flowchart and security rules.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,ol:`ol`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Mermaid,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`OfflineOperations defines the rules and procedures for running EMEP in an air-gapped environment. This page specifies the no-egress policy, signed bundle ingestion, dataset transfer, monitoring constraints, and the list of forbidden operations.`}),`\n`,_jsx(Heading,{level:`2`,id:`no-egress-policy`,children:`No Egress Policy`}),`\n`,_jsx(_components.p,{children:`Air-gapped environments permit no outbound network connections. All data entering the environment must pass through a controlled one-way transfer mechanism. Model weights, inference outputs, training checkpoints, and experiment metadata must never leave the air-gap.`}),`\n`,_jsx(Heading,{level:`2`,id:`signed-bundle-ingestion`,children:`Signed Bundle Ingestion`}),`\n`,_jsx(_components.p,{children:`All incoming bundles are verified before import.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Signature validation against the pre-installed public key`}),`\n`,_jsx(_components.li,{children:`Manifest hash verification for every file`}),`\n`,_jsx(_components.li,{children:`Dependency bundle completeness check`}),`\n`,_jsx(_components.li,{children:`SBOM audit against the approved dependency list`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Bundles that fail any check are quarantined and flagged for security review.`}),`\n`,_jsx(Heading,{level:`2`,id:`dataset-transfer`,children:`Dataset Transfer`}),`\n`,_jsx(_components.p,{children:`Datasets enter the air-gap as signed, read-only bundles. The bundle contains:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Dataset files with per-file hashes`}),`\n`,_jsx(_components.li,{children:`License and provenance metadata`}),`\n`,_jsxs(_components.li,{children:[`Processing script references from `,_jsx(_components.a,{href:`/tracking/dataset-registry`,children:`DatasetRegistry`})]}),`\n`,_jsx(_components.li,{children:`Usage restrictions if applicable`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Datasets are imported into `,_jsx(_components.a,{href:`/tracking/dataset-registry`,children:`DatasetRegistry`}),` and tagged as OFFLINE. They cannot be modified after import.`]}),`\n`,_jsx(Heading,{level:`2`,id:`log-egress-via-one-way-transfer`,children:`Log Egress via One-Way Transfer`}),`\n`,_jsx(_components.p,{children:`System logs and aggregated metrics may exit the air-gap through a one-way transfer mechanism. The transfer is unidirectional and physically enforced. Logs are sanitized to remove model weights, inference content, and user prompts before transfer.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Log Type`}),_jsx(_components.th,{children:`Sanitization`}),_jsx(_components.th,{children:`Transfer Frequency`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`System metrics`}),_jsx(_components.td,{children:`Aggregate only`}),_jsx(_components.td,{children:`Hourly`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Error logs`}),_jsx(_components.td,{children:`Stack traces only; no data`}),_jsx(_components.td,{children:`Daily`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Audit logs`}),_jsx(_components.td,{children:`Anonymized IDs`}),_jsx(_components.td,{children:`Daily`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`monitoring-in-air-gap`,children:`Monitoring in Air-Gap`}),`\n`,_jsxs(_components.p,{children:[`Monitoring runs entirely inside the air-gap. `,_jsx(_components.a,{href:`/architecture/observability`,children:`Observability`}),` collects metrics from `,_jsx(_components.a,{href:`/deployment/inference`,children:`InferenceBackend`}),`, `,_jsx(_components.a,{href:`/operations/gpu-health`,children:`GPU Health`}),`, and `,_jsx(_components.a,{href:`/operations/monitoring`,children:`Monitoring`}),`. Alerting is internal only. External paging integration is not available in air-gapped mode.`]}),`\n`,_jsx(Heading,{level:`2`,id:`runbook-flowchart`,children:`Runbook Flowchart`}),`\n`,_jsx(_components.p,{children:`The flowchart below shows the standard operational runbook for an air-gapped deployment.`}),`\n`,_jsx(Mermaid,{chart:`flowchart TD\n START([START]) --> CHECK[Check: Alert or Scheduled Task]\n CHECK --> TYPE{Task Type?}\n TYPE -->|Model Update| UPDATE[Follow Model Update Protocol]\n TYPE -->|Dataset Import| DATASET[Verify + Import Signed Dataset Bundle]\n TYPE -->|Log Export| LOG[Sanitize + One-Way Transfer]\n TYPE -->|Incident| INCIDENT[Follow Disaster Recovery Runbook]\n UPDATE --> VERIFY[Verify Integrity]\n DATASET --> VERIFY\n VERIFY --> PASS{Pass?}\n PASS -->|YES| COMPLETE[Complete + Record]\n PASS -->|NO| QUARANTINE[Quarantine + Escalate]\n LOG --> COMPLETE\n INCIDENT --> COMPLETE\n COMPLETE --> END_PASS([END])\n QUARANTINE --> END_FAIL([END: ESCALATED])`}),`\n`,_jsx(Heading,{level:`2`,id:`forbidden-operations`,children:`Forbidden Operations`}),`\n`,_jsx(_components.p,{children:`The following operations are prohibited in all air-gapped environments:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Outbound network connections from any host`}),`\n`,_jsx(_components.li,{children:`USB or removable media write operations except by authorized transfer station`}),`\n`,_jsx(_components.li,{children:`Unverified code execution outside the signed bundle manifest`}),`\n`,_jsx(_components.li,{children:`Model weight export in any format`}),`\n`,_jsx(_components.li,{children:`Inference output storage on transferable media`}),`\n`,_jsx(_components.li,{children:`Remote shell or tunneling tools`}),`\n`,_jsx(_components.li,{children:`Automatic update checks to external repositories`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Violation of any forbidden operation triggers an immediate security lockdown and incident response. The lockdown isolates the affected host and preserves forensic state.`})}),`\n`,_jsx(Heading,{level:`2`,id:`integration`,children:`Integration`}),`\n`,_jsxs(_components.p,{children:[`OfflineOperations is enforced by `,_jsx(_components.a,{href:`/security/security-requirements`,children:`Security Requirements`}),` and `,_jsx(_components.a,{href:`/security/offline-security`,children:`Offline Security`}),`. Model updates follow `,_jsx(_components.a,{href:`/enterprise/model-update-protocol`,children:`Model Update Protocol`}),`. Rollbacks follow `,_jsx(_components.a,{href:`/enterprise/model-rollback`,children:`Model Rollback`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Offline Operations: Air-Gapped Environment Runbook","sidebarTitle":"Offline Operations","description":"Air-gapped operations with no egress, signed bundles, one-way log transfer, and forbidden operations. Runbook flowchart and security rules.","href":"/enterprise/offline-operations"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"No Egress Policy","slug":"no-egress-policy","depth":2,"children":[]},{"title":"Signed Bundle Ingestion","slug":"signed-bundle-ingestion","depth":2,"children":[]},{"title":"Dataset Transfer","slug":"dataset-transfer","depth":2,"children":[]},{"title":"Log Egress via One-Way Transfer","slug":"log-egress-via-one-way-transfer","depth":2,"children":[]},{"title":"Monitoring in Air-Gap","slug":"monitoring-in-air-gap","depth":2,"children":[]},{"title":"Runbook Flowchart","slug":"runbook-flowchart","depth":2,"children":[]},{"title":"Forbidden Operations","slug":"forbidden-operations","depth":2,"children":[]},{"title":"Integration","slug":"integration","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"ping-47788c6e","siteName":"EMEP","title":"Offline Operations: Air-Gapped Environment Runbook - EMEP","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-06T12:16:45.359Z","originalFileLocation":"enterprise/offline-operations.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Air-gapped operations with no egress, signed bundles, one-way log transfer, and forbidden operations. Runbook flowchart and security rules.\">\u003cmeta data-mint-head name=\"application-name\" content=\"EMEP\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/ping-47788c6e/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/ping-47788c6e/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/ping-47788c6e/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/ping-47788c6e/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Offline Operations: Air-Gapped Environment Runbook - EMEP\">\u003cmeta data-mint-head property=\"og:description\" content=\"Air-gapped operations with no egress, signed bundles, one-way log transfer, and forbidden operations. Runbook flowchart and security rules.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"EMEP\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://doc.blueapi.ir/enterprise/offline-operations\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ping-47788c6e.mintlify.app/_mintlify/api/og/v2?division=Enterprise+Offline\u0026amp;title=Offline+Operations%3A+Air-Gapped+Environment+Runbook\u0026amp;description=Air-gapped+operations+with+no+egress%2C+signed+bundles%2C+one-way+log+transfer%2C+and+forbidden+operations.+Runbook+flowchart+and+security+rules.\u0026amp;theme=074c708ff2f145909468e7e3\u0026amp;signature=99a244ca398c668a77e71cab7829cea871054a792b06fc5acc63682ef63b9ad8\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Offline Operations: Air-Gapped Environment Runbook - EMEP\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Air-gapped operations with no egress, signed bundles, one-way log transfer, and forbidden operations. Runbook flowchart and security rules.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ping-47788c6e.mintlify.app/_mintlify/api/og/v2?division=Enterprise+Offline\u0026amp;title=Offline+Operations%3A+Air-Gapped+Environment+Runbook\u0026amp;description=Air-gapped+operations+with+no+egress%2C+signed+bundles%2C+one-way+log+transfer%2C+and+forbidden+operations.+Runbook+flowchart+and+security+rules.\u0026amp;theme=074c708ff2f145909468e7e3\u0026amp;signature=99a244ca398c668a77e71cab7829cea871054a792b06fc5acc63682ef63b9ad8\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/ping-47788c6e/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"EMEP\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7C3AED\">\u003clink data-mint-head rel=\"canonical\" href=\"https://doc.blueapi.ir/enterprise/offline-operations\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/enterprise/offline-operations.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://doc.blueapi.ir/#organization\",\"name\":\"EMEP\",\"url\":\"https://doc.blueapi.ir\"},{\"@type\":\"WebSite\",\"@id\":\"https://doc.blueapi.ir#website\",\"name\":\"EMEP\",\"url\":\"https://doc.blueapi.ir\",\"publisher\":{\"@id\":\"https://doc.blueapi.ir/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://doc.blueapi.ir/enterprise/offline-operations#webpage\",\"url\":\"https://doc.blueapi.ir/enterprise/offline-operations\",\"name\":\"Offline Operations: Air-Gapped Environment Runbook\",\"description\":\"Air-gapped operations with no egress, signed bundles, one-way log transfer, and forbidden operations. Runbook flowchart and security rules.\",\"dateModified\":\"2026-09-06T12:16:45.359Z\",\"isPartOf\":{\"@id\":\"https://doc.blueapi.ir#website\"},\"breadcrumb\":{\"@id\":\"https://doc.blueapi.ir/enterprise/offline-operations#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://doc.blueapi.ir/enterprise/offline-operations#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Enterprise Offline\",\"item\":\"https://doc.blueapi.ir/enterprise/enterprise-model\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Offline Operations: Air-Gapped Environment Runbook\",\"item\":\"https://doc.blueapi.ir/enterprise/offline-operations\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://doc.blueapi.ir/enterprise/offline-operations#article\",\"headline\":\"Offline Operations: Air-Gapped Environment Runbook\",\"name\":\"Offline Operations: Air-Gapped Environment Runbook\",\"description\":\"Air-gapped operations with no egress, signed bundles, one-way log transfer, and forbidden operations. Runbook flowchart and security rules.\",\"url\":\"https://doc.blueapi.ir/enterprise/offline-operations\",\"mainEntityOfPage\":{\"@id\":\"https://doc.blueapi.ir/enterprise/offline-operations#webpage\"},\"dateModified\":\"2026-09-06T12:16:45.359Z\",\"publisher\":{\"@id\":\"https://doc.blueapi.ir/#organization\"},\"isPartOf\":{\"@id\":\"https://doc.blueapi.ir#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"EMEP\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"EMEP","nav":{"global":null,"tabs":[{"tab":"Platform","pages":[{"title":"Platform","href":""}]},{"tab":"Architecture","pages":[{"title":"Architecture","href":"/architecture/system-architecture"}]},{"tab":"Model Pipeline","pages":[{"title":"Model Pipeline","href":"/compatibility/model-compatibility"}]},{"tab":"Evolution \u0026 Evaluation","pages":[{"title":"Evolution \u0026 Evaluation","href":"/evolution/evolution-engine"}]},{"tab":"Deployment \u0026 Ops","groups":[{"group":"Quantization \u0026 Inference","pages":[{"title":"Quantization Engine: Precision Reduction for Inference","sidebarTitle":"Quantization","href":"/deployment/quantization"},{"title":"Inference Backend: Serving Engine Selection","sidebarTitle":"Inference","href":"/deployment/inference"},{"title":"Deployment Manager: Environment and Strategy Specification","sidebarTitle":"Deployment Manager","href":"/deployment/deployment-specification"},{"title":"Offline Deployment: Air-Gapped Transfer Protocol","sidebarTitle":"Offline Deployment","href":"/deployment/offline-deployment"},{"title":"Performance Validation: Latency and Throughput Gates","sidebarTitle":"Performance Validation","href":"/deployment/performance-validation"}]},{"group":"Enterprise Offline","pages":[{"title":"Enterprise Model: Versioning and Lineage Specification","sidebarTitle":"Enterprise Model","description":"Enterprise Model versioning rules, semantic versioning, lineage to research candidates, compatibility guarantees, and deprecation policy.","href":"/enterprise/enterprise-model"},{"title":"Offline Operations: Air-Gapped Environment Runbook","sidebarTitle":"Offline Operations","href":"/enterprise/offline-operations"},{"title":"Model Update Protocol: Controlled Upgrade Pipeline","sidebarTitle":"Model Update","description":"Controlled upgrade pipeline from current production version to the next. Evaluation, merge, validation, security review, and approval gates.","href":"/enterprise/model-update-protocol"},{"title":"Model Rollback: Regression Recovery Protocol","sidebarTitle":"Model Rollback","href":"/enterprise/model-rollback"},{"title":"Secure Model Packaging: Signed Release Manifest","sidebarTitle":"Secure Packaging","href":"/enterprise/secure-model-packaging"}]},{"group":"Optional RAG","pages":[{"title":"Optional RAG Architecture: Downstream Retrieval Pipeline","sidebarTitle":"RAG Architecture","href":"/rag/optional-rag-architecture"}]},{"group":"Security \u0026 Supply Chain","pages":[{"title":"Model Supply Chain Security","sidebarTitle":"Supply Chain","href":"/security/model-supply-chain"},{"title":"License Compliance Matrix and Rules","sidebarTitle":"License Compliance","href":"/security/license-compliance"},{"title":"Security Requirements Specification","sidebarTitle":"Security Requirements","href":"/security/security-requirements"},{"title":"Artifact Signing and Key Hierarchy","sidebarTitle":"Artifact Signing","href":"/security/artifact-signing"},{"title":"Dependency Safety and SBOM Management","sidebarTitle":"Dependency Safety","href":"/security/dependency-safety"},{"title":"Air-Gapped and Offline Security Posture","sidebarTitle":"Offline Security","href":"/security/offline-security"}]},{"group":"Operations","pages":[{"title":"Operations Runbook: Startup, Shutdown, and Tasks","sidebarTitle":"Runbook","href":"/operations/runbook"},{"title":"Disaster Recovery Plan and Procedures","sidebarTitle":"Disaster Recovery","href":"/operations/disaster-recovery"},{"title":"Backup Strategy and Restore Procedures","sidebarTitle":"Backup Strategy","href":"/operations/backup-strategy"},{"title":"Monitoring Pipeline and Metrics Catalog","sidebarTitle":"Monitoring","href":"/operations/monitoring"},{"title":"Alert Catalog and Escalation Procedures","sidebarTitle":"Alerting","href":"/operations/alerting"},{"title":"GPU Health Monitoring and Remediation","sidebarTitle":"GPU Health","href":"/operations/gpu-health"},{"title":"Storage Operations: Cleanup, Retention, and Tiering","sidebarTitle":"Storage Operations","href":"/operations/storage-operations"}]}]},{"tab":"Interfaces \u0026 Governance","pages":[{"title":"Interfaces \u0026 Governance","href":"/interfaces/api-specification"}]}]},"basePath":"","title":"Offline Operations: Air-Gapped Environment Runbook - EMEP","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":[],"chunks":[]}