# Authentication

> A mechanism that verifies a caller's claimed identity from a credential before any protected action runs.

Record: `architecture:authentication`
Kind: mechanism
Layer: [Security Core](https://banes-lab.com/records/layer/security-core.md)
Severity: mandatory
Scope: user, service, API
Canonical: https://banes-lab.com/ontology#architecture-authentication

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Threat Modeling](https://banes-lab.com/records/architecture/threat-modeling.md) and before [Authorization](https://banes-lab.com/records/architecture/authorization.md).

## Repair

- Refactored by: Add AuthN Middleware/Provider
- Detected by: unauthenticated protected endpoints
- Violated by: sensitive action without identity verification
- Measured by: auth coverage
- Enforced by: route policies, [tests](https://banes-lab.com/records/lexicon/tests.md)

## Requires

- [Identity Proof](https://banes-lab.com/records/lexicon/identity-proof.md)

## Reinforces

- [Access Control](https://banes-lab.com/records/architecture/access-control.md)

## Enables

- [Identity-Aware Authorization](https://banes-lab.com/records/lexicon/identity-aware-authorization.md)

## Conflicts with

- [Anonymous Sensitive Access](https://banes-lab.com/records/lexicon/anonymous-sensitive-access.md)

## In tension with

- [User Experience](https://banes-lab.com/records/lexicon/user-experience.md)

## Tensions

- [Authentication / User Experience](https://banes-lab.com/records/tension/authentication-user-experience.md)

## Severity

- [mandatory](https://banes-lab.com/records/vocabulary/severity-mandatory.md)

## Category

- [Security / Privacy / Compliance / Governance](https://banes-lab.com/records/architecture-category/security-privacy-compliance-governance.md)

## Reinforced by

- [CSRF Protection](https://banes-lab.com/records/architecture/csrf-protection.md)

## Required by

- [Session Management](https://banes-lab.com/records/architecture/session-management.md)

## Linked from

- [Security / Privacy / Compliance / Governance](https://banes-lab.com/ontology/principles/architecture-category-security-privacy-compliance-governance.md)
- [Quality Attributes](https://banes-lab.com/ontology/lexicon/lexicon-category-quality-attributes.md)
- [Security Privacy Compliance](https://banes-lab.com/ontology/lexicon/lexicon-category-security-privacy-compliance.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
