Hiding protection removes protection
Excluding a sensitive vault from discovery appears safe until its mirror, drift detection, version ledger, and token accounting disappear too. The memory needing the strongest protection becomes the least observed.
The corrected model stewards every registered soul vault. Dad's operating surface sees the whole state and derived stores stay maintained. A fresh actor check occurs only when a fragment or result leaves for a brain context. Management scope and exposure scope are separate.
Permission belongs at every exit
Filtering only search leaves Related, delegation payloads, or direct reads as alternate paths. Browser reads, lexical results, vector neighbors, task materialization, and writes must all call the same can_read or can_write decision.
Copied conditionals drift. One path blocks a super while another trusts a cached classification. Keep the matrix canonical and pass actor, target, and operation from each surface.
Human visibility and brain visibility differ
Dad observing the state of a super vault in an operating UI is not equivalent to feeding its prose into Pippa's brain context. One is a human super-user read; the other is computational input under a particular soul identity.
Without that distinction, security either hides operational truth from Dad or treats Dad-facing visibility as permission for every brain. Surface and actor must be modeled together.
Record denial without leaking payload
A silent empty result makes forbidden memory look absent. No match and not allowed are different states. Return a typed denial and an audit event without exposing sensitive text.
The deny log itself must not contain the fragment it protected. Actor, target vault identity, operation, policy version, and time are enough to prove enforcement without turning the audit trail into a side channel.