kings-guard/INTENT.md
tegwick d99f395aa1 Repoint at Security Layer Model v0.4; assess and report to gate-house
The standard moved v0.1 -> v0.4 after our assent. Reviewed; assent stands
unchanged. §9.1/§9.2/§9.3 adopt the KG-DEC-2026-001 finding and generalise
it estate-wide, and §12 now states that an unsatisfiability finding is a
success of the conformance loop.

Docs repointed at v0.4 (INTENT, SCOPE, AdjacentSystemBoundary, the
architecture spec note). KG-DEC-2026-001 still cites v0.1 deliberately —
it records what was assented to at the time.

INTENT gap table reshaped to §5.3's field names (capability,
intended_owner, blocked_on, review) so one register can hold both kinds,
with review dates set to 2026-11-28, and marked explicitly as unowned
capabilities rather than §5.3 declared contacts — kings-guard makes no
Tooling contact and is Conforming under §11.

Four findings sent to gate-house: §9.1 not carried through to the
observation claim; §13 conflating declared contacts with unowned
capabilities ahead of the maturity-engine migration; §9.6's unstated
consequence for posture (suppression biases posture optimistic and our
confidence score cannot express the doubt); and disclosure that §12's
fourth step is unstaffed while the pilot remains fixture-only.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UEtvmYUBP2fDtirJGWn5MW

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 4014379@bnt-lap001
Assistant-Session: 4af9e20f-1768-4afc-951b-b507784e382b
2026-08-29 02:41:43 +02:00

262 lines
12 KiB
Markdown

# INTENT
> **Layer: Staff.** *(NetKingdom Security Layer Model — current version
> `net-kingdom/canon/standards/security-layer-model_v0.4.md`, §4 catalog,
> status accepted; ratified by `gate-house/decisions/decisions.md`
> GH-DEC-2026-001; assented here by `decisions/decisions.md` KG-DEC-2026-001
> on 2026-08-28, against v0.1. This declaration is made in kings-guard's own
> voice, per §11.)*
>
> **Catalog entry (v0.4 §4):** adaptive defence, observation; **containment —
> pending (§9.2)**, until an engine exposes a containment surface. The pending
> mark exists because kings-guard raised the defect that v0.1 catalogued a
> capability §5 forbade discharging; the general rule is now §9.1.
>
> kings-guard is **interactive and non-deterministic**: adaptive defence,
> observation, containment. Acting at runtime does not make a repository an
> Engine; being agentic makes it Staff.
>
> **The binding rule (§5): Staff never touches Tooling directly. It acts only
> through Engine APIs.** kings-guard holds no direct client for a Tooling-layer
> system — no database connection, no OpenBao client, no cluster mutation. It
> may contain a threat only by calling an engine. Where no engine exposes a
> capability kings-guard needs, that is raised as an **engine gap**, never
> solved locally; the open gaps are listed under *System boundary* below.
>
> **Posture contract.** kings-guard **publishes** posture; `gate-house` defines
> its authority meaning; `access-engine` renders it. Posture is not a privilege
> source. The asymmetry is absolute: kings-guard may **reduce** authority,
> **require step-up**, or **request containment**; it MUST NOT probabilistically
> manufacture additional authority. Every effector request it emits therefore
> carries an explicit authority boundary and is advisory unless the owning
> system has already delegated a narrow, deterministic action lane.
> This file captures **why this repository exists**, the **direction it is
> moving toward**, and the **kind of system it is meant to become**.
> It is intentionally **aspirational and stable**, not a description of
> current implementation.
---
## One-liner
**Recursive adaptive defence for complex cloud environments: it declares
healthy intent, detects harmful deviation, requests bounded containment through
the owning engines, helps restore known-good operation, and retains governed
defensive memory.**
*"Control plane" is Engine-layer vocabulary (layer model §8) and is no longer
used here for kings-guard. kings-guard judges and proposes; engines decide and
act.*
---
## Why This Exists
Modern cloud environments are too dynamic to protect through identity, policy,
and perimeter rules alone.
Even when authentication, authorization, and secret custody are well designed,
the environment still changes continuously:
- workloads are rebuilt and redeployed;
- dependencies shift;
- operators, agents, and automations act with real authority;
- tenants share substrates while requiring strong isolation;
- legitimate identities can become compromised;
- harmful behavior can emerge from software that still looks formally allowed.
Security therefore needs a layer that does more than authenticate and allow.
It must continuously compare **declared healthy operation** against **observed
behavior**, decide whether the current state is acceptable, and coordinate
bounded response when it is not.
This repository exists to provide that adaptive layer.
---
## The Mission
> *Where we are going.*
Kings Guard aims to become a **recursive adaptive security system** for
multi-tenant, multi-operator, and agent-active environments.
It should make security an ongoing control loop:
```text
declare healthy intent
-> establish and attest identity
-> observe actual behavior
-> compare behavior with policy and intended scope
-> assess risk and confidence
-> respond within bounded authority
-> restore known-good operation
-> validate the outcome
-> retain governed security memory
```
The mature system should:
- model intended healthy operation explicitly;
- evaluate trust as temporary, scoped, and continuously reassessed;
- detect and contain disturbances near their origin;
- coordinate local and global defensive signals without collapsing tenant
boundaries;
- drive reconstitution and recovery, not only alerting;
- learn from incidents without normalizing compromise or leaking sensitive
tenant data.
---
## Responsibility Boundary
Kings Guard owns the **adaptive security assessment and response layer**.
### Kings Guard owns
- the model of healthy intent, tolerated variation, and harmful deviation;
- security phenotype assessment from observed state and behavior;
- normalized immune observations and signal contracts;
- posture assessment across compartments, subjects, and resources;
- bounded response policy for containment, inflammation, quarantine, and
reconstitution;
- recovery validation and governed immune memory;
- coordination between local autonomous defense and broader federated defense.
### Kings Guard does not own
- primary human, workload, or device identity issuance;
- login, MFA, token minting, or directory lifecycle;
- resource authorization policy administration;
- long-lived secret custody, lease issuance, or secret value delivery;
- infrastructure provisioning, workload deployment, or platform operations;
- general work coordination, task management, or live project state.
### System boundary
| Concern | Primary owner | Kings Guard responsibility |
| --- | --- | --- |
| Identity, authentication, MFA, and verified claims | `key-cape` (Tooling) | Consume identity and attestation as security inputs — **through `user-engine` / `access-engine`, never by connecting to key-cape's components**; do not replace identity. |
| Resource authorization and decision logs | `access-engine` (currently named `flex-auth`) | Contribute posture and risk context; never render or cache an authorization decision — it is the estate's only decision point (layer model §6). |
| Secret custody, delivery, leases, and rotation | OpenBao (Tooling), fronted by `secrets-engine` (Engine) | Consume secret-access evidence **through `secrets-engine`**, never through an OpenBao client; do not hold raw secret authority. |
| Operational SSH certificate issuance and access routing | `ops-warden` | Supply posture, evidence, or future response hooks; do not become the SSH issuing lane. |
| Infrastructure, runtime, and platform execution | Railiance repos and workload operators | Signal constraints, isolation, and reconstitution needs; do not own deployment mechanics. |
| Workstream and task coordination | `state-hub` | Emit non-secret evidence and integration events where appropriate; do not become a work tracker. |
#### Declared engine gaps
Capabilities kings-guard needs that no engine exposes today. Under the binding
rule these are gaps to close in the owning engine, not work to route around.
None is a standing licence to reach into Tooling.
These are **unowned capabilities**, not §5.3 declared contacts: kings-guard
makes no direct Tooling contact for any of them. Under §11 kings-guard is
**Conforming**, not a tracked non-conformance. The fields follow §5.3's shape so
one register can hold both, but the distinction is load-bearing — see the
assessment sent to gate-house on 2026-08-29.
| `capability` | Needed for | `intended_owner` | `blocked_on` | `review` |
| --- | --- | --- | --- | --- |
| Authentication and assurance evidence (token assurance, attestation outcomes, authentication anomalies) exposed as an engine surface | identity-drift posture | `user-engine` / `access-engine` | no engine surface exists; kings-guard consumes fixtures only | 2026-11-28 |
| Secret-use evidence (lease, revocation, mount and rotation metadata) exposed as an engine surface | secret-abuse posture | `secrets-engine` | no engine surface exists; kings-guard consumes fixtures only | 2026-11-28 |
| Containment surface — reduce authority, require step-up, isolate a workload — callable as a deterministic engine API, available while an incident is in progress | bounded response | `access-engine`, runtime engines | no engine surface exists; ruled pending in v0.4 §9.2, degraded-mode fallback ruled into the engine by §9.3 | 2026-11-28 |
Until a gap closes, the corresponding posture lane stays advisory and
fixture-driven. kings-guard MUST NOT open a direct path to the Tooling system
to fill one. If diagnostic read-only observation of Tooling ever becomes
unavoidable, the layer model requires it to be declared in this file and
treated as a gap to close; **no such observation is declared today.**
---
## Design Principles
### 1. Intent before anomaly
Security should first ask whether behavior is compatible with declared healthy
operation, not merely whether it is statistically unusual.
### 2. Trust is temporary
Trust is not a permanent property of an identity, network location, or workload.
It is a time-bound judgment derived from identity, provenance, integrity,
context, and observed behavior.
### 3. Local containment first
Defensive action should happen as close as possible to the disturbed
compartment, with wider coordination only when impact crosses boundaries.
### 4. Bounded response over uncontrolled automation
Automated response must be explicitly scoped, reversible where possible, and
governed so defense does not become its own source of harm.
### 5. Recovery is part of security
Detection without reconstitution is incomplete. The system should restore
known-good operation and verify that restoration succeeded.
### 6. Memory must be governed
The system should learn from incidents, but memory must preserve tenant
confidentiality, prevent evidence poisoning, and avoid turning compromise into
"normal" behavior.
### 7. Replaceable implementations, stable contracts
Sensors, policy engines, response effectors, and deployment substrates may
change. Kings Guard should depend on stable capability contracts rather than one
mandatory product stack.
---
## What This Is
Kings Guard is:
- an adaptive defence concept and implementation home, in the Staff layer;
- a contract layer for healthy intent, observations, signals, posture, and
effectors;
- a coordination system for detection, containment, recovery, and memory;
- a reference architecture for recursive, compartment-aware cloud defense.
---
## What This Is Not
Kings Guard is not:
- an identity provider;
- an authorization registry;
- a secret store;
- a SIEM-only alerting surface;
- a generic deployment/orchestration repository;
- a justification to weaken tenant isolation in the name of global defense.
---
## Direction of Evolution
The repository should evolve through clear layers:
1. **Canonical model:** define the stable vocabulary for security genome,
phenotype, observation, signal, effector, tolerance, inflammation, and
immune memory.
2. **Assessment loop:** provide a minimal service that ingests observations,
evaluates posture against declared intent, and produces typed signals.
3. **Bounded response:** integrate with selected effectors for isolation,
throttling, revocation, or reconstitution under explicit policy.
4. **Recovery and validation:** prove that known-good restoration can be
coordinated and verified, not merely requested.
5. **Federated memory:** retain reusable defensive knowledge without exposing
tenant-confidential operational detail.
---
## Guiding Question
> **How can a cloud environment continuously distinguish healthy from harmful
> behavior, contain damage near its origin, and learn from incidents without
> centralizing too much trust or harming legitimate operation?**