@marinjursic/prc-linux-arm64 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +3 -0
- package/bin/LICENSE +21 -0
- package/bin/README.md +335 -0
- package/bin/THIRD_PARTY_NOTICES.md +74 -0
- package/bin/adapters/checkov-v3.3.8.yaml +50 -0
- package/bin/adapters/gitleaks-v8.30.0.yaml +63 -0
- package/bin/adapters/grype-v0.116.1.yaml +58 -0
- package/bin/adapters/syft-v1.51.0.yaml +54 -0
- package/bin/catalog/assertions/core-repository.yaml +625 -0
- package/bin/catalog/assertions/iac.yaml +24 -0
- package/bin/catalog/assertions/supply-chain.yaml +45 -0
- package/bin/catalog/control-contracts.json +1 -0
- package/bin/catalog/control-id-registry.json +110470 -0
- package/bin/catalog/objectives/core-repository.yaml +243 -0
- package/bin/catalog/objectives/iac.yaml +13 -0
- package/bin/catalog/objectives/supply-chain.yaml +13 -0
- package/bin/catalog/profiles/api.yaml +12 -0
- package/bin/catalog/profiles/core-repository.yaml +49 -0
- package/bin/catalog/profiles/iac.yaml +18 -0
- package/bin/catalog/profiles/kubernetes.yaml +15 -0
- package/bin/catalog/profiles/quick.yaml +27 -0
- package/bin/catalog/profiles/supply-chain.yaml +20 -0
- package/bin/docs/architecture/adapters.md +380 -0
- package/bin/docs/architecture/agent-providers.md +188 -0
- package/bin/docs/architecture/applicability.md +80 -0
- package/bin/docs/architecture/catalog-integrity.md +85 -0
- package/bin/docs/architecture/evidence-and-results.md +154 -0
- package/bin/docs/architecture/execution-plans.md +61 -0
- package/bin/docs/architecture/product-contract.md +76 -0
- package/bin/docs/architecture/publisher-trust.md +68 -0
- package/bin/docs/architecture/remediation-contract.md +113 -0
- package/bin/docs/architecture/trust-model.md +95 -0
- package/bin/docs/assets/hero.svg +37 -0
- package/bin/docs/assets/logo.svg +13 -0
- package/bin/docs/assets/production-readiness-scan-demo-poster.png +0 -0
- package/bin/docs/assets/production-readiness-scan-demo.gif +0 -0
- package/bin/docs/assets/production-readiness-scan-demo.mp4 +0 -0
- package/bin/docs/assets/social-card.png +0 -0
- package/bin/docs/assets/social-card.svg +40 -0
- package/bin/docs/checklists/00-readiness-principle.md +17 -0
- package/bin/docs/checklists/01-release-foundations.md +91 -0
- package/bin/docs/checklists/02-product-risk-architecture.md +136 -0
- package/bin/docs/checklists/03-source-build-supply-chain.md +97 -0
- package/bin/docs/checklists/04-environments-quality-experience.md +226 -0
- package/bin/docs/checklists/05-application-security.md +320 -0
- package/bin/docs/checklists/06-data-privacy-performance.md +166 -0
- package/bin/docs/checklists/07-reliability-operations.md +355 -0
- package/bin/docs/checklists/08-maintenance-vendors-compliance.md +112 -0
- package/bin/docs/checklists/09-conditional-modules.md +229 -0
- package/bin/docs/checklists/10-evidence-and-decision.md +111 -0
- package/bin/docs/engineering/00-overview.md +51 -0
- package/bin/docs/engineering/01-governance-and-foundations.md +919 -0
- package/bin/docs/engineering/02-product-and-requirements.md +186 -0
- package/bin/docs/engineering/03-user-experience-web-and-content.md +1352 -0
- package/bin/docs/engineering/04-architecture-and-design.md +387 -0
- package/bin/docs/engineering/05-code-quality-and-implementation.md +1103 -0
- package/bin/docs/engineering/06-application-services-and-apis.md +476 -0
- package/bin/docs/engineering/07-data-and-information-lifecycle.md +1009 -0
- package/bin/docs/engineering/08-security-and-cryptography.md +1215 -0
- package/bin/docs/engineering/09-privacy-and-data-protection.md +205 -0
- package/bin/docs/engineering/10-verification-and-testing.md +841 -0
- package/bin/docs/engineering/11-developer-experience-platform-and-delivery.md +1013 -0
- package/bin/docs/engineering/12-operations-sre-and-support.md +795 -0
- package/bin/docs/engineering/13-documentation-and-knowledge.md +349 -0
- package/bin/docs/engineering/14-trust-safety-and-ecosystems.md +330 -0
- package/bin/docs/engineering/15-ai-ml-and-ai-assisted-development.md +785 -0
- package/bin/docs/engineering/16-specialized-domains-and-release-assurance.md +775 -0
- package/bin/docs/engineering/source-manifest.md +479 -0
- package/bin/docs/guides/ai-assisted-review.md +61 -0
- package/bin/docs/guides/getting-started.md +78 -0
- package/bin/docs/index.md +66 -0
- package/bin/docs/prompts/evidence-challenge.md +26 -0
- package/bin/docs/prompts/full-readiness-review.md +34 -0
- package/bin/docs/prompts/release-diff-review.md +31 -0
- package/bin/docs/records/evidence-record.md +42 -0
- package/bin/docs/records/go-no-go-decision.md +63 -0
- package/bin/docs/records/release-assessment.md +124 -0
- package/bin/docs/records/risk-exception.md +64 -0
- package/bin/docs/references.md +52 -0
- package/bin/docs/scanner/ai-control-review.md +208 -0
- package/bin/docs/scanner/benchmarks.md +122 -0
- package/bin/docs/scanner/cli-contract.md +130 -0
- package/bin/docs/scanner/configuration.md +101 -0
- package/bin/docs/scanner/control-contracts.md +47 -0
- package/bin/docs/scanner/core-repository.md +62 -0
- package/bin/docs/scanner/diff-and-invalidation.md +79 -0
- package/bin/docs/scanner/doctor.md +71 -0
- package/bin/docs/scanner/getting-started.md +355 -0
- package/bin/docs/scanner/go-http-timeouts.md +96 -0
- package/bin/docs/scanner/infrastructure-policy.md +64 -0
- package/bin/docs/scanner/kubernetes-workloads.md +63 -0
- package/bin/docs/scanner/mcp-agent-integration.md +138 -0
- package/bin/docs/scanner/openapi-contracts.md +75 -0
- package/bin/docs/scanner/private-key-armor.md +44 -0
- package/bin/docs/scanner/releases.md +160 -0
- package/bin/docs/scanner/remediation.md +273 -0
- package/bin/docs/scanner/risk-exceptions.md +52 -0
- package/bin/docs/scanner/security-walkthrough.md +236 -0
- package/bin/docs/scanner/state-and-history.md +113 -0
- package/bin/docs/scanner/supply-chain.md +132 -0
- package/bin/docs/scanner/test-discovery.md +60 -0
- package/bin/docs/stylesheets/extra.css +183 -0
- package/bin/fixtures/benchmarks/core-native/suite-comprehensive.yaml +302 -0
- package/bin/fixtures/benchmarks/core-native/suite.yaml +59 -0
- package/bin/fixtures/benchmarks/core-native/targets/baseline/README.md +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/baseline/app.go +1 -0
- package/bin/fixtures/benchmarks/core-native/targets/conflict-template/app.js +5 -0
- package/bin/fixtures/benchmarks/core-native/targets/container-risky-template/Dockerfile +2 -0
- package/bin/fixtures/benchmarks/core-native/targets/container-valid/Dockerfile +2 -0
- package/bin/fixtures/benchmarks/core-native/targets/dependency-lock-missing/package.json +5 -0
- package/bin/fixtures/benchmarks/core-native/targets/dependency-lock-present/package-lock.json +6 -0
- package/bin/fixtures/benchmarks/core-native/targets/dependency-lock-present/package.json +5 -0
- package/bin/fixtures/benchmarks/core-native/targets/empty-manifest-template/package.json +1 -0
- package/bin/fixtures/benchmarks/core-native/targets/final-newline-template/app.py +1 -0
- package/bin/fixtures/benchmarks/core-native/targets/foundation-present/.github/CODEOWNERS +1 -0
- package/bin/fixtures/benchmarks/core-native/targets/foundation-present/.github/dependabot.yml +6 -0
- package/bin/fixtures/benchmarks/core-native/targets/foundation-present/.github/workflows/validate.yml +15 -0
- package/bin/fixtures/benchmarks/core-native/targets/foundation-present/CODE_OF_CONDUCT.md +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/foundation-present/CONTRIBUTING.md +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/foundation-present/LICENSE +1 -0
- package/bin/fixtures/benchmarks/core-native/targets/foundation-present/README.md +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/foundation-present/SECURITY.md +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/foundation-present/package-lock.json +6 -0
- package/bin/fixtures/benchmarks/core-native/targets/foundation-present/package.json +7 -0
- package/bin/fixtures/benchmarks/core-native/targets/foundation-present/tests/example.test.js +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/go-http-server-timeout-risky-template/go.mod +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/go-http-server-timeout-risky-template/server.go +18 -0
- package/bin/fixtures/benchmarks/core-native/targets/go-http-timeout-malformed-template/client.go +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/go-http-timeout-malformed-template/go.mod +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/go-http-timeout-risky-template/client.go +7 -0
- package/bin/fixtures/benchmarks/core-native/targets/go-http-timeout-risky-template/go.mod +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/go-http-timeout-safe/client.go +22 -0
- package/bin/fixtures/benchmarks/core-native/targets/go-http-timeout-safe/go.mod +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/go-http-timeout-safe/hazards_test.go +8 -0
- package/bin/fixtures/benchmarks/core-native/targets/kubernetes-risky-template/deployment.yaml +27 -0
- package/bin/fixtures/benchmarks/core-native/targets/kubernetes-valid/deployment.yaml +26 -0
- package/bin/fixtures/benchmarks/core-native/targets/openapi-operation-ids-risky-template/openapi.yaml +17 -0
- package/bin/fixtures/benchmarks/core-native/targets/openapi-operation-responses-risky-template/openapi.yaml +11 -0
- package/bin/fixtures/benchmarks/core-native/targets/openapi-root-malformed-template/openapi.yaml +5 -0
- package/bin/fixtures/benchmarks/core-native/targets/openapi-root-risky-template/openapi.yaml +5 -0
- package/bin/fixtures/benchmarks/core-native/targets/openapi-root-valid/openapi.yaml +17 -0
- package/bin/fixtures/benchmarks/core-native/targets/package-test-command/app.js +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/package-test-command/package.json +7 -0
- package/bin/fixtures/benchmarks/core-native/targets/package-test-placeholder/app.js +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/package-test-placeholder/package.json +7 -0
- package/bin/fixtures/benchmarks/core-native/targets/private-key-template/deploy.pem +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/readme-missing/fixture.txt +1 -0
- package/bin/fixtures/benchmarks/core-native/targets/runtime-missing/package-lock.json +6 -0
- package/bin/fixtures/benchmarks/core-native/targets/runtime-missing/package.json +4 -0
- package/bin/fixtures/benchmarks/core-native/targets/terraform-locked/.terraform.lock.hcl +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/terraform-locked/main.tf +7 -0
- package/bin/fixtures/benchmarks/core-native/targets/terraform-unlocked-template/.terraform.lock.hcl +3 -0
- package/bin/fixtures/benchmarks/core-native/targets/terraform-unlocked-template/main.tf +7 -0
- package/bin/fixtures/benchmarks/core-native/targets/test-declaration-valid/app.py +2 -0
- package/bin/fixtures/benchmarks/core-native/targets/test-declaration-valid/tests/test_app.py +5 -0
- package/bin/fixtures/benchmarks/core-native/targets/test-path-without-declaration/app.py +2 -0
- package/bin/fixtures/benchmarks/core-native/targets/test-path-without-declaration/tests/test_app.py +1 -0
- package/bin/fixtures/benchmarks/core-native/targets/workflow-malformed/.github/workflows/validate.yml +1 -0
- package/bin/fixtures/benchmarks/core-native/targets/workflow-no-jobs/.github/workflows/empty.yml +9 -0
- package/bin/fixtures/benchmarks/core-native/targets/workflow-risky/.github/workflows/risky.yml +10 -0
- package/bin/fixtures/benchmarks/core-native/targets/workflow-valid/.github/workflows/validate.yml +14 -0
- package/bin/packs/core-foundation.yaml +25 -0
- package/bin/packs/core-native.yaml +59 -0
- package/bin/prc +0 -0
- package/bin/schemas/adapter-execution-v0.1.schema.json +101 -0
- package/bin/schemas/adapter-execution-v0.2.schema.json +128 -0
- package/bin/schemas/adapter-execution.schema.json +145 -0
- package/bin/schemas/adapter-fixture-report.schema.json +59 -0
- package/bin/schemas/adapter-fixture-suite.schema.json +104 -0
- package/bin/schemas/adapter-manifest-v0.1.schema.json +55 -0
- package/bin/schemas/adapter-manifest-v0.2.schema.json +122 -0
- package/bin/schemas/adapter-manifest-v0.3.schema.json +172 -0
- package/bin/schemas/adapter-manifest.schema.json +299 -0
- package/bin/schemas/adapter-message.schema.json +136 -0
- package/bin/schemas/adapter-registry-report.schema.json +13 -0
- package/bin/schemas/adapter-registry.schema.json +47 -0
- package/bin/schemas/agent-execution-v0.1.schema.json +26 -0
- package/bin/schemas/agent-execution.schema.json +26 -0
- package/bin/schemas/agent-failure-v0.1.schema.json +102 -0
- package/bin/schemas/agent-failure.schema.json +102 -0
- package/bin/schemas/agent-output-v0.1.schema.json +36 -0
- package/bin/schemas/agent-output.schema.json +36 -0
- package/bin/schemas/agent-task-v0.1.schema.json +44 -0
- package/bin/schemas/agent-task.schema.json +46 -0
- package/bin/schemas/assertion-catalog.schema.json +69 -0
- package/bin/schemas/benchmark-report.schema.json +94 -0
- package/bin/schemas/benchmark-suite.schema.json +116 -0
- package/bin/schemas/catalog-bundle.schema.json +27 -0
- package/bin/schemas/catalog-manifest.schema.json +23 -0
- package/bin/schemas/checkov-iac-policy-report.schema.json +82 -0
- package/bin/schemas/control-contracts.schema.json +44 -0
- package/bin/schemas/control-review-output.schema.json +51 -0
- package/bin/schemas/doctor.schema.json +53 -0
- package/bin/schemas/evidence-v0.1.schema.json +21 -0
- package/bin/schemas/evidence.schema.json +21 -0
- package/bin/schemas/finding-v0.1.schema.json +70 -0
- package/bin/schemas/finding.schema.json +70 -0
- package/bin/schemas/fix-contract-v0.1.schema.json +35 -0
- package/bin/schemas/fix-contract-v0.2.schema.json +46 -0
- package/bin/schemas/fix-contract-v0.3.schema.json +49 -0
- package/bin/schemas/fix-contract.schema.json +49 -0
- package/bin/schemas/grype-vulnerability-report.schema.json +88 -0
- package/bin/schemas/history.schema.json +37 -0
- package/bin/schemas/invalidation.schema.json +86 -0
- package/bin/schemas/inventory-v0.1.schema.json +42 -0
- package/bin/schemas/inventory-v0.2.schema.json +95 -0
- package/bin/schemas/inventory-v0.3.schema.json +139 -0
- package/bin/schemas/inventory.schema.json +139 -0
- package/bin/schemas/objective-catalog.schema.json +62 -0
- package/bin/schemas/pack-report.schema.json +16 -0
- package/bin/schemas/pack.schema.json +53 -0
- package/bin/schemas/plan-v0.1.schema.json +31 -0
- package/bin/schemas/plan-v0.2.schema.json +32 -0
- package/bin/schemas/plan-v0.3.schema.json +44 -0
- package/bin/schemas/plan-v0.4.schema.json +48 -0
- package/bin/schemas/plan-v0.5.schema.json +49 -0
- package/bin/schemas/plan-v0.6.schema.json +137 -0
- package/bin/schemas/plan.schema.json +137 -0
- package/bin/schemas/profile.schema.json +42 -0
- package/bin/schemas/project-config.schema.json +128 -0
- package/bin/schemas/release-manifest-v0.1.schema.json +86 -0
- package/bin/schemas/release-manifest-v0.2.schema.json +146 -0
- package/bin/schemas/release-manifest-v0.3.schema.json +146 -0
- package/bin/schemas/release-manifest.schema.json +6 -0
- package/bin/schemas/remediation-candidate-v0.1.schema.json +51 -0
- package/bin/schemas/remediation-candidate-v0.2.schema.json +51 -0
- package/bin/schemas/remediation-candidate-v0.3.schema.json +51 -0
- package/bin/schemas/remediation-candidate-v0.4.schema.json +69 -0
- package/bin/schemas/remediation-candidate.schema.json +69 -0
- package/bin/schemas/remediation-run-v0.1.schema.json +69 -0
- package/bin/schemas/remediation-run-v0.2.schema.json +78 -0
- package/bin/schemas/remediation-run-v0.3.schema.json +86 -0
- package/bin/schemas/remediation-run-v0.4.schema.json +86 -0
- package/bin/schemas/remediation-run-v0.5.schema.json +131 -0
- package/bin/schemas/remediation-run-v0.6.schema.json +143 -0
- package/bin/schemas/remediation-run-v0.7.schema.json +160 -0
- package/bin/schemas/remediation-run-v0.8.schema.json +161 -0
- package/bin/schemas/remediation-run.schema.json +161 -0
- package/bin/schemas/risk-exception-verification.schema.json +17 -0
- package/bin/schemas/risk-exception.schema.json +137 -0
- package/bin/schemas/run-result-v0.1.schema.json +54 -0
- package/bin/schemas/run-result-v0.10.schema.json +64 -0
- package/bin/schemas/run-result-v0.11.schema.json +146 -0
- package/bin/schemas/run-result-v0.2.schema.json +60 -0
- package/bin/schemas/run-result-v0.3.schema.json +52 -0
- package/bin/schemas/run-result-v0.4.schema.json +52 -0
- package/bin/schemas/run-result-v0.5.schema.json +60 -0
- package/bin/schemas/run-result-v0.6.schema.json +61 -0
- package/bin/schemas/run-result-v0.7.schema.json +61 -0
- package/bin/schemas/run-result-v0.8.schema.json +61 -0
- package/bin/schemas/run-result-v0.9.schema.json +77 -0
- package/bin/schemas/run-result.schema.json +165 -0
- package/bin/schemas/signature-verification.schema.json +22 -0
- package/bin/schemas/signature.schema.json +18 -0
- package/bin/schemas/state-check-v0.1.schema.json +27 -0
- package/bin/schemas/state-check.schema.json +28 -0
- package/bin/schemas/trust-store.schema.json +50 -0
- package/bin/schemas/verification-execution-v0.1.schema.json +105 -0
- package/bin/schemas/verification-execution.schema.json +105 -0
- package/bin/schemas/version-v0.1.schema.json +27 -0
- package/bin/schemas/version.schema.json +27 -0
- package/manifest.json +9 -0
- package/package.json +28 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# Data, privacy, and performance
|
|
2
|
+
|
|
3
|
+
> Protect data integrity and privacy while proving user-experience and capacity targets.
|
|
4
|
+
|
|
5
|
+
Sections 23–26 of the master checklist. For each applicable item, capture status, owner, evidence, release, environment, reviewer, and evidence age.
|
|
6
|
+
|
|
7
|
+
## 23. Data model, databases, queues, caches, and integrity
|
|
8
|
+
|
|
9
|
+
- [ ] **PRC-23-001** — Every data set has an owner and classification.
|
|
10
|
+
- [ ] **PRC-23-002** — The data model enforces required constraints.
|
|
11
|
+
- [ ] **PRC-23-003** — Required fields cannot silently become absent.
|
|
12
|
+
- [ ] **PRC-23-004** — Uniqueness rules are enforced at the correct consistency boundary.
|
|
13
|
+
- [ ] **PRC-23-005** — Referential integrity is enforced or continuously checked.
|
|
14
|
+
- [ ] **PRC-23-006** — Transactions cover all operations requiring atomicity.
|
|
15
|
+
- [ ] **PRC-23-007** — Locking and concurrency strategies are documented.
|
|
16
|
+
- [ ] **PRC-23-008** — Lost updates and write races are prevented.
|
|
17
|
+
- [ ] **PRC-23-009** — Duplicate events and messages are handled safely.
|
|
18
|
+
- [ ] **PRC-23-010** — Queue delivery semantics are understood.
|
|
19
|
+
- [ ] **PRC-23-011** — Consumers are idempotent where messages may be redelivered.
|
|
20
|
+
- [ ] **PRC-23-012** — Ordering assumptions are explicit and tested.
|
|
21
|
+
- [ ] **PRC-23-013** — Poison messages cannot block an entire queue indefinitely.
|
|
22
|
+
- [ ] **PRC-23-014** — Dead-letter queues have monitoring, ownership, and safe replay procedures.
|
|
23
|
+
- [ ] **PRC-23-015** — Batch jobs checkpoint and resume safely.
|
|
24
|
+
- [ ] **PRC-23-016** — Reconciliation detects dropped, duplicated, or inconsistent records.
|
|
25
|
+
- [ ] **PRC-23-017** — Integrity checks or checksums exist where corruption risk warrants them.
|
|
26
|
+
- [ ] **PRC-23-018** — Replication lag is measured and accounted for.
|
|
27
|
+
- [ ] **PRC-23-019** — Read-after-write behavior matches user expectations.
|
|
28
|
+
- [ ] **PRC-23-020** — Failover does not create split-brain or conflicting writes.
|
|
29
|
+
- [ ] **PRC-23-021** — Cache keys include every required identity, tenant, locale, permission, and variant dimension.
|
|
30
|
+
- [ ] **PRC-23-022** — Cache invalidation is correct for security and correctness-sensitive data.
|
|
31
|
+
- [ ] **PRC-23-023** — Cache failure does not disclose data or violate invariants.
|
|
32
|
+
- [ ] **PRC-23-024** — Search indexes enforce access controls and deletion.
|
|
33
|
+
- [ ] **PRC-23-025** — Search-index freshness and reconciliation are monitored.
|
|
34
|
+
- [ ] **PRC-23-026** — Character encoding, collation, case, normalization, and sorting are intentional.
|
|
35
|
+
- [ ] **PRC-23-027** — Date and time values use an unambiguous storage representation.
|
|
36
|
+
- [ ] **PRC-23-028** — Data quality indicators cover completeness, validity, consistency, timeliness, and duplication.
|
|
37
|
+
- [ ] **PRC-23-029** — Orphaned data and references are detected.
|
|
38
|
+
- [ ] **PRC-23-030** — Data repair procedures are reviewed, reversible where possible, and audited.
|
|
39
|
+
- [ ] **PRC-23-031** — Manual production data changes require authorization and an audit trail.
|
|
40
|
+
|
|
41
|
+
### 23.1 Schema changes and migrations
|
|
42
|
+
|
|
43
|
+
- [ ] **PRC-23-032** — Every migration has a reviewed plan.
|
|
44
|
+
- [ ] **PRC-23-033** — Migration behavior is tested against representative data volume and shape.
|
|
45
|
+
- [ ] **PRC-23-034** — Migration duration and resource consumption are measured.
|
|
46
|
+
- [ ] **PRC-23-035** — Online migrations avoid unacceptable locking and downtime.
|
|
47
|
+
- [ ] **PRC-23-036** — Application and schema changes are backward- and forward-compatible during mixed-version deployment where required.
|
|
48
|
+
- [ ] **PRC-23-037** — Old and new application versions can coexist safely during rollout.
|
|
49
|
+
- [ ] **PRC-23-038** — A backup or recovery point exists before destructive changes.
|
|
50
|
+
- [ ] **PRC-23-039** — Migration preconditions are validated.
|
|
51
|
+
- [ ] **PRC-23-040** — Migration progress and failures are observable.
|
|
52
|
+
- [ ] **PRC-23-041** — Partial migration can resume or recover safely.
|
|
53
|
+
- [ ] **PRC-23-042** — Row counts, totals, constraints, checksums, and business invariants are verified afterward.
|
|
54
|
+
- [ ] **PRC-23-043** — Rollback feasibility is documented honestly.
|
|
55
|
+
- [ ] **PRC-23-044** — When rollback is unsafe, a tested roll-forward recovery exists.
|
|
56
|
+
- [ ] **PRC-23-045** — Deprecated columns, data, and indexes are removed only after all consumers have migrated.
|
|
57
|
+
- [ ] **PRC-23-046** — Data migrations are rehearsed using the same automation used for production.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 24. Privacy and data protection
|
|
62
|
+
|
|
63
|
+
A universal checklist cannot enumerate every privacy law. The mandatory control is an applicability register based on users, jurisdictions, data, purposes, sector, and transfers. GDPR is one major example requiring data protection by design/default, processing security, rights handling, and breach governance. ([eur-lex.europa.eu](https://eur-lex.europa.eu/eli/reg/2016/679/oj/eng))
|
|
64
|
+
|
|
65
|
+
- [ ] **PRC-24-001** — Maintain an inventory of personal and sensitive data.
|
|
66
|
+
- [ ] **PRC-24-002** — Record the source, purpose, lawful basis or authorization, recipients, location, retention, and deletion method for each category.
|
|
67
|
+
- [ ] **PRC-24-003** — Collect only data necessary for the documented purpose.
|
|
68
|
+
- [ ] **PRC-24-004** — Privacy-protective defaults are used.
|
|
69
|
+
- [ ] **PRC-24-005** — Product behavior matches the published privacy notice.
|
|
70
|
+
- [ ] **PRC-24-006** — New data uses have undergone privacy review.
|
|
71
|
+
- [ ] **PRC-24-007** — Consent is used only where appropriate.
|
|
72
|
+
- [ ] **PRC-24-008** — Consent is specific, informed, granular, recorded, and withdrawable.
|
|
73
|
+
- [ ] **PRC-24-009** — Refusing nonessential consent does not improperly block the service.
|
|
74
|
+
- [ ] **PRC-24-010** — Nonessential trackers are prevented from operating before valid permission where required.
|
|
75
|
+
- [ ] **PRC-24-011** — Cookie and tracker inventories match actual production behavior.
|
|
76
|
+
- [ ] **PRC-24-012** — Analytics, advertising, attribution, session replay, and experimentation tools receive only approved data.
|
|
77
|
+
- [ ] **PRC-24-013** — Sensitive fields are redacted from logs, monitoring, support tools, recordings, and analytics.
|
|
78
|
+
- [ ] **PRC-24-014** — Access, correction, deletion, restriction, objection, and portability workflows exist where applicable.
|
|
79
|
+
- [ ] **PRC-24-015** — Rights requests cover downstream systems and processors.
|
|
80
|
+
- [ ] **PRC-24-016** — Requester identity verification is proportionate and does not collect excessive additional data.
|
|
81
|
+
- [ ] **PRC-24-017** — Rights-response deadlines are tracked.
|
|
82
|
+
- [ ] **PRC-24-018** — Retention periods are explicit.
|
|
83
|
+
- [ ] **PRC-24-019** — Deletion occurs across primary data, caches, indexes, derived data, and downstream systems.
|
|
84
|
+
- [ ] **PRC-24-020** — Backup deletion behavior is documented and legally acceptable.
|
|
85
|
+
- [ ] **PRC-24-021** — Legal holds override deletion only through a controlled process.
|
|
86
|
+
- [ ] **PRC-24-022** — Pseudonymization or anonymization claims have been validated.
|
|
87
|
+
- [ ] **PRC-24-023** — Reidentification risk has been assessed.
|
|
88
|
+
- [ ] **PRC-24-024** — Data export does not expose other users’ or tenants’ information.
|
|
89
|
+
- [ ] **PRC-24-025** — High-risk processing has an appropriate privacy-impact assessment.
|
|
90
|
+
- [ ] **PRC-24-026** — Children’s, biometric, health, precise-location, communications, financial, and other sensitive data trigger enhanced review.
|
|
91
|
+
- [ ] **PRC-24-027** — Cross-border transfers and data-residency commitments are documented.
|
|
92
|
+
- [ ] **PRC-24-028** — Processor and subprocessor contracts cover permitted use, security, deletion, assistance, and breach notification.
|
|
93
|
+
- [ ] **PRC-24-029** — Privacy contacts and escalation paths exist.
|
|
94
|
+
- [ ] **PRC-24-030** — A personal-data incident can be identified, scoped, and reported within applicable deadlines.
|
|
95
|
+
- [ ] **PRC-24-031** — Production support access to personal data is minimized and audited.
|
|
96
|
+
- [ ] **PRC-24-032** — Synthetic or masked data is used outside production.
|
|
97
|
+
- [ ] **PRC-24-033** — Test accounts and deleted users do not remain indefinitely in downstream tools.
|
|
98
|
+
- [ ] **PRC-24-034** — Interfaces avoid manipulative consent, cancellation, or privacy choices.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 25. Performance and user experience efficiency
|
|
103
|
+
|
|
104
|
+
For public web experiences, current Core Web Vitals guidance uses LCP of at most 2.5 seconds, INP of at most 200 milliseconds, and CLS of at most 0.1 at the 75th percentile, segmented by mobile and desktop. These are useful defaults, not substitutes for product-specific performance objectives. ([web.dev](https://web.dev/articles/vitals))
|
|
105
|
+
|
|
106
|
+
- [ ] **PRC-25-001** — Performance objectives are defined per critical user journey.
|
|
107
|
+
- [ ] **PRC-25-002** — Objectives use relevant percentiles, not averages alone.
|
|
108
|
+
- [ ] **PRC-25-003** — Frontend and backend budgets are documented.
|
|
109
|
+
- [ ] **PRC-25-004** — Baseline performance is recorded before launch.
|
|
110
|
+
- [ ] **PRC-25-005** — Laboratory tests and real-user measurements are both used where applicable.
|
|
111
|
+
- [ ] **PRC-25-006** — Public pages meet approved loading, interaction, and visual-stability targets.
|
|
112
|
+
- [ ] **PRC-25-007** — API latency targets are defined per endpoint or journey.
|
|
113
|
+
- [ ] **PRC-25-008** — Database-query latency and volume are measured.
|
|
114
|
+
- [ ] **PRC-25-009** — Excessive query patterns and repeated fetches have been eliminated.
|
|
115
|
+
- [ ] **PRC-25-010** — Payload sizes are bounded.
|
|
116
|
+
- [ ] **PRC-25-011** — Compression is enabled appropriately.
|
|
117
|
+
- [ ] **PRC-25-012** — Images, fonts, scripts, and styles are delivered efficiently.
|
|
118
|
+
- [ ] **PRC-25-013** — Critical resources are prioritized.
|
|
119
|
+
- [ ] **PRC-25-014** — Noncritical work is deferred without harming accessibility or correctness.
|
|
120
|
+
- [ ] **PRC-25-015** — Cache and CDN behavior has been validated.
|
|
121
|
+
- [ ] **PRC-25-016** — Cold-start performance is acceptable.
|
|
122
|
+
- [ ] **PRC-25-017** — Connection and thread pools are sized and monitored.
|
|
123
|
+
- [ ] **PRC-25-018** — Memory, CPU, file-descriptor, connection, and storage leaks have been investigated.
|
|
124
|
+
- [ ] **PRC-25-019** — Long-running or resource-intensive requests have limits.
|
|
125
|
+
- [ ] **PRC-25-020** — Performance is tested with realistic authentication, authorization, data volume, and cache state.
|
|
126
|
+
- [ ] **PRC-25-021** — Performance is tested on representative mobile devices and slower networks where relevant.
|
|
127
|
+
- [ ] **PRC-25-022** — Third-party script and service impact is measured.
|
|
128
|
+
- [ ] **PRC-25-023** — Performance degradation during partial dependency failure is acceptable.
|
|
129
|
+
- [ ] **PRC-25-024** — Performance regressions have automated release thresholds.
|
|
130
|
+
- [ ] **PRC-25-025** — Client telemetry does not itself materially harm performance.
|
|
131
|
+
- [ ] **PRC-25-026** — Performance objectives are connected to user and business outcomes.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 26. Capacity, scalability, and overload control
|
|
136
|
+
|
|
137
|
+
- [ ] **PRC-26-001** — Forecast normal, peak, burst, launch, seasonal, and abuse traffic.
|
|
138
|
+
- [ ] **PRC-26-002** — Forecast data, file, index, queue, log, and backup growth.
|
|
139
|
+
- [ ] **PRC-26-003** — Identify the maximum safe capacity of each critical component.
|
|
140
|
+
- [ ] **PRC-26-004** — Load tests use realistic request mixes and data distributions.
|
|
141
|
+
- [ ] **PRC-26-005** — Load tests include authentication and authorization overhead.
|
|
142
|
+
- [ ] **PRC-26-006** — Load tests include external dependency behavior.
|
|
143
|
+
- [ ] **PRC-26-007** — Stress testing identifies how the system fails beyond capacity.
|
|
144
|
+
- [ ] **PRC-26-008** — Spike testing covers sudden surges.
|
|
145
|
+
- [ ] **PRC-26-009** — Endurance testing identifies leaks and gradual degradation.
|
|
146
|
+
- [ ] **PRC-26-010** — Capacity testing includes the largest expected tenant or customer.
|
|
147
|
+
- [ ] **PRC-26-011** — Provider quotas and account limits have been reviewed.
|
|
148
|
+
- [ ] **PRC-26-012** — Database connections, locks, storage, replicas, and I/O have sufficient headroom.
|
|
149
|
+
- [ ] **PRC-26-013** — Queue, cache, load-balancer, network, and worker capacity have sufficient headroom.
|
|
150
|
+
- [ ] **PRC-26-014** — Autoscaling minimums, maximums, triggers, cooldowns, and scale-down behavior are validated.
|
|
151
|
+
- [ ] **PRC-26-015** — Scaling does not overload a database or dependency.
|
|
152
|
+
- [ ] **PRC-26-016** — Capacity remains sufficient during a zone, node, or region failure according to the design.
|
|
153
|
+
- [ ] **PRC-26-017** — Rate limits protect shared capacity fairly.
|
|
154
|
+
- [ ] **PRC-26-018** — Per-user and per-tenant quotas prevent noisy-neighbor failure.
|
|
155
|
+
- [ ] **PRC-26-019** — Backpressure propagates safely.
|
|
156
|
+
- [ ] **PRC-26-020** — Queues are bounded or have explicit overload behavior.
|
|
157
|
+
- [ ] **PRC-26-021** — Load shedding preserves the most important operations.
|
|
158
|
+
- [ ] **PRC-26-022** — Retry storms are prevented.
|
|
159
|
+
- [ ] **PRC-26-023** — Expensive optional functionality can degrade or disable safely.
|
|
160
|
+
- [ ] **PRC-26-024** — DDoS scenarios and provider protections have been reviewed.
|
|
161
|
+
- [ ] **PRC-26-025** — Capacity-related alert thresholds provide enough time to act.
|
|
162
|
+
- [ ] **PRC-26-026** — The cost of expected and peak operation has been modeled.
|
|
163
|
+
- [ ] **PRC-26-027** — Cost limits do not silently terminate essential operation.
|
|
164
|
+
- [ ] **PRC-26-028** — Capacity assumptions have owners and review dates.
|
|
165
|
+
|
|
166
|
+
---
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
# Reliability and operations
|
|
2
|
+
|
|
3
|
+
> Prepare infrastructure, observability, response, recovery, deployment, and post-launch verification.
|
|
4
|
+
|
|
5
|
+
Sections 27–35 of the master checklist. For each applicable item, capture status, owner, evidence, release, environment, reviewer, and evidence age.
|
|
6
|
+
|
|
7
|
+
## 27. Reliability, resilience, and failure engineering
|
|
8
|
+
|
|
9
|
+
SRE practice centers reliability decisions on user-facing SLIs, approved SLOs, and an error-budget policy. It also warns that apparently redundant systems frequently share hidden dependencies and failure domains. ([sre.google](https://sre.google/workbook/implementing-slos/))
|
|
10
|
+
|
|
11
|
+
- [ ] **PRC-27-001** — User-centric service-level indicators are defined.
|
|
12
|
+
- [ ] **PRC-27-002** — SLOs cover the most important availability, latency, correctness, durability, freshness, and quality outcomes.
|
|
13
|
+
- [ ] **PRC-27-003** — SLOs are approved by product and engineering stakeholders.
|
|
14
|
+
- [ ] **PRC-27-004** — SLO measurement represents actual user experience.
|
|
15
|
+
- [ ] **PRC-27-005** — An error-budget policy controls release and reliability decisions.
|
|
16
|
+
- [ ] **PRC-27-006** — The service is within its permitted error budget before a risky launch.
|
|
17
|
+
- [ ] **PRC-27-007** — Critical dependencies have reliability expectations compatible with the product SLO.
|
|
18
|
+
- [ ] **PRC-27-008** — Dependency reliability limitations are engineered around where necessary.
|
|
19
|
+
- [ ] **PRC-27-009** — Every network call has an appropriate timeout.
|
|
20
|
+
- [ ] **PRC-27-010** — Retries are bounded.
|
|
21
|
+
- [ ] **PRC-27-011** — Retries use exponential backoff and jitter where appropriate.
|
|
22
|
+
- [ ] **PRC-27-012** — Retried operations are safe or idempotent.
|
|
23
|
+
- [ ] **PRC-27-013** — Circuit breakers or equivalent controls prevent cascading failure.
|
|
24
|
+
- [ ] **PRC-27-014** — Bulkheads or isolation prevent one workload from exhausting all capacity.
|
|
25
|
+
- [ ] **PRC-27-015** — Fallback behavior is defined and tested.
|
|
26
|
+
- [ ] **PRC-27-016** — Graceful degradation prioritizes critical functionality.
|
|
27
|
+
- [ ] **PRC-27-017** — Failure in optional functionality does not unnecessarily fail the whole product.
|
|
28
|
+
- [ ] **PRC-27-018** — Health checks distinguish process liveness from readiness to serve.
|
|
29
|
+
- [ ] **PRC-27-019** — Instances stop receiving work before shutdown.
|
|
30
|
+
- [ ] **PRC-27-020** — In-flight work is completed, transferred, or safely retried during shutdown.
|
|
31
|
+
- [ ] **PRC-27-021** — Redundancy crosses the failure domains it is intended to survive.
|
|
32
|
+
- [ ] **PRC-27-022** — Shared control planes, identity systems, networks, storage, DNS, and providers are included in failure analysis.
|
|
33
|
+
- [ ] **PRC-27-023** — Single points of failure are removed or explicitly accepted.
|
|
34
|
+
- [ ] **PRC-27-024** — Network delay, packet loss, partitions, and DNS failure have been tested.
|
|
35
|
+
- [ ] **PRC-27-025** — Dependency timeout, malformed response, throttling, and outage have been tested.
|
|
36
|
+
- [ ] **PRC-27-026** — Cache outage and cache stampede behavior have been tested.
|
|
37
|
+
- [ ] **PRC-27-027** — Database failover and replication lag have been tested.
|
|
38
|
+
- [ ] **PRC-27-028** — Queue backlog and broker failure have been tested.
|
|
39
|
+
- [ ] **PRC-27-029** — Disk-full, memory pressure, CPU exhaustion, file-descriptor exhaustion, and connection exhaustion have been tested.
|
|
40
|
+
- [ ] **PRC-27-030** — Clock skew and time-service failure have been considered.
|
|
41
|
+
- [ ] **PRC-27-031** — Certificate and key expiry have been considered.
|
|
42
|
+
- [ ] **PRC-27-032** — Scheduled jobs handle overlapping or missed execution.
|
|
43
|
+
- [ ] **PRC-27-033** — Stateful failover preserves required integrity.
|
|
44
|
+
- [ ] **PRC-27-034** — Recovery does not create uncontrolled retry or traffic surges.
|
|
45
|
+
- [ ] **PRC-27-035** — Maintenance and degraded modes are documented.
|
|
46
|
+
- [ ] **PRC-27-036** — Controlled fault-injection or equivalent resilience tests have been completed for high-risk paths.
|
|
47
|
+
- [ ] **PRC-27-037** — Recovery time from tested failures meets the approved objective.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 28. Infrastructure and platform readiness
|
|
52
|
+
|
|
53
|
+
- [ ] **PRC-28-001** — Infrastructure is defined as code or otherwise reproducible and auditable.
|
|
54
|
+
- [ ] **PRC-28-002** — Infrastructure changes receive review.
|
|
55
|
+
- [ ] **PRC-28-003** — Infrastructure code is tested and security-scanned.
|
|
56
|
+
- [ ] **PRC-28-004** — Production accounts, subscriptions, projects, and clusters are separated appropriately.
|
|
57
|
+
- [ ] **PRC-28-005** — Resource ownership and criticality are labeled.
|
|
58
|
+
- [ ] **PRC-28-006** — Operating systems, runtimes, database engines, and platform versions are supported.
|
|
59
|
+
- [ ] **PRC-28-007** — Security patches are current according to risk policy.
|
|
60
|
+
- [ ] **PRC-28-008** — Unnecessary services, packages, ports, and capabilities are removed.
|
|
61
|
+
- [ ] **PRC-28-009** — Workloads run with the least operating-system and platform privilege.
|
|
62
|
+
- [ ] **PRC-28-010** — Administrative access uses strong authentication and controlled entry points.
|
|
63
|
+
- [ ] **PRC-28-011** — Just-in-time or time-bounded administrative access is used where practical.
|
|
64
|
+
- [ ] **PRC-28-012** — Network segmentation and private connectivity are configured as designed.
|
|
65
|
+
- [ ] **PRC-28-013** — Storage encryption and access policies are correct.
|
|
66
|
+
- [ ] **PRC-28-014** — Critical resources have deletion protection or equivalent safeguards.
|
|
67
|
+
- [ ] **PRC-28-015** — Resource quotas and account limits are documented.
|
|
68
|
+
- [ ] **PRC-28-016** — Monitoring covers platform control-plane and quota failures.
|
|
69
|
+
- [ ] **PRC-28-017** — Configuration drift and unauthorized resources are detected.
|
|
70
|
+
- [ ] **PRC-28-018** — Asset inventory matches deployed infrastructure.
|
|
71
|
+
- [ ] **PRC-28-019** — Production resource deletion and recreation have tested recovery procedures.
|
|
72
|
+
- [ ] **PRC-28-020** — Multi-zone or multi-region architecture matches the required recovery and availability objectives.
|
|
73
|
+
- [ ] **PRC-28-021** — Infrastructure capacity has been validated under failure.
|
|
74
|
+
- [ ] **PRC-28-022** — Cloud or platform provider status and escalation paths are integrated into operations.
|
|
75
|
+
- [ ] **PRC-28-023** — Infrastructure cost alerts and runaway-resource protections exist.
|
|
76
|
+
- [ ] **PRC-28-024** — Break-glass access works during identity or network failure and is audited.
|
|
77
|
+
- [ ] **PRC-28-025** — Infrastructure credentials and machine identities are rotated and inventoried.
|
|
78
|
+
|
|
79
|
+
### 28.1 Containers and orchestration, when used
|
|
80
|
+
|
|
81
|
+
- [ ] **PRC-28-026** — Base images are minimal, trusted, pinned, and scanned.
|
|
82
|
+
- [ ] **PRC-28-027** — Workloads do not run as root unless justified.
|
|
83
|
+
- [ ] **PRC-28-028** — Filesystems are read-only where practical.
|
|
84
|
+
- [ ] **PRC-28-029** — Unnecessary Linux or equivalent capabilities are removed.
|
|
85
|
+
- [ ] **PRC-28-030** — Privileged containers and host access are prohibited unless explicitly approved.
|
|
86
|
+
- [ ] **PRC-28-031** — Resource requests and limits are configured.
|
|
87
|
+
- [ ] **PRC-28-032** — Runtime security policies are enforced.
|
|
88
|
+
- [ ] **PRC-28-033** — Platform role-based access follows least privilege.
|
|
89
|
+
- [ ] **PRC-28-034** — Network policies restrict unnecessary communication.
|
|
90
|
+
- [ ] **PRC-28-035** — Admission or policy checks prevent prohibited workloads.
|
|
91
|
+
- [ ] **PRC-28-036** — Image signatures or provenance are verified.
|
|
92
|
+
- [ ] **PRC-28-037** — Secrets are not embedded in images.
|
|
93
|
+
- [ ] **PRC-28-038** — Node, cluster, and control-plane upgrades have been rehearsed.
|
|
94
|
+
- [ ] **PRC-28-039** — Eviction, rescheduling, and rolling-update behavior are tested.
|
|
95
|
+
- [ ] **PRC-28-040** — Persistent-volume failure and restoration are tested.
|
|
96
|
+
|
|
97
|
+
### 28.2 Serverless or managed execution, when used
|
|
98
|
+
|
|
99
|
+
- [ ] **PRC-28-041** — Concurrency limits and scaling behavior are understood.
|
|
100
|
+
- [ ] **PRC-28-042** — Cold-start impact is acceptable.
|
|
101
|
+
- [ ] **PRC-28-043** — Execution duration, memory, payload, temporary-storage, and connection limits are handled.
|
|
102
|
+
- [ ] **PRC-28-044** — Event retries and duplicate delivery are safe.
|
|
103
|
+
- [ ] **PRC-28-045** — Provider lock-in and recovery dependencies are documented.
|
|
104
|
+
- [ ] **PRC-28-046** — Service identities are scoped per function or workload where practical.
|
|
105
|
+
- [ ] **PRC-28-047** — Provider logging and tracing are sufficient for incident investigation.
|
|
106
|
+
- [ ] **PRC-28-048** — Regional availability and failover match the SLO.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 29. Observability, logging, metrics, and audit trails
|
|
111
|
+
|
|
112
|
+
- [ ] **PRC-29-001** — Logs, metrics, traces, synthetics, and real-user signals cover the critical journeys.
|
|
113
|
+
- [ ] **PRC-29-002** — Telemetry uses a consistent service, environment, version, and instance identity.
|
|
114
|
+
- [ ] **PRC-29-003** — Timestamps are accurate and use an unambiguous time basis.
|
|
115
|
+
- [ ] **PRC-29-004** — Requests and background operations have correlation identifiers.
|
|
116
|
+
- [ ] **PRC-29-005** — Distributed trace context propagates across trusted service boundaries.
|
|
117
|
+
- [ ] **PRC-29-006** — The release version appears in telemetry.
|
|
118
|
+
- [ ] **PRC-29-007** — Deployments and configuration changes are annotated on dashboards.
|
|
119
|
+
- [ ] **PRC-29-008** — Availability is measured from the user’s perspective.
|
|
120
|
+
- [ ] **PRC-29-009** — Latency is measured with meaningful percentiles.
|
|
121
|
+
- [ ] **PRC-29-010** — Errors distinguish user mistakes, expected business outcomes, dependency failures, and system defects.
|
|
122
|
+
- [ ] **PRC-29-011** — Traffic or workload volume is measured.
|
|
123
|
+
- [ ] **PRC-29-012** — Saturation is measured for relevant resources.
|
|
124
|
+
- [ ] **PRC-29-013** — Correctness, freshness, durability, queue lag, and reconciliation metrics exist where relevant.
|
|
125
|
+
- [ ] **PRC-29-014** — Business indicators can reveal silent technical failure.
|
|
126
|
+
- [ ] **PRC-29-015** — Dependency health is observable.
|
|
127
|
+
- [ ] **PRC-29-016** — Dashboards support both high-level triage and detailed diagnosis.
|
|
128
|
+
- [ ] **PRC-29-017** — Logs are structured and searchable.
|
|
129
|
+
- [ ] **PRC-29-018** — Log levels are consistent.
|
|
130
|
+
- [ ] **PRC-29-019** — Errors include enough context to diagnose without exposing sensitive data.
|
|
131
|
+
- [ ] **PRC-29-020** — Passwords, reusable tokens, session identifiers, secret keys, and payment credentials are never logged.
|
|
132
|
+
- [ ] **PRC-29-021** — Personal and confidential data is excluded or minimized.
|
|
133
|
+
- [ ] **PRC-29-022** — Log-injection and control-character attacks are handled.
|
|
134
|
+
- [ ] **PRC-29-023** — Audit records identify actor, tenant, operation, target, time, source, outcome, and reason where appropriate.
|
|
135
|
+
- [ ] **PRC-29-024** — Authentication, authorization changes, administrative actions, sensitive reads, exports, deletion, and configuration changes are audited.
|
|
136
|
+
- [ ] **PRC-29-025** — Audit data is protected against unauthorized modification and deletion.
|
|
137
|
+
- [ ] **PRC-29-026** — Audit access is restricted and audited.
|
|
138
|
+
- [ ] **PRC-29-027** — Log and audit retention matches security, privacy, legal, and operational requirements.
|
|
139
|
+
- [ ] **PRC-29-028** — Sampling does not discard critical security or correctness events.
|
|
140
|
+
- [ ] **PRC-29-029** — Telemetry pipeline failure is itself monitored.
|
|
141
|
+
- [ ] **PRC-29-030** — Telemetry backlog and quota exhaustion are monitored.
|
|
142
|
+
- [ ] **PRC-29-031** — Synthetic checks validate critical journeys externally.
|
|
143
|
+
- [ ] **PRC-29-032** — Real-user monitoring is privacy-reviewed.
|
|
144
|
+
- [ ] **PRC-29-033** — An investigator can locate relevant evidence within the incident-response objective.
|
|
145
|
+
- [ ] **PRC-29-034** — Observability cost and cardinality are controlled without losing essential signals.
|
|
146
|
+
- [ ] **PRC-29-035** — Dashboards and queries have been tested during a simulated incident.
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## 30. Alerting, on-call, and runbooks
|
|
151
|
+
|
|
152
|
+
- [ ] **PRC-30-001** — Alerts are tied to user impact, SLO risk, data integrity, security, or impending capacity failure.
|
|
153
|
+
- [ ] **PRC-30-002** — Paging alerts are actionable.
|
|
154
|
+
- [ ] **PRC-30-003** — Non-actionable information is sent through non-paging channels.
|
|
155
|
+
- [ ] **PRC-30-004** — Alert severity definitions are documented.
|
|
156
|
+
- [ ] **PRC-30-005** — Every alert has an owner.
|
|
157
|
+
- [ ] **PRC-30-006** — Every page has a corresponding diagnostic or mitigation runbook.
|
|
158
|
+
- [ ] **PRC-30-007** — Alert routing and escalation have been tested.
|
|
159
|
+
- [ ] **PRC-30-008** — Primary and secondary coverage exist during required service hours.
|
|
160
|
+
- [ ] **PRC-30-009** — On-call responders have the required access and tools.
|
|
161
|
+
- [ ] **PRC-30-010** — No alert depends on one irreplaceable person.
|
|
162
|
+
- [ ] **PRC-30-011** — Burn-rate or equivalent alerts detect both fast and slow SLO consumption.
|
|
163
|
+
- [ ] **PRC-30-012** — Alert thresholds avoid obvious noise and missed incidents.
|
|
164
|
+
- [ ] **PRC-30-013** — Duplicate alerts are correlated or suppressed appropriately.
|
|
165
|
+
- [ ] **PRC-30-014** — Maintenance and deployments do not suppress unrelated incidents.
|
|
166
|
+
- [ ] **PRC-30-015** — Failure of the monitoring or paging system generates an independent signal.
|
|
167
|
+
- [ ] **PRC-30-016** — Runbooks include symptoms, impact, diagnosis, containment, rollback, recovery, verification, and escalation.
|
|
168
|
+
- [ ] **PRC-30-017** — Runbooks avoid undocumented tribal knowledge.
|
|
169
|
+
- [ ] **PRC-30-018** — Runbook commands are safe, reviewed, and clearly distinguish destructive actions.
|
|
170
|
+
- [ ] **PRC-30-019** — Access to required dashboards and consoles works during an incident.
|
|
171
|
+
- [ ] **PRC-30-020** — Provider support and escalation information is current.
|
|
172
|
+
- [ ] **PRC-30-021** — Customer support knows how to escalate production problems.
|
|
173
|
+
- [ ] **PRC-30-022** — A public or customer-facing status mechanism exists where appropriate.
|
|
174
|
+
- [ ] **PRC-30-023** — On-call load and alert volume are operationally sustainable.
|
|
175
|
+
- [ ] **PRC-30-024** — Handover procedures preserve active incident context.
|
|
176
|
+
- [ ] **PRC-30-025** — On-call and runbook drills have been completed.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## 31. Security validation and vulnerability management
|
|
181
|
+
|
|
182
|
+
- [ ] **PRC-31-001** — Security requirements are traceable to the threat model and recognized verification criteria.
|
|
183
|
+
- [ ] **PRC-31-002** — The release is assessed against the applicable OWASP ASVS 5.0.0 requirements.
|
|
184
|
+
- [ ] **PRC-31-003** — Source-code security analysis has run.
|
|
185
|
+
- [ ] **PRC-31-004** — Dependency and SBOM analysis has run.
|
|
186
|
+
- [ ] **PRC-31-005** — Secret scanning has run.
|
|
187
|
+
- [ ] **PRC-31-006** — Infrastructure and configuration analysis has run.
|
|
188
|
+
- [ ] **PRC-31-007** — Container or system-image analysis has run where applicable.
|
|
189
|
+
- [ ] **PRC-31-008** — Deployed application security testing has run.
|
|
190
|
+
- [ ] **PRC-31-009** — API security testing has run.
|
|
191
|
+
- [ ] **PRC-31-010** — Authentication and recovery testing has run.
|
|
192
|
+
- [ ] **PRC-31-011** — Authorization and tenant-isolation testing has run.
|
|
193
|
+
- [ ] **PRC-31-012** — Injection and unsafe-input testing has run.
|
|
194
|
+
- [ ] **PRC-31-013** — Browser and session security testing has run.
|
|
195
|
+
- [ ] **PRC-31-014** — File-processing security testing has run where applicable.
|
|
196
|
+
- [ ] **PRC-31-015** — Business-logic and abuse testing has run.
|
|
197
|
+
- [ ] **PRC-31-016** — Manual code review covers the highest-risk components.
|
|
198
|
+
- [ ] **PRC-31-017** — Independent penetration testing is complete where warranted.
|
|
199
|
+
- [ ] **PRC-31-018** — Penetration testing includes authenticated users, multiple roles, multiple tenants, APIs, administrative tools, and business logic as applicable.
|
|
200
|
+
- [ ] **PRC-31-019** — False positives are documented with evidence.
|
|
201
|
+
- [ ] **PRC-31-020** — Findings have owners and remediation targets.
|
|
202
|
+
- [ ] **PRC-31-021** — Fixed findings have been retested.
|
|
203
|
+
- [ ] **PRC-31-022** — Relevant known-exploited vulnerabilities are treated as priority blockers unless exposure and mitigation are convincingly demonstrated.
|
|
204
|
+
- [ ] **PRC-31-023** — Unsupported software and unpatchable components have explicit treatment plans.
|
|
205
|
+
- [ ] **PRC-31-024** — Compensating controls are validated in the deployed environment.
|
|
206
|
+
- [ ] **PRC-31-025** — A safe emergency-patching path exists.
|
|
207
|
+
- [ ] **PRC-31-026** — External attack-surface discovery is continuous.
|
|
208
|
+
- [ ] **PRC-31-027** — A vulnerability-disclosure policy and reporting channel exist.
|
|
209
|
+
- [ ] **PRC-31-028** — Security reports receive acknowledgment, triage, remediation, disclosure, and credit processes as appropriate.
|
|
210
|
+
- [ ] **PRC-31-029** — Customer security advisories can be produced promptly.
|
|
211
|
+
- [ ] **PRC-31-030** — Security evidence is retained with the release.
|
|
212
|
+
- [ ] **PRC-31-031** — Security regressions are represented in automated tests where practical.
|
|
213
|
+
- [ ] **PRC-31-032** — Production security scanning is configured not to damage service or data.
|
|
214
|
+
- [ ] **PRC-31-033** — Security monitoring covers account takeover, privilege changes, secret use, suspicious exports, abuse, and control tampering.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## 32. Incident response and crisis readiness
|
|
219
|
+
|
|
220
|
+
NIST SP 800-61 Revision 3, finalized in April 2025, treats incident response as part of broader risk management and emphasizes preparation, detection, response, and recovery. ([csrc.nist.gov](https://csrc.nist.gov/pubs/sp/800/61/r3/final))
|
|
221
|
+
|
|
222
|
+
- [ ] **PRC-32-001** — A current incident-response plan exists.
|
|
223
|
+
- [ ] **PRC-32-002** — Incident severity levels are defined.
|
|
224
|
+
- [ ] **PRC-32-003** — Authority to declare an incident is clear.
|
|
225
|
+
- [ ] **PRC-32-004** — Incident roles include command, technical response, communications, documentation, security, privacy/legal, and business ownership as needed.
|
|
226
|
+
- [ ] **PRC-32-005** — Primary and alternate communication channels exist.
|
|
227
|
+
- [ ] **PRC-32-006** — Contact details are current and available during identity, network, or provider failure.
|
|
228
|
+
- [ ] **PRC-32-007** — Procedures cover detection, triage, containment, eradication, recovery, and closure.
|
|
229
|
+
- [ ] **PRC-32-008** — Procedures distinguish outages, security incidents, privacy incidents, safety events, and fraud events.
|
|
230
|
+
- [ ] **PRC-32-009** — Evidence-preservation and forensic procedures exist.
|
|
231
|
+
- [ ] **PRC-32-010** — Logging and time synchronization support investigation.
|
|
232
|
+
- [ ] **PRC-32-011** — Credentials, sessions, certificates, and keys can be revoked or rotated rapidly.
|
|
233
|
+
- [ ] **PRC-32-012** — Compromised builds and dependencies can be identified and replaced.
|
|
234
|
+
- [ ] **PRC-32-013** — Customer and public communications templates exist.
|
|
235
|
+
- [ ] **PRC-32-014** — A status-page process exists where appropriate.
|
|
236
|
+
- [ ] **PRC-32-015** — Regulatory, contractual, insurer, partner, and law-enforcement notification requirements are mapped.
|
|
237
|
+
- [ ] **PRC-32-016** — Notification deadlines and decision owners are documented.
|
|
238
|
+
- [ ] **PRC-32-017** — Provider and subprocessor incident contacts are current.
|
|
239
|
+
- [ ] **PRC-32-018** — Alternate operations are possible during provider failure.
|
|
240
|
+
- [ ] **PRC-32-019** — Tabletop exercises cover realistic scenarios.
|
|
241
|
+
- [ ] **PRC-32-020** — Exercises include account takeover, data exfiltration, destructive access, ransomware, dependency compromise, regional outage, and data corruption as relevant.
|
|
242
|
+
- [ ] **PRC-32-021** — Exercise findings have owners and deadlines.
|
|
243
|
+
- [ ] **PRC-32-022** — Post-incident reviews are blameless but accountable.
|
|
244
|
+
- [ ] **PRC-32-023** — Corrective actions are tracked to completion.
|
|
245
|
+
- [ ] **PRC-32-024** — Lessons are converted into tests, controls, runbooks, and architecture changes.
|
|
246
|
+
- [ ] **PRC-32-025** — Incident metrics include detection, acknowledgment, containment, recovery, impact, and recurrence.
|
|
247
|
+
- [ ] **PRC-32-026** — Incident records preserve decisions and timelines.
|
|
248
|
+
- [ ] **PRC-32-027** — The plan can operate when the normal identity, chat, email, documentation, or cloud platform is unavailable.
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## 33. Backups, disaster recovery, and continuity
|
|
253
|
+
|
|
254
|
+
- [ ] **PRC-33-001** — Business-impact analysis identifies critical services and data.
|
|
255
|
+
- [ ] **PRC-33-002** — Recovery Point Objective is defined for each stateful system.
|
|
256
|
+
- [ ] **PRC-33-003** — Recovery Time Objective is defined for each critical journey.
|
|
257
|
+
- [ ] **PRC-33-004** — Backup scope includes databases, files, queues where needed, configuration, infrastructure definitions, secrets or recovery mechanisms, certificates, and required artifacts.
|
|
258
|
+
- [ ] **PRC-33-005** — Backups run automatically at the required frequency.
|
|
259
|
+
- [ ] **PRC-33-006** — Backup success is monitored.
|
|
260
|
+
- [ ] **PRC-33-007** — Backups are encrypted.
|
|
261
|
+
- [ ] **PRC-33-008** — Backup access follows least privilege.
|
|
262
|
+
- [ ] **PRC-33-009** — Backup copies are isolated from ordinary production compromise.
|
|
263
|
+
- [ ] **PRC-33-010** — Immutable or otherwise tamper-resistant copies exist where risk warrants.
|
|
264
|
+
- [ ] **PRC-33-011** — Retention meets operational, legal, contractual, and privacy requirements.
|
|
265
|
+
- [ ] **PRC-33-012** — Backup keys and recovery credentials are protected.
|
|
266
|
+
- [ ] **PRC-33-013** — Point-in-time recovery is available where required.
|
|
267
|
+
- [ ] **PRC-33-014** — Full restoration has been tested.
|
|
268
|
+
- [ ] **PRC-33-015** — Partial restoration has been tested.
|
|
269
|
+
- [ ] **PRC-33-016** — Restoration to a clean environment has been tested.
|
|
270
|
+
- [ ] **PRC-33-017** — Regional or provider-loss recovery has been tested when part of the design.
|
|
271
|
+
- [ ] **PRC-33-018** — Restore order and dependency requirements are documented.
|
|
272
|
+
- [ ] **PRC-33-019** — DNS, certificates, secrets, identity, networking, and external integrations are included in the recovery procedure.
|
|
273
|
+
- [ ] **PRC-33-020** — Restored data is checked for integrity and reconciliation.
|
|
274
|
+
- [ ] **PRC-33-021** — Actual tested recovery time meets the objective.
|
|
275
|
+
- [ ] **PRC-33-022** — Failover and failback are both tested.
|
|
276
|
+
- [ ] **PRC-33-023** — Disaster-recovery capacity can carry the required load.
|
|
277
|
+
- [ ] **PRC-33-024** — Recovery does not accidentally send duplicate notifications, charges, webhooks, or jobs.
|
|
278
|
+
- [ ] **PRC-33-025** — Backup restoration does not re-enable revoked users, secrets, or deleted data without detection.
|
|
279
|
+
- [ ] **PRC-33-026** — Privacy deletion and backup-retention interactions are documented.
|
|
280
|
+
- [ ] **PRC-33-027** — A ransomware or destructive-administrator scenario has been exercised.
|
|
281
|
+
- [ ] **PRC-33-028** — Recovery does not depend on a single person or unavailable device.
|
|
282
|
+
- [ ] **PRC-33-029** — Continuity procedures cover customer support, communications, and essential manual operations.
|
|
283
|
+
- [ ] **PRC-33-030** — Recovery tests produce retained evidence and corrective actions.
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## 34. Deployment and release engineering
|
|
288
|
+
|
|
289
|
+
- [ ] **PRC-34-001** — The deployment plan identifies exact artifacts and target environments.
|
|
290
|
+
- [ ] **PRC-34-002** — The plan identifies migrations, configuration changes, infrastructure changes, flags, and external dependencies.
|
|
291
|
+
- [ ] **PRC-34-003** — Required approvals are complete.
|
|
292
|
+
- [ ] **PRC-34-004** — Deployment permissions are restricted.
|
|
293
|
+
- [ ] **PRC-34-005** — The person deploying cannot silently substitute an unapproved artifact.
|
|
294
|
+
- [ ] **PRC-34-006** — Predeployment checks validate environment health and capacity.
|
|
295
|
+
- [ ] **PRC-34-007** — Required backups or recovery points exist.
|
|
296
|
+
- [ ] **PRC-34-008** — Database migration steps and ordering are explicit.
|
|
297
|
+
- [ ] **PRC-34-009** — Application, worker, scheduled-job, and schema compatibility is maintained during rollout.
|
|
298
|
+
- [ ] **PRC-34-010** — Mixed-version operation is tested where it will occur.
|
|
299
|
+
- [ ] **PRC-34-011** — Deployment uses a progressive, canary, blue-green, cohort, or similarly controlled approach where risk warrants.
|
|
300
|
+
- [ ] **PRC-34-012** — The smallest safe initial cohort is used.
|
|
301
|
+
- [ ] **PRC-34-013** — Automated health gates examine user-facing success, latency, errors, saturation, and business integrity.
|
|
302
|
+
- [ ] **PRC-34-014** — Canary and control populations are comparable.
|
|
303
|
+
- [ ] **PRC-34-015** — Rollout pauses automatically or operationally on defined signals.
|
|
304
|
+
- [ ] **PRC-34-016** — Stop and rollback criteria are documented before launch.
|
|
305
|
+
- [ ] **PRC-34-017** — Rollback can be initiated quickly.
|
|
306
|
+
- [ ] **PRC-34-018** — Rollback has been rehearsed.
|
|
307
|
+
- [ ] **PRC-34-019** — Rollback is compatible with database and event changes.
|
|
308
|
+
- [ ] **PRC-34-020** — When rollback is unsafe, roll-forward recovery is rehearsed.
|
|
309
|
+
- [ ] **PRC-34-021** — The previous artifact and configuration remain available.
|
|
310
|
+
- [ ] **PRC-34-022** — Feature flags provide an independent way to disable risky behavior where appropriate.
|
|
311
|
+
- [ ] **PRC-34-023** — Traffic shifting and load-balancer behavior are tested.
|
|
312
|
+
- [ ] **PRC-34-024** — Cache and CDN invalidation are planned.
|
|
313
|
+
- [ ] **PRC-34-025** — DNS changes and TTL timing are planned.
|
|
314
|
+
- [ ] **PRC-34-026** — Certificate changes are planned and monitored.
|
|
315
|
+
- [ ] **PRC-34-027** — External providers are ready for the expected change.
|
|
316
|
+
- [ ] **PRC-34-028** — Rate limits and quotas are increased where needed.
|
|
317
|
+
- [ ] **PRC-34-029** — Scheduled jobs and workers are deployed in a safe order.
|
|
318
|
+
- [ ] **PRC-34-030** — No critical deployment step exists only in someone’s memory.
|
|
319
|
+
- [ ] **PRC-34-031** — Manual steps are minimized, scripted where practical, and peer-checked.
|
|
320
|
+
- [ ] **PRC-34-032** — The complete procedure has been rehearsed in a production-like environment.
|
|
321
|
+
- [ ] **PRC-34-033** — On-call engineering, operations, security, data, and provider contacts are available as needed.
|
|
322
|
+
- [ ] **PRC-34-034** — Customer support and communications are ready.
|
|
323
|
+
- [ ] **PRC-34-035** — The change window leaves adequate observation and rollback time.
|
|
324
|
+
- [ ] **PRC-34-036** — Every deployment action is auditable.
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## 35. Post-deployment verification
|
|
329
|
+
|
|
330
|
+
- [ ] **PRC-35-001** — Verify the deployed artifact digest.
|
|
331
|
+
- [ ] **PRC-35-002** — Verify the deployed configuration and feature-flag state.
|
|
332
|
+
- [ ] **PRC-35-003** — Verify database schema and migration completion.
|
|
333
|
+
- [ ] **PRC-35-004** — Verify migration row counts, totals, constraints, checksums, and business invariants.
|
|
334
|
+
- [ ] **PRC-35-005** — Run production-safe smoke tests for every critical journey.
|
|
335
|
+
- [ ] **PRC-35-006** — Test login, logout, recovery, and privileged authentication.
|
|
336
|
+
- [ ] **PRC-35-007** — Test authorization using multiple roles and tenants.
|
|
337
|
+
- [ ] **PRC-35-008** — Verify public, authenticated, administrative, API, worker, and scheduled-job paths.
|
|
338
|
+
- [ ] **PRC-35-009** — Verify third-party payments, webhooks, email, SMS, identity, storage, and other critical integrations.
|
|
339
|
+
- [ ] **PRC-35-010** — Verify TLS, certificates, redirects, CORS, cache controls, and security headers.
|
|
340
|
+
- [ ] **PRC-35-011** — Verify CDN and cache behavior.
|
|
341
|
+
- [ ] **PRC-35-012** — Review errors, latency, traffic, saturation, queues, database health, and dependency metrics.
|
|
342
|
+
- [ ] **PRC-35-013** — Review logs and traces for unexpected exceptions or data leakage.
|
|
343
|
+
- [ ] **PRC-35-014** — Verify alerts and synthetic monitoring.
|
|
344
|
+
- [ ] **PRC-35-015** — Compare canary and control outcomes.
|
|
345
|
+
- [ ] **PRC-35-016** — Verify analytics and business indicators.
|
|
346
|
+
- [ ] **PRC-35-017** — Perform an accessibility spot check on changed critical journeys.
|
|
347
|
+
- [ ] **PRC-35-018** — Confirm customer support receives expected telemetry and documentation.
|
|
348
|
+
- [ ] **PRC-35-019** — Confirm no unexpected increase in abuse, fraud, failed payments, duplicate operations, or support volume.
|
|
349
|
+
- [ ] **PRC-35-020** — Maintain heightened monitoring for the agreed observation period.
|
|
350
|
+
- [ ] **PRC-35-021** — Stop expansion when predefined thresholds are crossed.
|
|
351
|
+
- [ ] **PRC-35-022** — Roll back or declare an incident rather than rationalizing unexplained anomalies.
|
|
352
|
+
- [ ] **PRC-35-023** — Record the final go, hold, rollback, or incident decision.
|
|
353
|
+
- [ ] **PRC-35-024** — Schedule follow-up review for deferred observations and temporary controls.
|
|
354
|
+
|
|
355
|
+
---
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Maintenance, vendors, and compliance
|
|
2
|
+
|
|
3
|
+
> Keep the service supportable and verify third-party, legal, and regulatory obligations.
|
|
4
|
+
|
|
5
|
+
Sections 36–38 of the master checklist. For each applicable item, capture status, owner, evidence, release, environment, reviewer, and evidence age.
|
|
6
|
+
|
|
7
|
+
## 36. Maintainability and long-term operability
|
|
8
|
+
|
|
9
|
+
- [ ] **PRC-36-001** — A current README or equivalent operating entry point exists.
|
|
10
|
+
- [ ] **PRC-36-002** — Architecture, data flow, dependencies, deployment, and recovery are documented.
|
|
11
|
+
- [ ] **PRC-36-003** — Local or isolated development setup is reproducible.
|
|
12
|
+
- [ ] **PRC-36-004** — Build and test commands are documented.
|
|
13
|
+
- [ ] **PRC-36-005** — Coding, review, testing, and release conventions are documented.
|
|
14
|
+
- [ ] **PRC-36-006** — Critical code has appropriate maintainers.
|
|
15
|
+
- [ ] **PRC-36-007** — Complexity and tightly coupled components have been reviewed.
|
|
16
|
+
- [ ] **PRC-36-008** — Dead code and obsolete paths are removed.
|
|
17
|
+
- [ ] **PRC-36-009** — Tests are understandable and maintainable.
|
|
18
|
+
- [ ] **PRC-36-010** — Critical behavior is not protected only by brittle end-to-end tests.
|
|
19
|
+
- [ ] **PRC-36-011** — Dependency-update ownership and cadence exist.
|
|
20
|
+
- [ ] **PRC-36-012** — Runtime and platform end-of-support dates are tracked.
|
|
21
|
+
- [ ] **PRC-36-013** — Technical debt that affects reliability or security is recorded.
|
|
22
|
+
- [ ] **PRC-36-014** — Temporary workarounds have owners and expiry dates.
|
|
23
|
+
- [ ] **PRC-36-015** — Feature flags and compatibility shims have removal plans.
|
|
24
|
+
- [ ] **PRC-36-016** — API and data deprecation policies exist.
|
|
25
|
+
- [ ] **PRC-36-017** — Operational toil is measured and reduced.
|
|
26
|
+
- [ ] **PRC-36-018** — Routine maintenance does not require broad production privileges.
|
|
27
|
+
- [ ] **PRC-36-019** — Support documentation and troubleshooting guidance are current.
|
|
28
|
+
- [ ] **PRC-36-020** — Support personnel are trained on the released behavior.
|
|
29
|
+
- [ ] **PRC-36-021** — Support access to customer data is restricted and audited.
|
|
30
|
+
- [ ] **PRC-36-022** — Known issues are communicated accurately.
|
|
31
|
+
- [ ] **PRC-36-023** — Release notes describe user-relevant changes.
|
|
32
|
+
- [ ] **PRC-36-024** — Maintenance windows and status communications are defined.
|
|
33
|
+
- [ ] **PRC-36-025** — Ownership has sufficient staffing and knowledge redundancy.
|
|
34
|
+
- [ ] **PRC-36-026** — Critical knowledge is not held by one person.
|
|
35
|
+
- [ ] **PRC-36-027** — Decommissioning, data export, retention, and secure deletion have a documented lifecycle plan.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 37. Third-party and vendor readiness
|
|
40
|
+
|
|
41
|
+
- [ ] **PRC-37-001** — Maintain an inventory of all third parties involved in delivery or data processing.
|
|
42
|
+
- [ ] **PRC-37-002** — Record each provider’s purpose, owner, data access, permissions, regions, and criticality.
|
|
43
|
+
- [ ] **PRC-37-003** — Security and privacy due diligence is proportionate to risk.
|
|
44
|
+
- [ ] **PRC-37-004** — Contracts cover service levels, security, permitted data use, breach notification, deletion, portability, and termination.
|
|
45
|
+
- [ ] **PRC-37-005** — Subprocessors are known where required.
|
|
46
|
+
- [ ] **PRC-37-006** — Provider credentials and scopes follow least privilege.
|
|
47
|
+
- [ ] **PRC-37-007** — Sandbox and production accounts are separated.
|
|
48
|
+
- [ ] **PRC-37-008** — Integration secrets are rotatable.
|
|
49
|
+
- [ ] **PRC-37-009** — Provider quotas, rate limits, and concurrency limits are understood.
|
|
50
|
+
- [ ] **PRC-37-010** — Provider availability and support commitments align with the product’s objectives.
|
|
51
|
+
- [ ] **PRC-37-011** — Timeouts, retries, circuit breaking, fallback, and reconciliation are implemented.
|
|
52
|
+
- [ ] **PRC-37-012** — Provider responses are treated as untrusted input.
|
|
53
|
+
- [ ] **PRC-37-013** — Webhooks and callbacks are authenticated and replay-protected.
|
|
54
|
+
- [ ] **PRC-37-014** — Provider API versions and deprecation dates are monitored.
|
|
55
|
+
- [ ] **PRC-37-015** — Breaking-change notifications reach an accountable owner.
|
|
56
|
+
- [ ] **PRC-37-016** — Provider outages and malformed responses have been tested.
|
|
57
|
+
- [ ] **PRC-37-017** — Provider data-use changes are monitored.
|
|
58
|
+
- [ ] **PRC-37-018** — A kill switch can disable a compromised or harmful integration.
|
|
59
|
+
- [ ] **PRC-37-019** — A replacement, exit, or data-export plan exists for critical providers.
|
|
60
|
+
- [ ] **PRC-37-020** — The app can identify records affected by a provider incident.
|
|
61
|
+
- [ ] **PRC-37-021** — Provider status and escalation contacts are included in incident runbooks.
|
|
62
|
+
- [ ] **PRC-37-022** — Terminated providers lose credentials and data access.
|
|
63
|
+
- [ ] **PRC-37-023** — Vendor claims relied upon for compliance are evidenced rather than assumed.
|
|
64
|
+
- [ ] **PRC-37-024** — No provider can silently expand data collection beyond approved behavior.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 38. Legal and compliance applicability
|
|
69
|
+
|
|
70
|
+
This section is a control framework, not legal advice. Applicability must be determined using qualified legal and compliance review for the app’s actual users, markets, data, transactions, and sector.
|
|
71
|
+
|
|
72
|
+
- [ ] **PRC-38-001** — List every jurisdiction in which the service is offered, operated, marketed, or monitors users.
|
|
73
|
+
- [ ] **PRC-38-002** — Identify applicable privacy and data-protection laws.
|
|
74
|
+
- [ ] **PRC-38-003** — Identify applicable accessibility laws and procurement requirements.
|
|
75
|
+
- [ ] **PRC-38-004** — Identify consumer-protection and unfair-practice requirements.
|
|
76
|
+
- [ ] **PRC-38-005** — Identify subscription, renewal, cancellation, refund, and pricing requirements.
|
|
77
|
+
- [ ] **PRC-38-006** — Identify marketing, advertising, email, SMS, telemarketing, and consent requirements.
|
|
78
|
+
- [ ] **PRC-38-007** — Identify payment, banking, financial-service, insurance, or securities requirements.
|
|
79
|
+
- [ ] **PRC-38-008** — Identify healthcare, education, employment, housing, government, or other sector requirements.
|
|
80
|
+
- [ ] **PRC-38-009** — Identify children’s and age-appropriate-design requirements.
|
|
81
|
+
- [ ] **PRC-38-010** — Identify identity-verification, fraud, and anti-money-laundering obligations where applicable.
|
|
82
|
+
- [ ] **PRC-38-011** — Identify record-retention and legal-hold obligations.
|
|
83
|
+
- [ ] **PRC-38-012** — Identify tax, invoice, currency, and marketplace obligations.
|
|
84
|
+
- [ ] **PRC-38-013** — Identify export-control, sanctions, and restricted-country requirements.
|
|
85
|
+
- [ ] **PRC-38-014** — Identify data-localization and international-transfer requirements.
|
|
86
|
+
- [ ] **PRC-38-015** — Identify content, intellectual-property, copyright, moderation, and intermediary obligations.
|
|
87
|
+
- [ ] **PRC-38-016** — Identify cybersecurity, incident-reporting, and breach-notification obligations.
|
|
88
|
+
- [ ] **PRC-38-017** — Identify algorithmic-decision and AI-specific obligations.
|
|
89
|
+
- [ ] **PRC-38-018** — Identify contractual and customer-specific security requirements.
|
|
90
|
+
- [ ] **PRC-38-019** — Terms of service match actual product behavior.
|
|
91
|
+
- [ ] **PRC-38-020** — Privacy and cookie notices match actual data behavior.
|
|
92
|
+
- [ ] **PRC-38-021** — Acceptable-use and content policies are enforceable and communicated.
|
|
93
|
+
- [ ] **PRC-38-022** — Data-processing agreements and subprocessor disclosures are current.
|
|
94
|
+
- [ ] **PRC-38-023** — Open-source notices and license obligations are fulfilled.
|
|
95
|
+
- [ ] **PRC-38-024** — Trademarks, media, data sets, fonts, and other content have appropriate rights.
|
|
96
|
+
- [ ] **PRC-38-025** — Security and compliance claims are accurate and supportable.
|
|
97
|
+
- [ ] **PRC-38-026** — Certifications are not represented beyond their actual scope.
|
|
98
|
+
- [ ] **PRC-38-027** — Accessibility claims are supported by evidence.
|
|
99
|
+
- [ ] **PRC-38-028** — Required contact, company, pricing, cancellation, and complaint information is displayed.
|
|
100
|
+
- [ ] **PRC-38-029** — Customer contracts and SLAs do not promise performance beyond demonstrated capacity.
|
|
101
|
+
- [ ] **PRC-38-030** — Insurance requirements and notification procedures are understood.
|
|
102
|
+
- [ ] **PRC-38-031** — Legal review has approved material launch changes.
|
|
103
|
+
- [ ] **PRC-38-032** — Renewal, review, and filing deadlines are tracked after launch.
|
|
104
|
+
|
|
105
|
+
### 38.1 Frequently triggered regulatory modules
|
|
106
|
+
|
|
107
|
+
- [ ] **PRC-38-033** — **Payments:** apply current PCI DSS requirements to the actual cardholder-data environment and minimize scope through tokenization or hosted collection where suitable. PCI DSS v4.0.1 is the current published revision in the PCI SSC document library. ([pcisecuritystandards.org](https://www.pcisecuritystandards.org/document_library/))
|
|
108
|
+
- [ ] **PRC-38-034** — **Health information:** determine whether HIPAA or another health-information regime applies and implement required administrative, physical, and technical safeguards. ([hhs.gov](https://www.hhs.gov/hipaa/for-professionals/security/index.html))
|
|
109
|
+
- [ ] **PRC-38-035** — **Children:** determine whether the product is directed to children or has actual knowledge of child users and apply parental-consent, minimization, advertising, safety, and deletion requirements. ([ftc.gov](https://www.ftc.gov/legal-library/browse/rules/childrens-online-privacy-protection-rule-coppa))
|
|
110
|
+
- [ ] **PRC-38-036** — **European accessibility:** determine whether the European Accessibility Act or related national rules apply to the service. ([eur-lex.europa.eu](https://eur-lex.europa.eu/eli/dir/2019/882/oj/eng))
|
|
111
|
+
|
|
112
|
+
---
|