# Policy as Code

Record: `arch:policy-as-code`
Kind: mechanism
Layer: [Security Core](https://banes-lab.com/records/layer/security-core.md)
Severity: recommended
Scope: infrastructure, deployment, security
Canonical: https://banes-lab.com/ontology#arch-policy-as-code

## Repair

- Refactored by: Encode Policy, Add CI Gate
- Detected by: missing policy rule for known control
- Violated by: manual policy checks not represented in code
- Measured by: automated policy coverage
- Enforced by: [policy engine](https://banes-lab.com/records/lex/policy-engine.md)

## requires

- [Machine-Readable Policies](https://banes-lab.com/records/lex/machine-readable-policies.md)

## reinforces

- [Continuous Compliance](https://banes-lab.com/records/arch/continuous-compliance.md)

## enables

- [Automated Enforcement](https://banes-lab.com/records/lex/automated-enforcement.md)

## conflicts-with

- [Document-Only Policy](https://banes-lab.com/records/lex/document-only-policy.md)
- [Manual-Only Governance](https://banes-lab.com/records/arch/manual-only-governance.md)

## tensions-with

- [Policy Maintenance](https://banes-lab.com/records/lex/policy-maintenance.md)

## tensions

- [Policy as Code Policy Maintenance](https://banes-lab.com/records/tension/policy-as-code-policy-maintenance.md)

## referenced-by

- [Continuous Compliance](https://banes-lab.com/records/arch/continuous-compliance.md)
