docs: record credential transport proof and native activation dependency
All checks were successful
ci / validate (push) Successful in 1m25s

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0726e-5232-73f2-aaca-2c05ceb62efb
This commit is contained in:
tegwick 2026-09-06 00:25:38 +02:00
parent 0c3d8e1a88
commit 73cee37ad8
3 changed files with 46 additions and 0 deletions

View file

@ -104,3 +104,18 @@ The UI handoff is complete. Do not run the empty initializer again. The next
implementation is an exact sandbox-owner machine binding and protected key implementation is an exact sandbox-owner machine binding and protected key
delivery, followed by enforced provider egress and the bounded real proof. delivery, followed by enforced provider egress and the bounded real proof.
CCR-2026-0016 remains in flight until those acceptance gates pass. CCR-2026-0016 remains in flight until those acceptance gates pass.
## Owner transport and native adoption
Sand-boxer now implements consumer-bound exec-env delivery through a configured
credential owner provider, with direct private handoff to the namespace broker.
Synthetic proof 880f749e passed child delivery, exact-value output redaction,
next-exec absence, wrong-project denial and teardown. No real key was read.
Secrets-engine catalog `glas-claude-agent-dev-anthropic` now proposes native
policy/AppRole `se-prod-glas-claude-agent-dev-anthropic` for the exact KV data
path, with metadata access excluded. This supersedes the earlier proposed read
policy name; neither policy has been applied by this work. Adoption is tracked
in SECRETS-WP-0009. The production exec gate refuses before OpenBao while
SECRETS-WP-0007-T04 and SECRETS-WP-0008-T02/T06 remain unresolved.
No production profile selects the unactivated route.

View file

@ -0,0 +1,19 @@
# Credential transport acceptance
Installed sand-boxer synthetic proof `880f749e`: child receives only synthetic
ANTHROPIC_API_KEY, stdout is redacted, next exec has no key, wrong-project
request refuses and workspace is removed. No real key was read.
Full checks: sand-boxer lint+171 tests, secrets-engine226 tests, Glas101 tests.
Existing persisted-manager egress and deterministic Glas boundary proofs pass.
Native proposal: secrets-engine/catalog/glas-claude-agent-dev-anthropic.yaml;
SECRETS-WP-0009 tracks live activation. The plan checks the existing platform
mount, creates one exact data-only read policy/AppRole, TTL5m/max15m,
single-use SecretID5m, token uses8. No metadata/list/write grant is included.
The real production CLI exec invocation with service-jwt selection refused:
`production action 'exec' requires a durable access-engine decision record;
live production remains disabled`. No unsafe-demo flag, real key retrieval or
operator-token fallback was used. This is an upstream authorization/service
implementation dependency, not a successful model authentication proof.

View file

@ -211,3 +211,15 @@ and direct-IP denial, isolated namespace and proxy/workspace cleanup passed.
See [egress evidence](../docs/evidence/GLAS-WP-0012-egress-2026-09-05.md). See [egress evidence](../docs/evidence/GLAS-WP-0012-egress-2026-09-05.md).
T02 remains waiting on machine auth, protected credential delivery, the pinned T02 remains waiting on machine auth, protected credential delivery, the pinned
Claude executable and the combined production acceptance. Profiles remain blocked. Claude executable and the combined production acceptance. Profiles remain blocked.
## 2026-09-05 credential owner return
Sand-boxer credential transport is implemented and proved with synthetic
provider sandbox 880f749e. Owner config binds exact profile/project/actor and
run id; unknown routes refuse, shell API-key fallback is stripped, only the
workload child receives the value, and output redaction precedes truncation.
Tests: sand-boxer171, secrets-engine226, Glas101 pass. Native data-only read
policy/AppRole proposal and activation now live in SECRETS-WP-0009. Its
production exec refuses before OpenBao because durable access-engine decision
records and scoped service authority remain unavailable. T02 remains waiting
on that activation, pinned Claude startup and real provider/task acceptance.