22 lines
1.2 KiB
Markdown
22 lines
1.2 KiB
Markdown
# Policy AirGap Sealed-Mode Prep — PREP-POLICY-AIRGAP-57-001-REQUIRES-SEALED-MOD
|
|
|
|
Status: Draft (2025-11-20)
|
|
Owners: Policy Guild · AirGap Policy Guild
|
|
Scope: Define sealed-mode policy behaviour and error envelopes after mirror import (56-002).
|
|
|
|
## Inputs needed
|
|
- Sealed-mode error envelope standard (WEB-OAS-61-002) for consistency with Concelier/Web.
|
|
- Staleness metadata fields from 56-002 (bundle provenance / time anchor).
|
|
|
|
## Proposed behavior
|
|
- When sealed mode active and non-mirror source requested, return error `POLICY_AIRGAP_EGRESS_BLOCKED` with remediation list and `staleness_seconds_remaining` if available.
|
|
- Determinism: sorted remediation items; canonical JSON ordering.
|
|
- Telemetry: counter `policy_airgap_egress_blocked_total{tenant,endpoint}` and event `policy.airgap.egress_blocked` with `{tenant_id, bundle_id?, policy_hash}`.
|
|
|
|
## Acceptance
|
|
- Envelope finalized in line with WEB-OAS-61-002; fields confirmed with AirGap Policy Guild.
|
|
- Sample response stored at `docs/modules/policy/samples/policy-airgap-sealed@draft.json`.
|
|
|
|
## Handoff
|
|
Prep artefact for PREP-POLICY-AIRGAP-57-001-REQUIRES-SEALED-MOD. Update once error envelope and staleness fields are frozen; then mark task DONE and start implementation.
|