WAF-REL-120 β Graceful degradation and fallback strategies MUST be documented and tested
Description
Critical user journeys MUST continue in a degraded mode when non-essential dependencies fail. Fallback behavior, default responses, and feature degradation order MUST be documented. Degradation paths MUST be tested in staging and during chaos experiments. Non-critical features MUST be tiered so lower-priority functions can be disabled first.
Rationale
| Risk | Description |
|---|---|
Risk |
Hard dependencies on non-essential services turn partial failures into total outages. |
Risk |
Untested fallback paths often fail when first invoked during a real incident. |
Requirements
-
Critical user journeys MUST continue in a degraded mode when non-essential dependencies fail.
-
Fallback behavior, default responses, and feature degradation order MUST be documented.
-
Degradation paths MUST be tested in staging and during chaos experiments.
-
Non-critical features MUST be tiered so lower-priority functions can be disabled first.
Implementation Guidance
-
Document the requirement in a version-controlled policy, ADR, or standard.
-
Assign ownership and establish a review cadence (e.g., quarterly).
-
Implement the required configuration as code in Terraform or equivalent IaC.
Maturity Levels
| Level | Name | Criteria |
|---|---|---|
L1 |
Ad hoc β control not consistently applied |
* Die Anforderung ist nicht einheitlich umgesetzt; Nachweis existiert nur punktuell oder fehlt. |
L2 |
Standardised β policy defined and communicated |
* Eine dokumentierte Policy oder ein Standard beschreibt die Anforderung. |
L3 |
Integrated β automated validation in CI/CD |
* Terraform-Checks oder IaC-Gates prΓΌfen die Anforderung automatisch in CI/CD. |
L4 |
Auditable β metrics and exceptions tracked |
* Abdeckung, Ausnahmen und QualitΓ€tsmetriken werden quartalsweise berichtet. |
L5 |
Optimised β continuous improvement based on data |
* Die EffektivitΓ€t wird kontinuierlich gemessen und automatisch optimiert. |
Checks
waf-rel-120.config.degradation-adr
Engine: config | Provider: any | Automated: No
Graceful degradation must be documented in ADR
Graceful degradation must be documented in ADR
Scope: file β docs/adr/degradation.md
Assertions:
* exists attribute_exists β At least one ADR must document graceful degradation strategy.
Remediation: Graceful degradation must be documented in ADR
# Example compliant with waf-rel-120.config.degradation-adr
# Example non-compliant with waf-rel-120.config.degradation-adr
waf-rel-120.config.chaos-test-evidence
Engine: config | Provider: any | Automated: No
Chaos test evidence for fallback paths must exist
Chaos test evidence for fallback paths must exist
Scope: file β docs/reliability/chaos-tests.md
Assertions:
* exists attribute_exists β Chaos tests must demonstrate fallback behavior.
Remediation: Chaos test evidence for fallback paths must exist
# Example compliant with waf-rel-120.config.chaos-test-evidence
# Example non-compliant with waf-rel-120.config.chaos-test-evidence
Evidence
-
Terraform configuration implementing the requirement.
-
Policy, ADR, or standard documenting the requirement.
-
Optional cloud console or API output confirming runtime state.
Related Controls
-
WAF-AGN-040 == Regulatory Mapping
-
SRE Book (Google): Chapter 22 β Addressing Cascading Failures
-
AWS Well-Architected Framework: REL 9 β Mitigate deployment risks
-
Azure Well-Architected Framework: Reliability β Failure mode analysis
-
NIST CSF 2.0: RS.RP-01 β Response plan is executed