# Exposed Internals

> Making a module's internal fields and workings reachable from outside, whether public outright or through trivial getters and setters, so callers depend on details that should be hidden and its invariants go unprotected.

Record: `lexicon:exposed-internals`
Kind: anti-pattern
Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
Aliases: Anemic Encapsulation
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-exposed-internals

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Deep Inheritance Hierarchy](https://banes-lab.com/records/lexicon/deep-inheritance-hierarchy.md) and before [Implementation-Specific Contracts](https://banes-lab.com/records/lexicon/implementation-specific-contracts.md).

## Category

- [Core Modular Design](https://banes-lab.com/records/lexicon-category/core-modular-design.md)

## Negated by

- [Encapsulation](https://banes-lab.com/records/architecture/encapsulation.md)

## Linked from

- [Core Modular Design](https://banes-lab.com/ontology/principles/architecture-category-core-modular-design.md)
