You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(people): keep authenticated tenant authority structurally detached after access #331
Canonical governed-People owner #55 detached the constructor input in #330, but still retained the reconstructed mutable uuid.UUID object as the public AuthenticatedPrincipal.tenant_record_id field. A consumer could read that field, mutate the returned UUID through low-level object.__setattr__, and change the principal's later tenant view after authentication.
This violates the existing scalar-authority invariant: trust-bearing UUID authority must be retained as interpreter-immutable scalar evidence, with public UUID views reconstructed fresh. It is distinct from #330, which proved constructor-time caller-alias detachment and exact scalar/type validation but did not prove post-construction field access could not expose the retained UUID object.
Repair lineage
RED contract: 38eb24179d5dbad5d102ebc10f30031ec013bbbf.
Causal repair: 0e93773f099b7925a67c63a2079aa4a842ff8d9a retains tenant authority as tuple-backed exact built-in integer evidence and reconstructs a fresh UUID on access.
Fresh final-head Foundation/Security/CodeQL are queued and SAST is pending. No predecessor evidence transfers, hosted GREEN, self/model approval, force-push, destructive rebase, or gate weakening is claimed. Keep this issue open until final #55 protected acceptance and integration.
Activity