Expand description
Egress-scope vocabulary — a closed, extensible classification of where
a provider’s content goes (docs/context-reuse.md §3).
DataFlow.egress answers a yes/no question: does anything leave the machine?
That boolean is enough to gate consent, but not enough to record it: an
auditor asking “what left, and to whom?” months later needs the class of
destination, not just the fact of departure. EgressScope is that class.
Four normative base scopes form the closed core every host and provider agree on:
LocalOnly— nothing leaves the machine.OrgTenant— leaves the machine but stays inside the organization’s own infrastructure.ThirdPartyIndex— content sent to an external index / embedding service.ThirdPartyModel— content sent to an external model API.
The vocabulary is extensible by Custom scopes,
which MUST be namespaced (vendor:scope-name) so a custom scope can
never collide with — or be mistaken for — a base class. Everything other
than local-only is treated as off-machine:
an unrecognized custom scope is conservatively assumed to leave.
A provider declares its scopes in DataFlow::egress_scopes;
a scope governs every frame that provider serves (there is no per-frame
scope — the serving provider’s declaration is the frame’s egress class).
Enums§
- Egress
Scope - Where a provider’s served content may go. A closed base vocabulary of four
classes plus namespaced custom extensions (
docs/context-reuse.md§3).