{
  "format": "agent-article-v0",
  "article_id": "EA-010",
  "canonical_url": "/tools/ea-010-edge-ai-on-device-edge-local-offline-air-gapped",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EVD-EA-010-URL-0D493B9FCB2E",
    "EVD-EA-010-URL-DECC1639E7D1",
    "EVD-EA-010-URL-A6832C2814E6",
    "EVD-EA-010-URL-C9B618C90420",
    "EVD-EA-010-URL-CB723A46C871",
    "EVD-EA-010-URL-E0D533A33585",
    "EVD-EA-010-URL-7F293D180425",
    "EVD-EA-010-URL-F06E28726452",
    "EVD-EA-010-URL-A21EFA7864AF",
    "EVD-EA-010-URL-22023F8093B4",
    "EVD-EA-010-URL-A2515CAA12D4",
    "EVD-EA-010-URL-7DBA10C8F34E",
    "EA-010-CURRENT-APPROVAL",
    "EA-010-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-010-UNKNOWN-01",
    "EA-010-UNKNOWN-02",
    "EA-010-UNKNOWN-03"
  ],
  "operational_object_ids": [],
  "provider": [
    "Google"
  ],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-11",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "V21-CANDIDATE-EA010-BASE-20261011-C2",
    "SRC-EA-010-URL-0D493B9FCB2E",
    "SRC-EA-010-URL-DECC1639E7D1",
    "SRC-EA-010-URL-A6832C2814E6",
    "SRC-EA-010-URL-C9B618C90420",
    "SRC-EA-010-URL-CB723A46C871",
    "SRC-EA-010-URL-E0D533A33585",
    "SRC-EA-010-URL-7F293D180425",
    "SRC-EA-010-URL-F06E28726452",
    "SRC-EA-010-URL-A21EFA7864AF",
    "SRC-EA-010-URL-22023F8093B4",
    "SRC-EA-010-URL-A2515CAA12D4",
    "SRC-EA-010-URL-7DBA10C8F34E",
    "BODY-SHA256:86056e8b146d3a05116a382350327c10aaead437fa45b7375d1939859aafc4ef"
  ],
  "article_sources": [
    {
      "id": "EVD-EA-010-URL-0D493B9FCB2E",
      "evidence_class": "RESEARCH",
      "title": "author/org: PyTorch / Linux Foundation ecosystem",
      "href": "https://docs.pytorch.org/executorch/stable/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-0D493B9FCB2E"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://docs.pytorch.org/executorch/stable/"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-010-URL-DECC1639E7D1",
      "evidence_class": "RESEARCH",
      "title": "author/org: Google",
      "href": "https://developers.google.com/edge/litert",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-DECC1639E7D1"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://developers.google.com/edge/litert"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-010-URL-A6832C2814E6",
      "evidence_class": "RESEARCH",
      "title": "author/org: Microsoft / ONNX Runtime project",
      "href": "https://onnxruntime.ai/inference",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-A6832C2814E6"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://onnxruntime.ai/inference"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-010-URL-C9B618C90420",
      "evidence_class": "RESEARCH",
      "title": "author/org: NVIDIA",
      "href": "https://developer.nvidia.com/embedded/jetpack",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-C9B618C90420"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://developer.nvidia.com/embedded/jetpack"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-010-URL-CB723A46C871",
      "evidence_class": "RESEARCH",
      "title": "author/org: NIST CSRC; source CNSSI 4009-2022 / IETF RFC 4949 Ver 2",
      "href": "https://csrc.nist.gov/glossary/term/air_gap",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-CB723A46C871"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://csrc.nist.gov/glossary/term/air_gap"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-010-URL-E0D533A33585",
      "evidence_class": "RESEARCH",
      "title": "author/org: MLCommons",
      "href": "https://mlcommons.org/benchmarks/inference-tiny/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-E0D533A33585"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://mlcommons.org/benchmarks/inference-tiny/"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-010-URL-7F293D180425",
      "evidence_class": "RESEARCH",
      "title": "https://developer.apple.com/documentation/coreml",
      "href": "https://developer.apple.com/documentation/coreml",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-7F293D180425"
      ],
      "supporting_locators": [
        "Current primary evidence",
        "- https://developer.apple.com/documentation/coreml"
      ],
      "scope": "Current primary evidence",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-010-URL-F06E28726452",
      "evidence_class": "RESEARCH",
      "title": "https://developer.apple.com/documentation/coreml/downloading-and-compiling-a-model-on-the-user-s-device",
      "href": "https://developer.apple.com/documentation/coreml/downloading-and-compiling-a-model-on-the-user-s-device",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-F06E28726452"
      ],
      "supporting_locators": [
        "Current primary evidence",
        "- https://developer.apple.com/documentation/coreml/downloading-and-compiling-a-model-on-the-user-s-device"
      ],
      "scope": "Current primary evidence",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-010-URL-A21EFA7864AF",
      "evidence_class": "RESEARCH",
      "title": "https://developer.apple.com/documentation/CoreAI/integrating-on-device-ai-models-in-your-app-with-core-ai",
      "href": "https://developer.apple.com/documentation/CoreAI/integrating-on-device-ai-models-in-your-app-with-core-ai",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-A21EFA7864AF"
      ],
      "supporting_locators": [
        "Current primary evidence",
        "- https://developer.apple.com/documentation/CoreAI/integrating-on-device-ai-models-in-your-app-with-core-ai"
      ],
      "scope": "Current primary evidence",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-010-URL-22023F8093B4",
      "evidence_class": "RESEARCH",
      "title": "https://developers.google.com/edge/litert/overview",
      "href": "https://developers.google.com/edge/litert/overview",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-22023F8093B4"
      ],
      "supporting_locators": [
        "Current primary evidence",
        "- https://developers.google.com/edge/litert/overview"
      ],
      "scope": "Current primary evidence",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-010-URL-A2515CAA12D4",
      "evidence_class": "RESEARCH",
      "title": "https://developers.google.com/edge/litert-lm/overview",
      "href": "https://developers.google.com/edge/litert-lm/overview",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-A2515CAA12D4"
      ],
      "supporting_locators": [
        "Current primary evidence",
        "- https://developers.google.com/edge/litert-lm/overview"
      ],
      "scope": "Current primary evidence",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-010-URL-7DBA10C8F34E",
      "evidence_class": "RESEARCH",
      "title": "https://onnxruntime.ai/docs/tutorials/iot-edge/",
      "href": "https://onnxruntime.ai/docs/tutorials/iot-edge/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-010-URL-7DBA10C8F34E"
      ],
      "supporting_locators": [
        "Current primary evidence",
        "- https://onnxruntime.ai/docs/tutorials/iot-edge/"
      ],
      "scope": "Current primary evidence",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EA-010-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "V21-CANDIDATE-EA010-BASE-20261011-C2"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ",
        "EA_REVISION_LEDGER!A392:U392",
        "EA-010-V21-LEGACY-MIGRATION-20261011-R1"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-010-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-12",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:86056e8b146d3a05116a382350327c10aaead437fa45b7375d1939859aafc4ef"
      ],
      "supporting_locators": [
        "content/staging/EA-010.md",
        "86056e8b146d3a05116a382350327c10aaead437fa45b7375d1939859aafc4ef",
        "EA-010-V21-LEGACY-MIGRATION-20261011-R1"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "WHY_THIS_MATTERS_TO_UPDATE",
      "text": "EA-009でセルフホストを扱っても、モデルを自前で動かすことと、端末・工場・現場・閉域環境でネットワーク無しに業務系全体が成立することは別問題である。Edge AIは推論配置を示しても、モデル取得、runtime、accelerator driver、license/entitlement、update、telemetry、identity、外部tool/APIがオンライン依存なら「完全オフライン」ではない。更新版では、低遅延・privacy・可用性を期待してedge化したシステムにhidden online dependencyが残る失敗を防ぐ必要がある。"
    },
    {
      "heading": "SCOPE_ROUTING",
      "text": "- Enterprise AI Core: deployment topology / availability / failure envelope / lifecycle / observability\n- implementation: on-device runtime、AOT/export、accelerator/backend、artifact packaging\n- non-LLM component: CV/ASR/TTS/classic ML/GenAIを含むedge inference全般\n- security/governance: egress、supply chain、offline update、device custody、audit\n- benchmark: latency / memory / energy / quality / sustained thermal behavior"
    },
    {
      "heading": "CLAIM_OR_RESEARCH_QUESTION",
      "text": "Q1. on-device inferenceが成立しても、完全オフライン運用が成立したとは言えないのではないか。\nQ2. edge / local / offline / air-gappedをどの運用境界で分離すべきか。\nQ3. 完全オフラインを証明するにはmodelだけでなく、runtime・driver・application・licensing・update・telemetry・external serviceまで何を試験すべきか。\nQ4. edge accelerator最適化は移植性・精度・電力・thermal・更新性にどのような追加gateを作るか。"
    },
    {
      "heading": "EVIDENCE TABLE",
      "text": "[E10-01]\nsource class: official implementation documentation\nexact title: Welcome to the ExecuTorch Documentation / How ExecuTorch Works\nauthor/org: PyTorch / Linux Foundation ecosystem\ncanonical URL: https://docs.pytorch.org/executorch/stable/\npublication/update/access: ExecuTorch 1.3 docs / accessed 2026-09-11\nversion/release: documentation 1.3\nsupporting locator: edge devices; export -> compile to ExecuTorch Program -> execute on target; CPU/GPU/NPU/DSP backends; mobile/embedded/microcontroller support\nlabel: VERIFIED_SPEC / OSS_PRACTICE\nrelation: support/context\nestablishes: edge inferenceはmodel weights単体ではなく、事前export/compile、target-specific backend、runtimeというdeployment chainを持つ。\ndoes_not_establish: ExecuTorch採用システムがネットワーク非依存、air-gapped、安全であること。\n\n\n[E10-02]\nsource class: official implementation documentation\nexact title: LiteRT: High-Performance On-Device Machine Learning Framework\nauthor/org: Google\ncanonical URL: https://developers.google.com/edge/litert\npublication/update/access: last updated 2026-07-17 UTC / accessed 2026-09-11\nversion/release: current LiteRT docs as-of 2026-09-11\nsupporting locator: lines 123-125 on-device framework; 160-179 obtain/optimize/run; 182-205 mobile-to-IoT and CPU/GPU/NPU-oriented paths\nlabel: VERIFIED_SPEC / PRODUCT_VOLATILE\nrelation: support/context\nestablishes: on-device frameworkはmodel conversion/optimization、runtime、accelerator選択を含み、edge deployment自体は複数platform/hardware経路を持つ。\ndoes_not_establish: model取得、初期provision、update、telemetry等までofflineであること。\n\n\n[E10-03]\nsource class: official implementation documentation\nexact title: ONNX Runtime for Inferencing / Get started with ONNX Runtime Mobile\nauthor/org: Microsoft / ONNX Runtime project\ncanonical URL: https://onnxruntime.ai/inference\npublication/update/access: current docs / accessed 2026-09-11\nversion/release: current documentation as-of 2026-09-11\nsupporting locator: cloud/edge/mobile/browser support; Mobile runs inference on Android/iOS; execution providers expose device-specific acceleration\nlabel: VERIFIED_SPEC / OSS_PRACTICE\nrelation: support/context\nestablishes: 共通runtime APIでも、device acceleratorはExecution Providerやplatform package等の追加dependencyを持つ。\ndoes_not_establish: 全operator/modelが全EPで同一挙動・性能になること、完全offline成立。\n\n\n[E10-04]\nsource class: official product/platform documentation\nexact title: NVIDIA JetPack / JetPack SDK Downloads and Notes\nauthor/org: NVIDIA\ncanonical URL: https://developer.nvidia.com/embedded/jetpack\npublication/update/access: accessed 2026-09-11; downloads page current JetPack 7.2.1 / Jetson Linux 39.2.1\nversion/release: JetPack 7 series; downloads page lists 7.2.1, CUDA 13.2.1, TensorRT 10.16.2\nsupporting locator: JetPack is official software stack for Jetson; OS/kernel/drivers/AI compute stack are part of the edge platform\nlabel: VERIFIED_SPEC / PRODUCT_VOLATILE\nrelation: support/context\nestablishes: edge applianceはmodel runtimeだけでなくBSP/kernel/driver/CUDA/TensorRT等のversioned stackとして管理すべきである。\ndoes_not_establish: Jetsonがデフォルトでair-gapped、またはonline dependencyを一切持たないこと。\n\n\n[E10-05]\nsource class: official terminology / security glossary\nexact title: air gap - Glossary | CSRC\nauthor/org: NIST CSRC; source CNSSI 4009-2022 / IETF RFC 4949 Ver 2\ncanonical URL: https://csrc.nist.gov/glossary/term/air_gap\npublication/update/access: source CNSSI 4009-2022 / accessed 2026-09-11\nversion/release: glossary definition current as-of access\nsupporting locator: systems are not connected physically and logical connection is not automated; transfer is manual under human control\nlabel: VERIFIED_SPEC\nrelation: boundary/counter\nestablishes: 「offline」と「air-gapped」は同義ではない。air gapは接続関係そのものに強い条件を置く。\ndoes_not_establish: air gapだけでendpoint/supply-chain/insider riskが消えること。\n\n\n[E10-06]\nsource class: benchmark specification/results\nexact title: Benchmark MLPerf Inference: Tiny\nauthor/org: MLCommons\ncanonical URL: https://mlcommons.org/benchmarks/inference-tiny/\npublication/update/access: accessed 2026-09-11\nversion/release: page lists latest suite version v1.3\nsupporting locator: single-stream latency; task-specific quality thresholds; optional energy benchmarking\nlabel: RESEARCH / VERIFIED_SPEC\nrelation: support/limit\nestablishes: constrained edge評価ではlatencyだけでなくqualityを維持し、energyも独立計測軸にできる。\ndoes_not_establish: MLPerf Tiny結果がLLM/GenAIや特定企業端末の実性能を保証すること。"
    },
    {
      "heading": "FINDINGS",
      "text": "1. 用語境界を固定する。\n   - ON-DEVICE: inference executionが対象端末上で行われる。network dependencyの有無は含意しない。\n   - EDGE: centralized cloud/data centerより利用地点・sensor/actuatorに近い計算配置。on-deviceを含み得るが、gateway/edge serverやcloud control planeと併用し得る。\n   - LOCAL: 組織/利用者が管理する近傍runtimeで処理するという運用語。物理配置・network isolationの強さは別途記録する。\n   - OFFLINE-CAPABLE: 特定の運用期間・機能についてWAN/Internet無しで成立する。初期provisionやupdateがonlineでもよい場合があるためscopeを明記する。\n   - FULLY OFFLINE: 必要artifactが事前配置された後、対象業務のruntime pathがnetworkに依存せず成立することを実測で確認した状態。どこまでをsystem boundaryに含めたか必須。\n   - AIR-GAPPED: NIST/CNSSI系定義に沿い、物理接続なし・自動logical connectionなし、移送が人手管理される強い分離。単なるfirewall/egress deny/offline modeをair-gapと呼ばない。\n\n\n2. 完全オフラインは「モデル特性」ではなくend-to-end system propertyである。最低でも以下をdependency graph化する。\n   model artifact / tokenizer・pre/post processor / inference runtime / accelerator backend・driver・firmware / application assets / config・policy / identity・license・entitlement / secrets・certificates・clock / data store / external tool・API / telemetry・crash reporting / update・rollback / package repository。\n\n\n3. ExecuTorch、LiteRT、ONNX Runtimeはいずれもon-device/edge inferenceを成立させる実装だが、backend/delegate/Execution Providerやplatform packageによりhardware dependencyが変わる。よって「runtime名」だけでは可搬性を表現できない。MODEL + RUNTIME + BACKEND/EP + DRIVER/FIRMWARE + DEVICE/OSをversion tupleとして保存する。\n\n\n4. NVIDIA JetPackのようなedge stackではBSP/kernel/driver/CUDA/TensorRTまで連鎖する。edge applianceの再現性・rollbackはmodel versionだけでなくplatform stackのpinningが必要である。\n\n\n5. Edge化の典型的利点（低latency、network loss時の可用性、raw dataを外へ出さない設計余地）は、ネットワークを使わないという事実から自動的にsecurity/privacy保証へ昇格しない。端末盗難、local privilege、malicious media、model/runtime supply chain、物理port、removable media、operator errorは残る。\n\n\n6. edge性能評価はpeak benchmarkだけで閉じない。品質、TTFT/latency、throughput、memory、storage、energyに加え、長時間運転時のtemperature / clock / throttling / battery・power stateを記録する。MLPerf Tinyはlatency+quality+optional energyという測定分離の参考になるが、GenAIの業務保証には外挿しない。"
    },
    {
      "heading": "LIMITS / COUNTEREVIDENCE / FAILURE ENVELOPE",
      "text": "- local inference成功だけではoffline証明にならない。初回model download、license check、SSO/token refresh、remote config、DNS、certificate validation、NTP/time、package fetch、telemetry/crash upload、RAG/DB/API/tool call、update checkerが隠れたonline dependencyになり得る。\n- 「egressをfirewallで遮断して動いた」はair-gap証明ではない。\n- offline化によりcloud-side central logging/patching/policy distributionが弱くなり、端末ごとのconfiguration drift、未更新脆弱性、audit回収遅延が増える可能性がある。\n- accelerator delegate/EPのunsupported op fallbackにより、想定NPU/GPUではなくCPUへ落ちてlatency・power・thermalが崩れる場合がある。対応表だけで実端末性能を保証しない。\n- quantization/optimizationでmemoryと速度を改善してもquality regressionの可能性がある。EA-009同様、元modelとの差分受入試験が必要。\n- removable mediaでair gapを越える場合、その媒体が更新・data exfiltration・malware侵入のcontrol pointになる。"
    },
    {
      "heading": "AVAILABILITY_GATES",
      "text": "hardware: CPU/GPU/NPU/DSP capability、RAM/VRAM/shared memory、storage、thermal design、power budget。\nsoftware: OS/BSP、driver/firmware、runtime version、delegate/EP/operator support、compiler/export toolchain。\nartifact: model size/license、tokenizer/preprocessor、quantization format、signature/hash。\nnetwork/offline: required online activation、model/package download、identity/token refresh、external API/RAG、telemetry/update endpointの有無。\noperations: offline mirror、signed media、time/certificate policy、patch window、rollback artifact、log回収経路。\nphysical: device custody、ports、removable media、debug interfaces。air-gapを主張する場合はnetwork topology自体を別監査する。"
    },
    {
      "heading": "IMPLEMENTATION_STATE",
      "text": "- ExecuTorch 1.3: maintained edge runtime/documentation。mobile/embeddedからaccelerator backendまでproduction-oriented implementationあり。\n- LiteRT: Googleのcurrent on-device ML/GenAI framework。TFLite系譜を継承し、mobile/desktop/web/embedded、CPU/GPU/NPU向け経路を提供。\n- ONNX Runtime Mobile: maintained mobile/edge inference runtime。Execution Providerでplatform accelerationを分離。\n- NVIDIA JetPack/TensorRT: Jetson edge platformのversioned OS/driver/accelerated inference stack。\n- air gap: deployment mode/security architectureでありAI runtimeの機能ではない。"
    },
    {
      "heading": "BENCHMARK_OR_EVAL",
      "text": "将来本文では「edgeが速い」ではなく最低限以下を同時に記録する。\n- task quality: accuracy/F1/WER/CER/Recall@kまたは業務golden-set score\n- cold start / warm start latency、GenAIならTTFT/TPOT\n- sustained throughput and p95/p99\n- peak / steady memory、storage footprint\n- energy per inference / average power（測定可能時）\n- thermal steady state / throttle onset / clock degradation\n- accelerator placementとCPU fallback率\n- network attempts count under blocked egress\n- offline functional completion rate\nMLPerf Tiny v1.3はquality threshold、single-stream latency、optional energyの分離を示す参考規格としてのみ使い、LLM/製品保証へ外挿しない。"
    },
    {
      "heading": "SECURITY",
      "text": "egress削減とattack surface削減を同一視しない。artifact signature/hash、SBOM/provenance、secure boot/OS patch、device encryption、least privilege、port/media controlを別管理する。"
    },
    {
      "heading": "PRIVACY",
      "text": "raw dataをdevice外へ送らない構成はdata minimizationに有利だが、local logs/cache/model prompt historyのretentionと端末紛失時保護が必要。\nAUDIT: offline期間中のappend-only local audit、clock source、log integrity、後日のcontrolled exportを設計する。中央監査への即時送信が無いことを明示する。"
    },
    {
      "heading": "COST",
      "text": "cloud token/API feeだけでなくdevice acquisition、accelerator、storage、電力、fleet patching、交換、現地保守をTCOへ含める。"
    },
    {
      "heading": "OPERABILITY",
      "text": "golden image、artifact manifest、offline package mirror、signed update bundle、rollback bundle、health check、capacity/thermal monitoringを運用単位にする。"
    },
    {
      "heading": "SAFE_WORDING_FOR_FUTURE_BOOK",
      "text": "「オンデバイス推論は完全オフライン運用の必要条件になり得るが、十分条件ではない。完全オフラインは、モデル、runtime、accelerator/driver、アプリケーション、認証・ライセンス、更新、telemetry、外部サービスまで含む対象system boundaryにruntime network dependencyがないことを実測して初めて主張できる。air-gappedはさらに強く、単なるoffline modeやegress遮断と同義ではない。」"
    },
    {
      "heading": "UPDATE_WORK_HANDOFF",
      "text": "1. `EDGE_DEPLOYMENT_MANIFEST`を新設候補とする: MODEL_ID/HASH, TOKENIZER, RUNTIME, BACKEND_OR_EP, DRIVER/FIRMWARE, DEVICE, OS/BSP, QUANTIZATION, APP_VERSION, REQUIRED_ARTIFACTS, ONLINE_DEPENDENCIES, UPDATE_ROUTE, LOG_EXPORT_ROUTE。\n2. provider/runtime比較表は「edge対応○×」ではなく、supported platform、accelerator、offline inference、initial download、runtime package、custom op、fallback、update、telemetry、license/activationを列にする。\n3. TEST_PROFILE-OFFLINE-01: 全artifact事前配置→再起動→DNS sinkhole +全egress deny→対象業務をcold startから完走。packet capture/firewall logで外向きattemptを記録し、機能依存と単なるbest-effort telemetryを分離する。未実施。\n4. TEST_PROFILE-OFFLINE-02: model/runtime/application cacheを意図的に消した状態でoffline起動し、何がprestage必須か確定する。未実施。\n5. TEST_PROFILE-PROVISION-01: 新規端末をnetwork無しでprovision可能かをruntime offlineと別に測る。online provisioningが必要なら「offline-capable after provisioning」と書く。未実施。\n6. TEST_PROFILE-TIME-01: clock skew / expired certificate / token expiryを安全なtest environmentで再現し、hidden identity/time dependencyを検出。未実施。\n7. TEST_PROFILE-THERMAL-01: 定常負荷を十分長く継続し、quality、latency、throughput、power、temperature、clock、OOMを時系列収集。未実施。\n8. TEST_PROFILE-AIRGAP-01: air-gap対象のみ、physical/logical topology、removable-media transfer、update/signature verification、audit exportをnetwork testとは別監査する。未実施。\n9. 公開直前にExecuTorch/LiteRT/ONNX Runtime/JetPackのcurrent release/support matrixを再採集する。PRODUCT_VOLATILE。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "/ STOP_CONDITION"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "- runtimeごとのtelemetry/update endpointや初回network requirementはplatform/package/buildによって異なるため、一律には閉じない。\n- edge acceleratorのoperator fallback・精度・thermal挙動は具体device/model/runtime tupleなしでは確定しない。\n- 「完全オフライン」のsystem boundaryは業務ごとに異なる。identity、RAG、logging、updateを境界外へ追い出して見かけ上offlineとする記述は禁止。"
    },
    {
      "heading": "STOP_CONDITION",
      "text": "- on-device/edge/offline/air-gapの境界が定義され、主要runtime/platformの実装chainとhidden dependencyの検査項目、benchmark/eval軸、security/operability、未実施TEST_PROFILEが後続Workへ渡せる粒度に達したためEA-010をBOUNDED_CLOSEとする。\n\n\nRUN_STATUS: BOUNDED_CLOSE"
    },
    {
      "heading": "Currentness findings",
      "text": "- Current edge/on-device runtimes reinforce the canonical distinction between “inference can run offline” and “the complete application/operation is air-gapped.”\n- Apple Core ML states that once a model is on-device, inference can run without a network connection, while separate documentation supports downloading/compiling models after installation; acquisition/update can remain an online dependency.\n- Apple's Core AI supports entirely on-device inference and can bundle or download model artifacts, separating inference locality from artifact-distribution dependency.\n- Google LiteRT runs inference on-device across multiple platforms and its offline showcase demonstrates local execution, while runtime/toolchain/accelerator compatibility remains a separate dependency.\n- ONNX Runtime's edge guidance lists offline operation as a benefit but also calls out model-size and hardware limitations.\n- “Edge”, “on-device”, “local”, “offline”, and “air-gapped” remain non-equivalent deployment claims."
    },
    {
      "heading": "Current primary evidence",
      "text": "- https://developer.apple.com/documentation/coreml\n- https://developer.apple.com/documentation/coreml/downloading-and-compiling-a-model-on-the-user-s-device\n- https://developer.apple.com/documentation/CoreAI/integrating-on-device-ai-models-in-your-app-with-core-ai\n- https://developers.google.com/edge/litert/overview\n- https://developers.google.com/edge/litert-lm/overview\n- https://onnxruntime.ai/docs/tutorials/iot-edge/"
    },
    {
      "heading": "Counterevidence / failure envelope retained",
      "text": "- Local inference does not prove offline model acquisition, license/entitlement validation, update, telemetry, identity, tool/API access, or recovery.\n- An application that downloads its model or required runtime at first launch is not ready for a sealed air-gapped environment without pre-provisioning.\n- Hardware acceleration depends on device/runtime/driver/toolchain compatibility and may fall back or fail.\n- Offline operation requires local observability, artifact verification, clock/identity strategy, rollback media, and incident/recovery procedures.\n- No air-gapped hardware lab test was performed in this rescue."
    },
    {
      "heading": "SAFE_WORDING",
      "text": "Describe edge/on-device as placement properties. Claim “offline” only for the bounded functions verified without network, and claim “air-gapped operation” only after model/runtime artifacts, entitlement, identity, tools, updates, telemetry, logging, rollback, and recovery are proven to work inside the closed environment."
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "- device-specific accelerator fallback and performance;\n- offline entitlement/license validation for specific products;\n- pre-provisioning and update procedures for organization-specific air-gapped estates;\n- failure/recovery behavior when external dependencies are unavailable for long periods."
    },
    {
      "heading": "Research Gate decision",
      "text": "`PASS_FOR_BOUNDED_BASE_REVISION`."
    },
    {
      "heading": "Candidate implementation overlay",
      "text": "- target: `content/staging/EA-010.md`\n- base repository commit: `97d3d104ae0b16a95e7dffddc3a8cb327795a796`\n- path precondition: `ABSENT`\n- candidate: `V21-CANDIDATE-EA010-BASE-20261011-C1`\n- READY: NOT_CREATED\n- AUDIT_PASS: NOT_CLAIMED\n- GIT_WRITE: NOT_PERFORMED"
    }
  ],
  "human_url": "/tools/ea-010-edge-ai-on-device-edge-local-offline-air-gapped",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-010-edge-ai-on-device-edge-local-offline-air-gapped",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-010-edge-ai-on-device-edge-local-offline-air-gapped"
}