Owner decision of 2026-09-20 answering four of the five open questions from the Mode of Authority assessment, recorded as SEC-DEC-0001 with the reasoning in docs/adr-001-securitycanon-boundary.md. CARING stays in InfoTechCanon: it is implementation-layer and imports eleven InfoTechCanon models, and SecurityCanon should help rather than hinder keeping InfoTechCanon practical. Identity stays a shared root, since pulling it in would collapse too much into security and it reaches into personhood; a dedicated identity or personhood canon is deferred, not rejected. Mode of Authority is architecture where CARING is implementation — different layers of abstraction, neither subsuming the other, but they must not use the same word for different things. No service surface is duplicated: integration is uniform across commerce-canon, interface-canon and security-canon through the canon-federation interface card, and InfoTechCanon's service stays the only one. Content migration is therefore no longer a goal. T02 narrows from a disposition review to concept placement, T03 becomes a non-collision survey, and T05, the migration workplan handoff, is cancelled. T06 gains the three-way mapping table and T07 becomes the terminology separation decision. The remaining open question is analysed in docs/260920-actor-subject-implications.md. InfoTechCanon's access-control model already owns Actor and Subject and binds them as "Subject is the access-control view of an actor", while Mode of Authority uses the same two words for two distinct parties; and CARING already carries the split for non-human subjects. The note recommends renaming Mode of Authority's second party to Authority Context rather than changing a release-candidate standard. 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
163 lines
7 KiB
Markdown
163 lines
7 KiB
Markdown
---
|
||
id: SEC-NOTE-260920
|
||
type: analysis
|
||
title: "Implications of the Actor/Subject split for CARING and the access-control model"
|
||
repo: security-canon
|
||
status: for-discussion
|
||
created: "2026-09-20"
|
||
relates_to: SEC-ADR-001
|
||
carried_by: SECURITY-WP-0001-T07
|
||
---
|
||
|
||
# Implications of the Actor/Subject split
|
||
|
||
Question 3 of the [Mode of Authority assessment](../history/260920-mode-of-authority-and-canon-structure.md),
|
||
left open by [SEC-ADR-001](adr-001-securitycanon-boundary.md) for review and
|
||
discussion. This note does not decide it.
|
||
|
||
## 1. What MoA proposes
|
||
|
||
MoA §19–20 splits the acting entity from the authority context:
|
||
|
||
```text
|
||
actor = support-agent ← the entity performing the action
|
||
subject = customer-123 ← whose authority context is being used
|
||
relation = IMPERSONATED ← or DELEGATED
|
||
```
|
||
|
||
The claim is that `actor = subject` is the normal case but not the universal
|
||
one, and that delegation, impersonation, service accounts, token exchange and
|
||
agentic automation all depend on being able to say so.
|
||
|
||
The claim is correct. The problem is entirely one of naming.
|
||
|
||
## 2. The finding that reframes the question
|
||
|
||
**The split already exists downstream — twice — under different names.**
|
||
|
||
### InfoTechCanon access-control model §11.2
|
||
|
||
```text
|
||
Subject is the access-control view of an actor.
|
||
Actor semantics are owned by the Organization Model.
|
||
```
|
||
|
||
So InfoTechCanon already owns both words, and binds them in a **specific
|
||
relationship**: Subject is a *view of* Actor. Actor is owned by the Organization
|
||
Model, not by access control at all.
|
||
|
||
MoA uses the same two words for a **different relationship**: Actor and Subject
|
||
are two distinct parties, one acting on behalf of the other.
|
||
|
||
This is not an overlap that can be papered over. Under SEC-ADR-001 D2 — related
|
||
concepts at different layers must not share a word for different things — this is
|
||
the clearest violation in the entire vocabulary, and it is MoA's to fix, because
|
||
InfoTechCanon owns the terms and owned them first.
|
||
|
||
### CARING §32
|
||
|
||
For non-human subjects, CARING already distinguishes:
|
||
|
||
```text
|
||
Principal
|
||
Effective actor
|
||
Delegator
|
||
Tool or agent
|
||
Policy ceiling
|
||
Execution context
|
||
Audit identity
|
||
```
|
||
|
||
with an explicit agent access formula:
|
||
|
||
```text
|
||
Effective Agent Access =
|
||
Delegated Human/System Authority
|
||
∩ Agent Capability Ceiling
|
||
∩ Scope Boundary
|
||
∩ Exposure Policy
|
||
```
|
||
|
||
and it classifies execution paths as Direct, Delegated, Mediated and Induced
|
||
(§33), with an `ImpersonationBlocked` restriction (§29).
|
||
|
||
**CARING therefore does not lack the distinction.** It has a richer one than MoA
|
||
— Delegator, audit identity, capability ceiling, induced paths — but it is scoped
|
||
to non-human subjects and expressed as a formula rather than as a general
|
||
dimension.
|
||
|
||
### Consequence
|
||
|
||
The original framing — "does MoA's split replace CARING's single Subject
|
||
dimension?" — rests on a false premise. CARING's Subject dimension is not single;
|
||
§32 and §33 already carry the split. The real questions are narrower:
|
||
|
||
1. What does MoA call its two parties, given InfoTechCanon owns *Actor* and
|
||
*Subject* with a different meaning?
|
||
2. Should CARING's §32 vocabulary be generalised beyond non-human subjects?
|
||
|
||
## 3. Options for question 1 — naming
|
||
|
||
| Option | Description | Assessment |
|
||
| --- | --- | --- |
|
||
| **A. MoA adopts the downstream names** | Use CARING's `Principal` / `Effective actor` / `Delegator`. | Rejected. Imports implementation vocabulary into the architecture layer, which inverts the layering SEC-ADR-001 D2 establishes. |
|
||
| **B. MoA renames its second term** | Keep `Actor`; rename MoA's `Subject` to something unambiguous — `Authority Context`, `Mandate Source`, or `On-Behalf-Of Party`. | **Recommended.** Smallest change, no upstream churn, and it removes the collision at its source. `Actor` survives because MoA's use is compatible with the Organization Model's ownership of actor semantics. |
|
||
| **C. Change InfoTechCanon** | Redefine Subject upstream so both readings align. | Rejected. Edits a release-candidate standard and eleven dependent models to accommodate a draft. Contradicts D1's "help, not hinder". |
|
||
| **D. Document and live with it** | Keep both meanings, add a disambiguation page. | Rejected as a primary answer. A disambiguation page is needed regardless, but it is not a substitute for not having the collision. |
|
||
|
||
Under option B, the MoA notation becomes:
|
||
|
||
```text
|
||
support-agent:
|
||
USE @ tenant/acme
|
||
authority_context = customer-42
|
||
relation = IMPERSONATED
|
||
```
|
||
|
||
`Authority Context` is preferred over the alternatives because it names what the
|
||
field actually holds — the authority being drawn on — rather than a party, which
|
||
keeps it true when the on-behalf-of target is a role or a mandate rather than a
|
||
person.
|
||
|
||
## 4. Options for question 2 — generalising CARING §32
|
||
|
||
The split matters for human-on-human cases too: a support agent impersonating a
|
||
customer involves no non-human subject, yet needs exactly the same treatment.
|
||
|
||
| Option | Description | Assessment |
|
||
| --- | --- | --- |
|
||
| **A. Leave CARING unchanged** | Non-human scoping stands; SecurityCanon maps into it. | Viable. Zero upstream cost. Leaves a real gap for human impersonation. |
|
||
| **B. Generalise the §32 role set** | Drop "for non-human subjects"; the roles apply to any subject. | **Recommended, if and when InfoTechCanon wants it.** Additive, non-breaking, and the formula already generalises unchanged. |
|
||
| **C. Add a full dimension** | Promote actor/authority-context to a twelfth CARING dimension. | Premature. §32 and §33 cover the cases; a new dimension would duplicate them. |
|
||
|
||
Option B is an InfoTechCanon change, not a SecurityCanon one. Per SEC-ADR-001 it
|
||
should be raised as a demand signal against InfoTechCanon and accepted on its own
|
||
merits, not bundled into SecurityCanon's vocabulary work. **Nothing in
|
||
SecurityCanon blocks on it.**
|
||
|
||
## 5. What SecurityCanon does regardless of the outcome
|
||
|
||
Independent of both questions, the vocabulary promotion (`SECURITY-WP-0001-T06`)
|
||
must publish a mapping table at the boundary, because three vocabularies describe
|
||
these entities today and readers will meet all three:
|
||
|
||
| MoA (architecture) | ITC access control | CARING (implementation) |
|
||
| --- | --- | --- |
|
||
| Actor | Subject / Principal | Principal, Effective actor |
|
||
| Authority Context *(proposed)* | — | Delegator |
|
||
| relation = DELEGATED | — | Delegated Access (§33.2) |
|
||
| relation = IMPERSONATED | — | Customer impersonation; `ImpersonationBlocked` |
|
||
| — | — | Audit identity, capability ceiling |
|
||
|
||
The blank cells are informative: MoA has no notion of a capability ceiling, and
|
||
InfoTechCanon's access-control model has no on-behalf-of relation at all. Neither
|
||
gap is urgent, and neither is a reason to move content between canons.
|
||
|
||
## 6. Recommendation
|
||
|
||
Adopt **3B** — rename MoA's second party to `Authority Context` — and treat
|
||
**4B** as a separate, optional demand signal against InfoTechCanon. Publish the
|
||
mapping table in §5 as part of the vocabulary promotion either way.
|
||
|
||
This keeps the collision out of the canon without touching a release-candidate
|
||
standard, which is what SEC-ADR-001 D1 and D2 jointly ask for.
|