info-tech-canon/infospace/interfaces/security-canon-boundary.md

125 lines
7.3 KiB
Markdown
Raw Normal View History

Accept the SecurityCanon extension boundary SecurityCanon publishes an architecture-layer vocabulary for authority relationships, the Mode of Authority, and references shared InfoTechCanon concepts. This records the InfoTechCanon-side acceptance of that boundary and adds reciprocal navigation from the federation interface README. The accepted dispositions keep the layers apart. Mode of Authority describes the relationship in which authority is exercised; CARING analyses how an access-control implementation is composed. Auth Mode is orthogonal to access operation and to CARING's Canonical Role and Plane, so the Operator role and the OPERATE mode stay distinct concepts and neither is renamed. SecurityCanon does not reuse Actor or Subject, which ITC-ACCESS owns and binds as "Subject is the access-control view of an actor"; it renamed its on-behalf-of dimension to AuthorityContext instead, so no change is required here. Verified at security-canon b1fa25eb: all five pinned manifest hashes match Git blobs at this commit and the sources are unchanged in the review checkout, and none of the seven concepts SecurityCanon declares appears in any InfoTechCanon owned_concepts declaration, so the boundary introduces no ownership conflict. No concept is transferred and nothing is removed, so the corpus is unchanged. Generated indexes and the repository tree are refreshed for the added file; make check passes with 46 tests, clean validation and a passing small-saas profile. This is an agent review, not human sign-off, and it records no consumer adoption or conformance claim. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AUkN13CAqtXWPXuEiEtmJj Assistant: claude-code Assistant-Model: opus Assistant-Process: 36656@bnt-lap001 Assistant-Session: 66d6eece-d245-43ca-85e8-68a1b5970a67
2026-09-20 21:49:47 +02:00
# SecurityCanon extension boundary
Status: accepted for the semantic boundary documented below, reviewed by Claude
in the InfoTechCanon repository on 2026-09-20. This is an agent review, not a
claim of separate human sign-off or a published peer merge.
Review target: security-canon draft 0.2.0 at
`b1fa25ebe3204b5da0febf70190533711c19fbce`.
InfoTechCanon review base and import source:
`e1f98da015f32545254747c8e9f59b780c423d5b`.
SecurityCanon supplies an architecture-layer vocabulary for authority
relationships — the Mode of Authority — and references shared InfoTechCanon
concepts. InfoTechCanon retains the shared roots, the access-control model, the
identity model, and the CARING access governance standard.
## Accepted dispositions
- **Layer separation.** Mode of Authority describes the relationship in which
authority is exercised; CARING analyses how an access-control implementation is
composed. Both may describe the same system without either subsuming the
other. Recorded on the SecurityCanon side as SEC-ADR-001.
- **Auth Mode is orthogonal to access operation.** `read + USE` and
`read + OBSERVE` share an operation and differ in authority relationship.
AccessOperations remains owned by ITC-ACCESS and is imported, not redefined.
- **Auth Mode is orthogonal to CARING Canonical Role and Plane.** The three
answer different questions. The CARING `Operator` role and the `OPERATE` auth
mode are not the same concept and neither is renamed; a disambiguation page in
SecurityCanon is the required companion.
- **Actor/Subject is not reused.** ITC-ACCESS owns `Subject` and binds it as
"Subject is the access-control view of an actor", with actor semantics owned by
the Organization Model. SecurityCanon renamed its on-behalf-of dimension to
`AuthorityContext` rather than overloading either word. No change is required
in InfoTechCanon.
- **Scope, AccessOperations, PrincipalType and Purpose are imports.** They retain
their InfoTechCanon owners. Purpose resolves to the Purpose and Demand
extension rather than being defined in SecurityCanon.
- **EvidenceBoundary is a new concept, not an alias of the CARING Audit Plane.**
The Audit Plane names a surface; EvidenceBoundary asks whether the observed
actor can alter, suppress or bypass the evidence used to observe it.
- **No InfoTechCanon concept is transferred.** This boundary creates no removal,
relocation or deprecation in InfoTechCanon, so the InfoTechCanon corpus is
unchanged by it.
## Evidence and limits
Reviewed `infospace/vocabulary/mode-of-authority/SecurityCanonModeOfAuthority.md`,
`auth-modes.yaml`, `dimensions.yaml`, `imports.json`,
`infospace/mappings/mode-of-authority-to-infotechcanon.md` and
`infospace/interfaces/federation.yaml` at the SecurityCanon revision above.
All five manifest SHA-256 values match Git blobs at the declared InfoTechCanon
source revision, and those files are unchanged in the review checkout:
InfoTechCanonCore, InfoTechCanonAccessControlModel, InfoTechCanonIdentityModel,
InfoTechCanonOrganizationModel, and InfoTechCanonPurposeDemandExtension.
None of the seven concepts SecurityCanon declares — AuthMode, AuthorityContext,
AuthorityRealm, AuthorityProvenance, Activation, EvidenceBoundary,
AccessSituation — appears in any InfoTechCanon `owned_concepts` declaration, so
this boundary introduces no ownership conflict.
Limits of this acceptance:
- Scoped to SecurityCanon draft 0.2.0. No stable promotion is asserted.
- Acceptance covers the semantic boundary and import declarations. It records no
consumer adoption, no runtime claim, and no conformance statement.
Generalise the CARING section 32 role set (R-2, INFO-DEC-2026-001) The role set — Principal, effective actor, Delegator, tool or agent, policy ceiling, execution context, audit identity — now applies wherever a subject's access is exercised through another party, rather than to non-human subjects only. The gap this closes is not about agents. A support operator impersonating a customer involves no non-human subject anywhere in the path, yet without the decomposition that operator's audit identity and policy ceiling collapse into the customer's, which is the outcome CARING's exposure analysis exists to prevent. CARING already names customer impersonation as an exposure mode and ImpersonationBlocked as a control; the vocabulary for analysing it was gated to subjects the case does not involve. Section 33 was already subject-agnostic, so the canon applied the execution paths to any subject while restricting the roles along those paths to non-human ones — an artifact of the section heading, not a considered position. Accepted narrowly. Section 32.1 stays agent-stated, with a note on reading the capability ceiling for a human effective actor. No role is removed, renamed or added, and section 33 is untouched. Option C, a twelfth dimension, is rejected as duplicating sections 32 and 33 while touching a dimension set the Kubernetes RBAC benchmark depends on. Canon version moves to 0.4.0-RC2-itc2; source version stays 0.4.0-RC2, since this revises the InfoTechCanon-aligned standard and claims nothing about upstream CARING. The change is additive: an implementation that applied the set only to non-human subjects stays conformant for those subjects. Review record in history/; the SecurityCanon boundary file and placement record are updated to show R-2 resolved. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 3588@bnt-lap001 Assistant-Session: 24b80f66-e5a7-4e61-99fe-2d422e6d17da
2026-09-20 23:55:11 +02:00
- A proposal to generalise CARING section 32 beyond non-human subjects was
referenced by SecurityCanon and not accepted at the time of this review. It
was reviewed separately on 2026-09-20 and **accepted** as INFO-DEC-2026-001;
see `history/2026-09-20_235357+0200-caring-32-generalisation.md`. CARING moves
to canon version 0.4.0-RC2-itc2. The change is additive and affects no
SecurityCanon declaration.
Accept the SecurityCanon extension boundary SecurityCanon publishes an architecture-layer vocabulary for authority relationships, the Mode of Authority, and references shared InfoTechCanon concepts. This records the InfoTechCanon-side acceptance of that boundary and adds reciprocal navigation from the federation interface README. The accepted dispositions keep the layers apart. Mode of Authority describes the relationship in which authority is exercised; CARING analyses how an access-control implementation is composed. Auth Mode is orthogonal to access operation and to CARING's Canonical Role and Plane, so the Operator role and the OPERATE mode stay distinct concepts and neither is renamed. SecurityCanon does not reuse Actor or Subject, which ITC-ACCESS owns and binds as "Subject is the access-control view of an actor"; it renamed its on-behalf-of dimension to AuthorityContext instead, so no change is required here. Verified at security-canon b1fa25eb: all five pinned manifest hashes match Git blobs at this commit and the sources are unchanged in the review checkout, and none of the seven concepts SecurityCanon declares appears in any InfoTechCanon owned_concepts declaration, so the boundary introduces no ownership conflict. No concept is transferred and nothing is removed, so the corpus is unchanged. Generated indexes and the repository tree are refreshed for the added file; make check passes with 46 tests, clean validation and a passing small-saas profile. This is an agent review, not human sign-off, and it records no consumer adoption or conformance claim. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AUkN13CAqtXWPXuEiEtmJj Assistant: claude-code Assistant-Model: opus Assistant-Process: 36656@bnt-lap001 Assistant-Session: 66d6eece-d245-43ca-85e8-68a1b5970a67
2026-09-20 21:49:47 +02:00
- The G7 validator in `prj-canon-federation` pins card paths for
info-tech-canon, commerce-canon and the-custodian. Registering the
security-canon card is that project's change; this review does not make it.
## Re-verification — 2026-09-20 (INFO-WP-0027-T04)
Re-run against the enlarged InfoTechCanon ownership index (750 entries, up from
164) after INFO-WP-0027-T02 gave every defining artifact an `owned_concepts`
declaration. The original acceptance compared SecurityCanon's concepts against
the declarations that existed then; this re-runs it against declarations that
now cover the corpus.
**No ownership conflict.** None of the nine SecurityCanon-owned concepts —
AuthMode, AuthorityContext, AuthorityRealm, AuthorityProvenance, Activation,
EvidenceBoundary, AccessSituation, Time, and the dimension slot for Environment —
collides with an InfoTechCanon declaration. The boundary's central claim holds.
**Five of the twelve declared imports do not resolve by name.** The original
review verified the manifest by file hash, and every hash matched; it never
checked that the named concept exists in the named artifact. The enlarged index
makes that checkable:
| Import | Pinned to | Resolves to | Finding |
| --- | --- | --- | --- |
| `Artifact` | InfoTechCanonCore | `model/devsecops` | Core owns `CanonArtifact`, "any identifiable unit of canon content". There is no Core `Artifact`. The name now resolves to the DevSecOps build artifact, a different concept. |
| `Ownership` | InfoTechCanonCore | `model/organization` | The kernel map assigns Ownership and Stewardship to Organization. The pin names the wrong artifact. |
| `Relationship` | InfoTechCanonCore | `model/identity` | Core owns `RelationshipDefinition`; the identity model owns `Relationship` as its actor-linking taxonomy. The pin names the wrong artifact and arguably the wrong concept. |
| `AccessOperations` | InfoTechCanonAccessControlModel | unowned | ITC-ACCESS defines `Operation`, "a system-specific or API-specific action". `AccessOperations` is SecurityCanon's own compaction of it. |
| `PrincipalType` | InfoTechCanonIdentityModel | unowned | The name appears nowhere in the identity or access-control models. |
These are SecurityCanon-side manifest corrections, not InfoTechCanon changes. No
InfoTechCanon concept is renamed, moved or removed to accommodate them, and the
semantic boundary recorded above is unaffected: each case is a citation naming
the wrong artifact or a name InfoTechCanon never used, not a contested concept.
**Method limit, now closed.** Hash verification proves the reviewed file is the
file that was pinned. It says nothing about whether the concept named in the
manifest exists in it. Both checks are needed, and only the first was run in the
original acceptance.
Check import manifests by hash and name together (INFO-WP-0028 T01-T03) import-review takes any partner manifest and returns, per concept, whether the name resolves in the ownership index and to which artifact, and per entry whether the pinned SHA-256 matches the blob at the declared source commit. Both run in one pass so neither can be recorded without the other, which is the failure this workplan exists to prevent. It exits non-zero on a finding, reads JSON or YAML, needs no partner checkout, and carries its own limit: resolution proves a name exists and names one owner, nothing more. Accepted manifests are registered under infospace/interfaces/manifests/ as provenance-preserving copies owned by the partner, with the partner revision and retrieval date recorded. Editing a copy to make a check pass is forbidden in the file itself. Validation re-resolves them and reports drift as federation_import_drift, a warning naming the partner rather than an error, because a stale partner pin is not this repository's file to fix. The review kit gains an extension-boundary-review template requiring hash count, resolution count and conflict count as three separate lines, and an operating rule saying one is never evidence of another. Both boundary files carry the standing-check result. Verified live: security-canon resolves 11 of 11, interface-canon 23 of 25 with the two known Interface and Endpoint pins. make check passes with 58 tests, clean validation and those two warnings. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 3588@bnt-lap001 Assistant-Session: 24b80f66-e5a7-4e61-99fe-2d422e6d17da
2026-09-20 23:43:34 +02:00
## Standing check — 2026-09-20 (INFO-WP-0028)
This partner's import manifest is registered at
`infospace/interfaces/manifests/security-canon.json` as a provenance-preserving copy and is
re-resolved on every `make check`. Hash and name are checked together by
`info_tech_canon import-review`; a name that stops resolving, or resolves to a
different owner than the manifest pins, is reported as a
`federation_import_drift` warning naming this partner. It is a warning and not an
error because a stale partner pin is not this repository's file to fix.
Current result: **11 of 11 declared imports resolve**, all six pinned hashes match, no drift.