- Introduced AGENTS.md, README.md, TASKS.md, and implementation_plan.md for Vexer, detailing mission, responsibilities, key components, and operational notes. - Established similar documentation structure for Vulnerability Explorer and Zastava modules, including their respective workflows, integrations, and observability notes. - Created risk scoring profiles documentation outlining the core workflow, factor model, governance, and deliverables. - Ensured all modules adhere to the Aggregation-Only Contract and maintain determinism and provenance in outputs.
		
			
				
	
	
	
		
			4.9 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			4.9 KiB
		
	
	
	
	
	
	
	
Air-Gapped Mode Playbook
Work of this type or tasks of this type on this component must also be applied everywhere else it should be applied.
Overview
Air-Gapped Mode is the supported operating profile for deployments with zero external egress. All inputs arrive via signed mirror bundles, and every surface (CLI, Console, APIs, schedulers, scanners) operates under sealed-network constraints while preserving Aggregation-Only Contract invariants.
- Primary components: Web Services API, Console, CLI, Orchestrator, Task Runner, Conseiller (Feedser), Excitator (VEXer), Policy Engine, Findings Ledger, Export Center, Authority & Tenancy, Notifications, Observability & Forensics.
- Surfaces: offline bootstrap, mirror ingestion, deterministic jobs, offline advisories/VEX/policy packs/notifications, evidence exports.
- Dependencies: Export Center, Containerized Distribution, Authority-backed scopes & tenancy, Observability & Forensics, Policy Studio.
Guiding principles
- Zero egress: all outbound network calls are disabled unless explicitly allowed. Any feature requiring online data must degrade gracefully with clear UX messaging.
- Deterministic inputs: the platform accepts only signed Mirror Bundles (advisories, VEX, policy packs, vendor feeds, images, dashboards). Bundles carry provenance attestations and chain-of-custody manifests.
- Auditable exchange: every import/export records provenance, signatures, and operator identity. Evidence bundles and reports remain verifiable offline.
- Aggregation-Only Contract compliance: Conseiller and Excitator continue to aggregate without mutating source records, even when ingesting mirrored feeds.
- Operator ergonomics: offline bootstrap, upgrade, and verification steps are reproducible and scripted.
Lifecycle & modes
| Mode | Description | Tooling | 
|---|---|---|
| Connected | Standard deployment with online feeds. Operators use Export Center to build mirror bundles for offline environments. | stella export bundle create --profile mirror:full | 
| Staging mirror | Sealed host that fetches upstream feeds, runs validation, and signs mirror bundles. | Export Center, cosign, bundle validation scripts | 
| Air-gapped | Production cluster with egress sealed, consuming validated bundles, issuing provenance for inward/outward transfers. | Mirror import CLI, sealed-mode runtime flags | 
Installation & bootstrap
- Prepare mirror bundles (images, charts, advisories/VEX, policy packs, dashboards, telemetry configs).
- Transfer bundles via approved media and validate signatures (cosign verify, bundle manifest hash).
- Deploy platform using offline artefacts (helm install --set airgap.enabled=true), referencing local registry/object storage.
Updates
- Staging host generates incremental bundles (mirror delta) with provenance.
- Offline site imports bundles via the CLI (stella airgap import --bundle) and records chain-of-custody.
- Scheduler triggers replay jobs with deterministic timelines; results remain reproducible across imports.
Component responsibilities
| Component | Offline duties | 
|---|---|
| Export Center | Produce full/delta mirror bundles, signed manifests, provenance attestations. | 
| Authority & Tenancy | Provide offline scope enforcement, short-lived tokens, revocation via local CRLs. | 
| Conseiller / Excitator | Ingest mirrored advisories/VEX, enforce AOC, versioned observations. | 
| Policy Engine & Findings Ledger | Replay evaluations using offline feeds, emit explain traces, support sealed-mode hints. | 
| Notifications | Deliver locally via approved channels (email relay, webhook proxies) or queue for manual export. | 
| Observability | Collect metrics/logs/traces locally, generate forensic bundles for external analysis. | 
Operational guardrails
- Network policy: enforce allowlists (airgap.egressAllowlist=[]). Any unexpected outbound request raises an alert.
- Bundle validation: double-sign manifests (bundle signer + site-specific cosign key); reject on mismatch.
- Time synchronization: rely on local NTP or manual clock audits; many signatures require monotonic time.
- Key rotation: plan for offline key ceremonies; Export Center and Authority document rotation playbooks.
- Incident response: maintain scripts for replaying imports, regenerating manifests, and exporting forensic data without egress.
Testing & verification
- Integration tests mimic offline installs by running with AIRGAP_ENABLED=truein CI.
- Mirror bundles include validation scripts to compare hash manifests across staging and production.
- Sealed-mode smoke tests ensure services fail closed when attempting egress.
References
- Export workflows: docs/modules/export-center/overview.md
- Policy sealed-mode hints: docs/policy/overview.md
- Observability forensic bundles: docs/modules/telemetry/architecture.md
- Runtime posture enforcement: docs/modules/zastava/operations/runtime.md