Ship secret-use snapshot surface for kings-guard
Add secrets-engine secret-use snapshot: catalog plus local evidence only, contracted non-secret fields, declared 1d heartbeat cadence. Never contacts OpenBao. Completeness is not claimed. owner_status stays proposed until kings-guard admits the snapshot as an observation input. Assistant: grok Assistant-Session: 01a05f07-ae72-7781-9fcb-19efd61add00
This commit is contained in:
parent
3abee434df
commit
2278cefbb3
8 changed files with 374 additions and 13 deletions
|
|
@ -64,6 +64,7 @@ secrets-engine lifecycle suspend <catalog-id> [--dry-run]
|
|||
secrets-engine lifecycle deactivate <catalog-id> [--dry-run]
|
||||
secrets-engine lifecycle destroy <catalog-id> [--dry-run] [--confirm-destroy <catalog-id>]
|
||||
secrets-engine audit <catalog-id> [--json]
|
||||
secrets-engine secret-use snapshot [--catalog-id ID] [--json]
|
||||
```
|
||||
|
||||
`policy publication` resolves a lane's effective publication scope and the env
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
# Secret-use evidence engine contract (proposed)
|
||||
# Secret-use evidence engine contract
|
||||
|
||||
Status: **proposed**. `layer.yaml` owner_status remains `proposed` until this
|
||||
surface ships. kings-guard must assent or contest before it is treated as an
|
||||
observation input.
|
||||
Status: **shipped** as `secrets-engine secret-use snapshot`. Observation-input
|
||||
admission remains **proposed** until kings-guard consumes it. `layer.yaml`
|
||||
`owner_status` stays `proposed` until that admission. Completeness is not
|
||||
claimed.
|
||||
|
||||
Standard: NetKingdom Security Layer Model v0.7 §9.6. Companion:
|
||||
`net-kingdom/SECURITY-COMPANION.md` §6.
|
||||
|
|
@ -14,7 +15,9 @@ mount, rotation, and delivery-session metadata, so kings-guard can evaluate
|
|||
secret-abuse posture without a vault client.
|
||||
|
||||
`secrets-engine route` and `secrets-engine audit` are operator summaries over
|
||||
local JSONL. They are not this surface.
|
||||
local JSONL. They are not this surface. The shipped command is
|
||||
`secrets-engine secret-use snapshot [--catalog-id ID] [--json]`. It reads the
|
||||
catalog and local evidence only. It never contacts OpenBao.
|
||||
|
||||
## Bound (normative)
|
||||
|
||||
|
|
@ -53,9 +56,18 @@ exception prose.
|
|||
## Freshness
|
||||
|
||||
Every row carries `as_of`. There is no cached authorization verdict. A consumer
|
||||
must not treat a stale snapshot as a standing allow. Recommended maximum age
|
||||
for posture evaluation is the heartbeat interval declared in
|
||||
`evidence-classification.yaml` (`1d`) until a tighter contract is assented.
|
||||
must not treat a stale snapshot as a standing allow. Cadence for load-bearing
|
||||
classes is the heartbeat declared in `evidence-classification.yaml`:
|
||||
|
||||
```text
|
||||
form: heartbeat
|
||||
interval: 1d
|
||||
command: secrets-engine evidence heartbeat
|
||||
```
|
||||
|
||||
The snapshot envelope repeats that cadence. Evidence-derived fields (`ready`,
|
||||
session, stance, decision id) appear only when a local record exists. Omission
|
||||
is not non-occurrence.
|
||||
|
||||
## Destination
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue