024-hardening
Hardening: trusted client identity, the operator role gate, exposure review of every route
Lifecycle approvedImplementation completeVerification unknownQualification unknown
X-Forwarded-For is evidence, not identity: it becomes identity only when the operator states how many hops in front of the cell are theirs. This spec adds the client identity resolver the rate limiter keys on, the operator role gate that internal surfaces (the trace ring, ledger inspection, backup triggers) sit behind with no rate limiter on top, and an exposure table that every mounted route must appear in with its authentication class, asserted by a test so an unreviewed public route cannot land. Carries enrahitu://025.
Read the full pinned specification ↗Relationships
depended on by
Claimed units
- establishes
{ "kind": "file", "path": "crates/rahi-edge/src/client_identity.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-edge/src/operator.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-edge/src/exposure.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-edge/tests/hardening.rs" } - extends
{ "nature": "additive", "spec": "020-edge-server", "unit": { "kind": "file", "path": "crates/rahi-edge/src/lib.rs" } } - extends
{ "nature": "additive", "spec": "020-edge-server", "unit": { "kind": "file", "path": "crates/rahi-edge/src/middleware/rate_limit.rs" } } - extends
{ "nature": "additive", "spec": "020-edge-server", "unit": { "kind": "file", "path": "crates/rahi-edge/src/router.rs" } }
Source headings
- 024: Hardening
- 1. Purpose
- 2. Territory
- 3. Behavior
- 4. Functional requirements
- 5. Acceptance criteria
- 6. Out of scope
- 7. Resolved decisions
- Verification
Frozen anchors
No frozen anchors declared.