Information Hiding¶
Core Idea¶
Information hiding is the pattern of deliberately concealing some internal facts behind a stable public surface, so consumers interact only with the surface and cannot depend on what lies behind. The concealment is purposive: a Boundary, a stable contract, and controlled crossings together cap each consumer's dependency — secrecy is the means, freedom-to-change the end.
How would you explain it like I'm…
Buttons, Not Wires
Hide The Messy Insides
Stable Surface, Free Insides
Related tensions in practice¶
- Information hiding in tension with runtime observability — related tension
Cross-Domain Echoes¶
See how this entry connects to another domain.
Broad Use¶
- Software: Parnas module decomposition, OO encapsulation, opaque handle types, the principle of least privilege.
- Governance: cabinet confidentiality, peer-review anonymity, the corporate veil, trade-secret protection.
- Diplomacy: back-channel negotiations behind public positions; intelligence sources-and-methods protection.
- Law: attorney-client privilege, physician-patient confidentiality, the rule against character evidence.
- Biology: the cell membrane as a controlled interface over concealed biochemistry; hormones as the contract over hidden organ-level state.
- Cryptography: zero-knowledge proofs, secure multi-party computation, differential privacy.
Clarity¶
Shifts the question from "what does X reveal?" — forensic — to "what should X reveal, given what we want to be free to change?" — design — and names the implicit-coupling failure mode.
Manages Complexity¶
Replaces whole-system understanding with Interface understanding, shrinking the coupling budget from "n × m internal facts" to "n × contract size" — a quadratic-to-linear simplification.
Abstract Reasoning¶
Frames any system-with-consumers around four questions: what is concealed, what is promised, what may cross, and where does the concealed side leak through unintended channels.
Knowledge Transfer¶
- Diplomatic protocol: a software architect reading a back-channel case study sees the same contract design.
- Cell biology: a cryptographer reading a hormonal-signaling paper sees the same boundary discipline.
- API governance: semantic versioning and audited specifications are contract-enforcement moves shared with oath-keeping institutions.
Example¶
A hash-table module exposes only get, put, delete and hides the bucket
layout, freeing the maintainer to swap the hash function — but if callers come
to depend on iteration order, that observable side effect becomes part of the
contract (Hyrum's law) and the freedom is lost.
Relationships to Other Abstractions¶
Current abstraction Information Hiding Prime
Parents (2) — outgoing typed relations
-
Information Hiding is a kind of, typical Abstraction Prime
Both present a simplified surface over a complex interior; frames hiding as a change-protection-motivated specialization adjacent to abstraction (which selects for comprehension).
-
Information Hiding presupposes Boundary Prime
Information hiding is a deliberately-drawn boundary with a controlled-access policy (concealed-side vs visible-side); it presupposes a boundary as its load-bearing element.
Children (6) — abstractions linked here by typed relations
-
Hidden algebra Domain-specific is a kind of Information Hiding
What makes it its own entry: the domain-specific identity determined by hidden and visible sorts, operations, observation contexts, behavioral satisfaction, and the equivalence proof rule are declared and preserve observable behavior.
-
Network Transparency Domain-specific is a kind of Information Hiding
Network Transparency is a strict kind of Information Hiding: it hides remote location and distribution behind substantially local-looking interfaces and names.
-
Source Protection Domain-specific is a kind of Information Hiding
Source Protection is the investigative-journalism specialization of Information Hiding, concealing a provider's identity behind a controlled public reporting surface.
-
Containerization Prime is a kind of, typical Information Hiding
Containerization wraps units behind a standardized exterior so handlers are substrate-blind to contents, a specialized transport-oriented application of information hiding.
-
Data Class Domain-specific presupposes Information Hiding
The data-class smell presupposes information hiding because its verdict is that an entity exposes representation and invariants that its behavioral surface was expected to conceal.
- Abstract Data Type Prime presupposes, typical Information Hiding
Abstract Data Type typically presupposes Information Hiding, whose structure must already obtain for the child mechanism to be meaningful or operational.
Hierarchy paths (2) — routes to 2 parentless roots
- Information Hiding → is a kind of, typical Abstraction
- Information Hiding → presupposes Boundary
Not to Be Confused With¶
- Information Hiding is not Information Asymmetry because asymmetry is a descriptive, often as-found state (one party knows more), whereas information hiding is a deliberate design act that creates a boundary to cap dependency.
- Information Hiding is not Access Control because access control governs who is authorized to reach a known resource, whereas information hiding governs what is even visible to depend on — invisibility, not permission gating.
- Information Hiding is not Abstraction because abstraction omits detail to expose essentials for comprehension, whereas information hiding conceals facts behind a contract specifically to prevent Coupling to decisions likely to change.