# Put authority in the right boundary

Principle `put-authority-in-the-right-boundary`. A read model can report a decision, but only the aggregate that owns the invariant makes it.

Name the bounded contexts and their trust boundaries, in domain language rather than storage language. When a dashboard or cache starts deciding, two places now own the truth. Model a workflow as a command plus current facts that produce explicit events.

Read the full section in the [uncomplect skill](/skills/uncomplect#ddd-put-authority-in-the-right-boundary).

## Related
- [Domain error](/terms/domain-error)

## Skills
- [uncomplect](/skills/uncomplect)

## Sources
- Evans, Eric. *DDD Reference*. [Link](https://www.domainlanguage.com/ddd/reference/). ([ddd-reference](/bibliography#ddd-reference))
- Wlaschin, Scott. *Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#*. Pragmatic Bookshelf, 2018. [Link](https://pragprog.com/titles/swdddf/domain-modeling-made-functional/). ([b7-domain-modeling-made-functional](/bibliography#b7-domain-modeling-made-functional))
