# Authentication

Record: `arch: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#arch-authentication

## 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/lex/tests.md)

## requires

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

## reinforces

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

## enables

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

## conflicts-with

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

## tensions-with

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

## tensions

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

## referenced-by

- [CSRF Protection](https://banes-lab.com/records/arch/csrf-protection.md)
- [Session Management](https://banes-lab.com/records/arch/session-management.md)
