# Boundary Validation Over Unvalidated Input

> Parse and validate untrusted input at the boundary into a typed shape, failing fast on malformed data.

Record: `algorithms:no-unvalidated-input`
Kind: algorithm
Canonical: https://banes-lab.com/ontology/algorithms#algorithms-no-unvalidated-input
Closure: https://banes-lab.com/json/records/algorithms/no-unvalidated-input/closure

Listed in [Algorithm contracts](https://banes-lab.com/api/records/algorithms.md), after [Secret Store Over Hardcoded Secrets](https://banes-lab.com/records/algorithms/no-hardcoded-secrets.md) and before [Least Privilege Over Broad Privilege](https://banes-lab.com/records/algorithms/no-broad-privilege.md).

## Domain

- [Architectural Rules](https://banes-lab.com/records/algorithms-domain/architectural-rules.md)

## Tier

- [leaf](https://banes-lab.com/records/vocabulary/domain-tier-leaf.md)

## Principle

- [Input Validation](https://banes-lab.com/records/architecture/input-validation.md)

## Composes

- [Security Core](https://banes-lab.com/records/algorithms/security-core.md)
- [Correctness Core](https://banes-lab.com/records/algorithms/correctness-core.md)

## Math type

- [Logic](https://banes-lab.com/records/reasoning/math-type-logic.md)

## Linked from

- [Security / Privacy / Compliance / Governance](https://banes-lab.com/ontology/principles/architecture-category-security-privacy-compliance-governance.md)
- [Architectural Clusters](https://banes-lab.com/ontology/algorithms/algorithms-domain-architectural-clusters.md)
- [The mathematics](https://banes-lab.com/ontology/reasoning/the-mathematics.md)
- [Domain tiers](https://banes-lab.com/ontology/schema/the-vocabulary-domain-tier.md)
