Skip to content

Privacy · research july 2026 · published 2026-08-03 · v1 · 3 min read

Custody is not visibility

Holding duties for a container of someone else's material and being allowed to read inside it are two different powers

Why the party responsible for a shared container is not thereby entitled to read what is inside it, and the schema rule that keeps the two powers apart. The canonical treatment of the custody axis.

In brief
The problem

verified

Every claim this passage rests on has been checked against its sources.

  • "GDPR Article 29 provides that a processor, and any person acting under the authority of a controller or processor who has access to personal data, shall not process those data except on instructions from the controller, unless required to do so by Union or Member State law."

    verified. The regulation's own text, verified externally at authoring time.

Open the complete evidence in the structured publication.

Systems express organizational responsibility for a shared container by giving the responsible party ownership of it, which hands them read access as a side effect nobody decided to grant.
The mechanism

verified

Every claim this passage rests on has been checked against its sources.

  • "Our space-scope decision record introduces a custody column that grants zero read access and no read policy may reference the custodian."

    verified. ADR-019, which states the rule as a constraint on policy authorship rather than as a default that policies may override.

Open the complete evidence in the structured publication.

Custody answers who owes duties when a container has to be concluded and visibility answers who may read inside it, so a schema that derives reading from responsibility has collapsed two independent questions into one column and can no longer answer either separately.
The move

position

This is the publication's stated position, not an empirical claim. It rests on the argument rather than graded evidence.

Open the complete evidence in the structured publication.

Model custody and visibility as separate axes, and forbid any read policy from naming the custodian at all, so the separation is a property of the schema rather than a habit of the people writing queries.

Somebody has to hold the room. When a group has a shared container, a therapeutic space, a cohort, a family archive, one party carries the duties that only make sense at the level of the whole thing. Concluding it. Suspending it. Answering when a member leaves and something has to be done about what they left behind. Initiating erasure when erasure is owed. That party is the custodian, and the question almost every schema answers wrongly is what else the role comes with.

European data law has held the two powers apart for years without anyone calling it an architecture. Article 29 of the General Data Protection Regulation says that a processor, and any person acting under the authority of a controller or processor who has access to personal data, shall not process those data except on instructions from the controller. Access and entitlement are treated as different facts about the same person. Holding the material is a position; reading it is an act that needs its own authorization, and the law declines to let the first imply the second.

Software collapses them constantly, and usually by accident rather than by decision. There is no column for the custodial container, so the product fakes one by giving the container to a member and adding an exception list on top, and now the party carrying the duties also carries a read path they were never separately granted. The mechanism of the failure is that custody answers who owes duties when the container has to be concluded and visibility answers who may read what is inside it, so a schema that derives reading from responsibility has folded two independent questions into one column and can no longer answer either of them on its own terms. What makes this worse than an ordinary permissions bug is that it never surfaces as one. Nobody filed a ticket asking for the custodian to be able to read the room. The read path arrived attached to the duty, and it is invisible precisely because it was never requested.

The correction we adopted is dull to describe and load-bearing to have. Custody became its own column, and the rule written next to it is that the column grants zero read access and no read policy may reference the custodian. Not that the custodian is denied by default and may be permitted later. That the read policies are forbidden from mentioning the role at all, which removes the shortcut rather than closing it. Downstream, where visibility is actually decided, the custodian is one audience key among many, and absent an explicit rule naming it, a custodian is refused exactly like a stranger. The duties still transfer when they have to, including the case where the custodian deletes their account and the container would otherwise be left with nobody answering for it. What does not transfer with them is a view inside.

The reason to hold this line has nothing to do with distrusting custodians, most of whom would never look. It is that a role which quietly includes reading cannot be given to anyone the group has not already decided to expose themselves to, which means the duties end up concentrated in whoever is most trusted rather than whoever is best placed to carry them. Separate the axes and custody becomes a job instead of a privilege, delegable to a person, an institution, or eventually a process, without anyone having to weigh whether that party deserves to read the room in order to keep it. A group that can name a keeper without naming a reader has more ways to be safe together than one that cannot.

Evidence and lineage

Research trail

Follow the sources, inspect how the claims are graded, or propose a correction at the exact record it concerns.

Sources 3
  1. European Union (2018). General Data Protection Regulation, Article 29 (processing under the authority of the controller or processor)

    The public precedent for the separation. A party with access to personal data is not thereby entitled to process it; the entitlement has to come separately, from instructions. The law treats holding and reading as different facts, which is the brick's whole claim in older language.

    Comment on this source
  2. MNSTRY platform documentation (2026). ADR-019 (space scope and custody axes) and ADR-023 (audience-scoped projection engine)

    The internal decisions. ADR-019 introduces custody as its own axis and states the zero-read rule; ADR-023 is where visibility is actually decided and confirms that a custodian is denied like anyone else absent an explicit rule naming them.

    Comment on this source
  3. MNSTRY platform documentation (2026). Database architectural rationale, Appendix A (historical design debates)

    The lineage of custody as a role rather than an ownership claim, including the orphan-adoption case in which custody of a shared document transfers when the original custodian's account is deleted. Evidence that duties move without a view moving with them.

    Comment on this source
Claims and confidence 6
  1. verified

    GDPR Article 29 provides that a processor, and any person acting under the authority of a controller or processor who has access to personal data, shall not process those data except on instructions from the controller, unless required to do so by Union or Member State law.

    The regulation's own text, verified externally at authoring time.

    Respond to this claim
  2. verified

    Our space-scope decision record introduces a custody column that grants zero read access and no read policy may reference the custodian.

    ADR-019, which states the rule as a constraint on policy authorship rather than as a default that policies may override.

    Respond to this claim
  3. verified

    In our projection engine, custodian is one audience key among others, and absent an explicit custodian rule in a disclosure specification a custodian recipient is denied like any other recipient.

    ADR-023, which restates the separation concretely at the layer where visibility is computed.

    Respond to this claim
  4. verified

    Before the custody axis existed, organization-held containers were expressed by assigning them to a member's own scope plus an allow-list, which conflated custody with visibility.

    The context section of ADR-019, which names the conflation as the reason for the decision.

    Respond to this claim
  5. verified

    In our schema the scope columns are immutable after insert while custody is transferable, and the custodian reference restricts deletion so a container cannot be left silently without a custodian.

    ADR-019's immutability and referential rules, with the stated preference that failing closed beats vacant custody.

    Respond to this claim
  6. verified

    A historical design debate in our database rationale added orphan adoption, in which custody of a shared document can transfer when the original custodian deletes their account.

    Appendix A of the architectural rationale, recording the evolution from the earlier soft-delete-only answer.

    Respond to this claim

Read next

Or survey the topics.

Concepts in this piece 1

Add to the work

Contribute to Custody is not visibility

Write the useful part. Identity, provenance, and review history are attached when you submit. The published source stays unchanged.

Target Custody is not visibility

Contribution intent
Use an agent instead

The interface is ready. Public authenticated intake remains off until the hosted migration and feature flag are deployed together.