CCR-2026-0039 applied 2026-10-09T10:30Z with matching readback. The four hall-of-helix entries moved from infotech to coulomb (v1 each; infotech deleted). activity-core/default/llm-connect-provider-secrets retired. T03 now waits on ops-mason verification and the owner salt CAS probe. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 469992@bnt-lap001 Assistant-Session: e4b8e420-df0a-441d-83ae-7f19130594d9
138 lines
5.5 KiB
YAML
138 lines
5.5 KiB
YAML
id: CCR-2026-0039
|
|
kind: credential-change-request
|
|
schema_version: 1
|
|
request_type: workload-kv-operator-matrix
|
|
title: fluid-telegram hall-of-helix attended operator KV lane (per-path matrix, OIDC
|
|
aal2)
|
|
status: applied
|
|
created: '2026-10-09'
|
|
updated: '2026-10-09'
|
|
requester:
|
|
agent: railiance-platform
|
|
reason: RPF-WP-0035-T03. Founder approved ops-mason plan fluid-telegram-operator-credential-lane
|
|
2026-10-09 (approved_spec_sha256 41a0ca2746aa93b6ee9d1ca631517d680ade95c56e7a38b75a55209ef2316b73)
|
|
and ruled the tenant segment stays coulomb (ops-mason message b72ff77d). Design
|
|
docs/credential-lane-designs/fluid-telegram-operator-kv.md; key-cape confirmed
|
|
groups and aal2 claims (message b2ed890f, key-cape e0b5fae).
|
|
review:
|
|
required: true
|
|
required_approvers:
|
|
- platform-owner
|
|
- fluid-telegram-owner
|
|
- key-cape-owner
|
|
comments:
|
|
- at: '2026-10-09T10:29:55+00:00'
|
|
reviewer: platform-owner, fluid-telegram-owner, key-cape-owner (founder Bernd
|
|
Worsch)
|
|
decision: approved
|
|
comment: 'Approve ops-mason plan fluid-telegram-operator-credential-lane (spec
|
|
41a0ca27): four-entry matrix at coulomb/fluid-telegram/hall-of-helix, OIDC role
|
|
on netkingdom, agent denies.'
|
|
- at: '2026-10-09T10:29:55+00:00'
|
|
reviewer: founder
|
|
decision: binding_confirmed
|
|
comment: groups=[fluid-telegram-operators] (LLDAP, member tegwick) and /assurance/level=aal2
|
|
match key-cape b2ed890f.
|
|
target:
|
|
domain: infotech
|
|
tenant: coulomb
|
|
workload: fluid-telegram
|
|
environment: production
|
|
purpose: Let a member of fluid-telegram-operators with a verified second factor
|
|
run the attended provisioner for campaign hall-of-helix with exactly the four-entry
|
|
matrix.
|
|
openbao:
|
|
mount: platform
|
|
campaign_path: platform/workloads/coulomb/fluid-telegram/hall-of-helix
|
|
policy_name: workload-kv-fluid-telegram-hall-of-helix-operator
|
|
policy_file: openbao/policies/workload-kv-fluid-telegram-hall-of-helix-operator.hcl
|
|
boundary_overlay_file: openbao/fluid-telegram/agent-deny-overlay.hcl
|
|
matrix:
|
|
- entry: operator-app
|
|
fields:
|
|
- api_id
|
|
- api_hash
|
|
capabilities:
|
|
- read
|
|
- entry: operator-session
|
|
fields:
|
|
- session_b64
|
|
capabilities:
|
|
- create
|
|
- read
|
|
- update
|
|
- entry: bot-token
|
|
fields:
|
|
- token
|
|
capabilities:
|
|
- create
|
|
- read
|
|
- update
|
|
- entry: redaction-salt
|
|
fields:
|
|
- salt
|
|
capabilities:
|
|
- create
|
|
- read
|
|
auth:
|
|
method: oidc
|
|
mount: netkingdom
|
|
role: fluid-telegram-hall-of-helix-workload-kv
|
|
role_file: openbao/auth/fluid-telegram-hall-of-helix-oidc-role.json
|
|
bound_claims_confirmed: true
|
|
founder_confirmation_items:
|
|
- bound_claims_confirmed stays false until the founder confirms groups=[fluid-telegram-operators]
|
|
(LLDAP group, single member tegwick) and /assurance/level=aal2 against the key-cape
|
|
confirmation b2ed890f. applier-dry-run refuses until then.
|
|
- The matrix grants no metadata, list, patch or delete. The salt is create-only by
|
|
ACL; first-write CAS 0 is the consumer's job (FT-WP-0002) and is verified by an
|
|
owner-run probe, not by ACL parameters.
|
|
- The apply appends exact coding-agent denies on all four data and metadata paths
|
|
to the live agent-high-risk-boundary policy, preserving its other content verbatim,
|
|
and refuses if only some of those denies are already present.
|
|
access_frontdoor:
|
|
type: none
|
|
catalog_id: none
|
|
risk:
|
|
level: high
|
|
notes:
|
|
- operator-session is a full Telegram account session. Membership of fluid-telegram-operators
|
|
is the whole access decision; adding a member widens this lane's reach.
|
|
- Tokens are 15m (30m maximum), no default policy, num_uses 0 so MTProto session
|
|
persistence is not interrupted; the provisioner self-revokes at completion.
|
|
verification:
|
|
positive:
|
|
- Readback after apply matches source for boundary denies, policy text and role
|
|
(done by applier-apply; prints nothing).
|
|
- An approved member's token reports exactly the matrix capabilities on each entry.
|
|
negative:
|
|
- Parent, sibling workload and sibling campaign paths report deny.
|
|
- A non-member, or a member without aal2, cannot obtain the role.
|
|
- Coding-agent identities report deny on all four data and metadata paths.
|
|
- Owner-run disposable probe: salt create succeeds, a second write is denied.
|
|
activation_conditions:
|
|
- Founder approval (three reviews) and bound_claims_confirmed true.
|
|
- Custody moved from the infotech prefix with scripts/fluid_telegram_custody_move.py.
|
|
evidence:
|
|
- at: '2026-10-09T10:30:01+00:00'
|
|
actor: founder
|
|
kind: delegated_metadata_apply
|
|
result: passed
|
|
details:
|
|
- Delegated metadata applier ran as founder using local bao CLI ambient authority.
|
|
- 'Agent boundary denies ensured: sys/policies/acl/agent-high-risk-boundary (8
|
|
exact paths)'
|
|
- 'Policy metadata write: sys/policies/acl/workload-kv-fluid-telegram-hall-of-helix-operator'
|
|
- 'OIDC role metadata write: auth/netkingdom/role/fluid-telegram-hall-of-helix-workload-kv'
|
|
- Readback matched source for boundary denies, policy and role.
|
|
- No secret values were read, written, printed, or accepted in argv.
|
|
lifecycle:
|
|
deactivate: Delete auth/netkingdom/role/fluid-telegram-hall-of-helix-workload-kv
|
|
first, then the policy; KV entries stay in custody pending an explicit retention
|
|
decision.
|
|
rotate: Session compromise needs Telegram-side session revocation; bot-token rotation
|
|
needs provider replacement; salt rotation needs a data-owner decision.
|
|
compromised: Delete the role, revoke issued tokens, revoke the Telegram session.
|
|
state_hub:
|
|
workplan: RPF-WP-0035
|
|
task: RPF-WP-0035-T03
|