Minimum-Necessary Disclosure¶
Core Idea¶
Minimum-necessary disclosure is the arrangement in which a producer delivers only the subset of its authoritative record that the consumer's role requires, with the surplus stripped at the source rather than left to the consumer to filter. The essential move is projection-at-source under a role-keyed allow-list: because the channel is observable to every party on the path, the only confidentially sound place to bound disclosure is the producer.
How would you explain it like I'm…
Only Share What's Needed
Trim Before You Send
Need-To-Know Projection
Broad Use¶
- Regulatory regimes: GDPR data minimization; HIPAA's minimum-necessary rule.
- Classified handling: clearance plus need-to-know; a cleared person receives only what the assignment requires.
- API security: project response payloads at the producer rather than ship the whole record (the excessive-data-exposure failure).
- FOIA redaction: requesters receive records minus the exemption set, redacted by the disclosing agency.
- Statistical-disclosure control: cell suppression and noise addition applied before a dataset is released.
- Biology: cell membranes and the blood-brain barrier project what passes outward; the receiving compartment does not filter what has arrived.
Clarity¶
Naming the arrangement makes the location of the projection an explicit design choice, and reframes a moral question ("who is to blame for a leak?") as an architectural one ("which party can actually enforce the bound?") — always the producer.
Manages Complexity¶
Many regulatory and security requirements compress into one diagnostic — identify producer, consumer-role, allow-list, project at source — with the leverage being the default-deny inversion that handles each new field correctly until explicitly admitted.
Abstract Reasoning¶
Consumer-side controls cannot provide a confidentiality guarantee, allow-lists are strictly more conservative than deny-lists, and wire observability collapses many attacker classes into one: anyone on the path.
Knowledge Transfer¶
- Classified doctrine to API design: a cleared client is entitled only to what its assignment requires, not all fields the producer holds.
- GDPR/HIPAA to engineering: data minimization becomes per-role response projection, designed in rather than retrofitted.
- Litigation discovery to audit design: auditors receive what their engagement requires, not the whole log.
Example¶
A REST endpoint returning a user object projects a per-role serializer so a public-profile widget receives exactly {name, avatar_url}; if the server instead ships the whole object and trusts the widget's JavaScript to render only those fields, the email and billing token still travelled on the wire and are recoverable.
Relationships to Other Primes¶
Parents (1) — more general patterns this builds on
- Minimum-Necessary Disclosure presupposes Access Control — The file: minimum_necessary_disclosure operates AFTER authorization — access_control gates who-may-read; this prime governs response-payload breadth under authorized access, projecting surplus at the source. It presupposes access_control (entry is already granted) and bounds what travels.
Path to root: Minimum-Necessary Disclosure → Access Control → Authority
Not to Be Confused With¶
- Minimum-Necessary Disclosure is not Access Control because access control gates who may read a record at all, whereas this prime governs response-payload breadth under already-authorized access.
- Minimum-Necessary Disclosure is not Information Hiding because information hiding conceals a module's internals behind an interface, whereas this prime strips surplus fields from the payload so they never travel.
- Minimum-Necessary Disclosure is not Principle of Least Privilege because least privilege limits an actor's capabilities, whereas this prime limits the data delivered to an authorized actor.