@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,37 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 280" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Production Readiness Checklist</title>
|
|
3
|
+
<desc id="desc">A checklist shield beside the words Production Readiness Checklist: know what is ready and what still needs work.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
|
|
6
|
+
<stop offset="0" stop-color="#111827"/>
|
|
7
|
+
<stop offset="0.55" stop-color="#312e81"/>
|
|
8
|
+
<stop offset="1" stop-color="#115e59"/>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
<linearGradient id="mark" x1="0" y1="0" x2="1" y2="1">
|
|
11
|
+
<stop offset="0" stop-color="#818cf8"/>
|
|
12
|
+
<stop offset="1" stop-color="#2dd4bf"/>
|
|
13
|
+
</linearGradient>
|
|
14
|
+
<filter id="shadow" x="-30%" y="-30%" width="160%" height="160%">
|
|
15
|
+
<feDropShadow dx="0" dy="10" stdDeviation="12" flood-opacity=".25"/>
|
|
16
|
+
</filter>
|
|
17
|
+
</defs>
|
|
18
|
+
<rect width="1200" height="280" rx="24" fill="url(#bg)"/>
|
|
19
|
+
<circle cx="1120" cy="25" r="150" fill="#fff" opacity=".035"/>
|
|
20
|
+
<circle cx="1060" cy="270" r="110" fill="#2dd4bf" opacity=".07"/>
|
|
21
|
+
<circle cx="90" cy="250" r="125" fill="#818cf8" opacity=".06"/>
|
|
22
|
+
<g transform="translate(92 58)" filter="url(#shadow)">
|
|
23
|
+
<path d="M82 0 154 26v51c0 44-27 75-72 91C37 152 10 121 10 77V26L82 0Z" fill="url(#mark)"/>
|
|
24
|
+
<path d="m46 82 24 24 50-56" fill="none" stroke="#fff" stroke-width="14" stroke-linecap="round" stroke-linejoin="round"/>
|
|
25
|
+
</g>
|
|
26
|
+
<text x="300" y="82" fill="#99f6e4" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="16" font-weight="750" letter-spacing="2.5">OPEN-SOURCE CHECKLIST & PROJECT SCANNER</text>
|
|
27
|
+
<text x="298" y="137" fill="#fff" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="46" font-weight="750" letter-spacing="-1.5">Production Readiness Checklist</text>
|
|
28
|
+
<text x="302" y="178" fill="#ccfbf1" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="23" font-weight="500">Know what's ready and what still needs work.</text>
|
|
29
|
+
<g transform="translate(302 194)" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="16" font-weight="600">
|
|
30
|
+
<rect width="150" height="36" rx="18" fill="#fff" opacity=".12"/>
|
|
31
|
+
<text x="20" y="24" fill="#e0e7ff">10,042 controls</text>
|
|
32
|
+
<rect x="165" width="178" height="36" rx="18" fill="#fff" opacity=".12"/>
|
|
33
|
+
<text x="185" y="24" fill="#ccfbf1">read-only scanning</text>
|
|
34
|
+
<rect x="358" width="172" height="36" rx="18" fill="#fff" opacity=".12"/>
|
|
35
|
+
<text x="378" y="24" fill="#e0e7ff">Codex + Claude</text>
|
|
36
|
+
</g>
|
|
37
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-labelledby="title">
|
|
2
|
+
<title id="title">Production Readiness Checklist</title>
|
|
3
|
+
<defs>
|
|
4
|
+
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
|
5
|
+
<stop offset="0" stop-color="#4f46e5"/>
|
|
6
|
+
<stop offset="1" stop-color="#0f766e"/>
|
|
7
|
+
</linearGradient>
|
|
8
|
+
</defs>
|
|
9
|
+
<rect width="64" height="64" rx="16" fill="url(#g)"/>
|
|
10
|
+
<path d="M17 18.5h30a3 3 0 0 1 3 3v27a3 3 0 0 1-3 3H17a3 3 0 0 1-3-3v-27a3 3 0 0 1 3-3Z" fill="none" stroke="#fff" stroke-width="4"/>
|
|
11
|
+
<path d="m21 29 4 4 7-8M21 43l4 4 7-8M36 29h8M36 43h8" fill="none" stroke="#fff" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
|
12
|
+
<path d="M24 14h16v9H24z" fill="#fff" rx="3"/>
|
|
13
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 640" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Production Readiness Checklist</title>
|
|
3
|
+
<desc id="desc">Production Readiness Checklist: know what is ready and what still needs work. 10,042 controls plus a read-only project scanner.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
|
|
6
|
+
<stop offset="0" stop-color="#0f172a"/>
|
|
7
|
+
<stop offset="0.55" stop-color="#312e81"/>
|
|
8
|
+
<stop offset="1" stop-color="#115e59"/>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
<linearGradient id="mark" x1="0" y1="0" x2="1" y2="1">
|
|
11
|
+
<stop offset="0" stop-color="#818cf8"/>
|
|
12
|
+
<stop offset="1" stop-color="#2dd4bf"/>
|
|
13
|
+
</linearGradient>
|
|
14
|
+
<filter id="shadow" x="-40%" y="-40%" width="180%" height="180%">
|
|
15
|
+
<feDropShadow dx="0" dy="18" stdDeviation="20" flood-opacity=".28"/>
|
|
16
|
+
</filter>
|
|
17
|
+
</defs>
|
|
18
|
+
<rect width="1280" height="640" fill="url(#bg)"/>
|
|
19
|
+
<circle cx="1180" cy="50" r="240" fill="#fff" opacity=".03"/>
|
|
20
|
+
<circle cx="1090" cy="620" r="210" fill="#2dd4bf" opacity=".07"/>
|
|
21
|
+
<circle cx="70" cy="590" r="220" fill="#818cf8" opacity=".06"/>
|
|
22
|
+
<path d="M0 515C240 445 405 565 640 515s400-75 640-5v130H0Z" fill="#020617" opacity=".13"/>
|
|
23
|
+
<g transform="translate(92 108)" filter="url(#shadow)">
|
|
24
|
+
<path d="M142 0 268 45v90c0 78-47 131-126 159C63 266 16 213 16 135V45L142 0Z" fill="url(#mark)"/>
|
|
25
|
+
<path d="m78 144 42 42 88-98" fill="none" stroke="#fff" stroke-width="24" stroke-linecap="round" stroke-linejoin="round"/>
|
|
26
|
+
</g>
|
|
27
|
+
<text x="425" y="171" fill="#99f6e4" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="20" font-weight="750" letter-spacing="3.4">OPEN-SOURCE CHECKLIST & PROJECT SCANNER</text>
|
|
28
|
+
<text x="421" y="249" fill="#fff" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="57" font-weight="800" letter-spacing="-1.8">Production Readiness</text>
|
|
29
|
+
<text x="421" y="318" fill="#fff" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="57" font-weight="800" letter-spacing="-1.8">Checklist</text>
|
|
30
|
+
<text x="425" y="377" fill="#ccfbf1" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="28" font-weight="500">Know what's ready and what still needs work.</text>
|
|
31
|
+
<g transform="translate(425 425)" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="19" font-weight="700">
|
|
32
|
+
<rect width="180" height="48" rx="24" fill="#fff" opacity=".12"/>
|
|
33
|
+
<text x="25" y="31" fill="#e0e7ff">10,042 controls</text>
|
|
34
|
+
<rect x="196" width="220" height="48" rx="24" fill="#fff" opacity=".12"/>
|
|
35
|
+
<text x="221" y="31" fill="#ccfbf1">read-only scanning</text>
|
|
36
|
+
<rect x="432" width="196" height="48" rx="24" fill="#fff" opacity=".12"/>
|
|
37
|
+
<text x="457" y="31" fill="#e0e7ff">Codex + Claude</text>
|
|
38
|
+
</g>
|
|
39
|
+
<text x="425" y="545" fill="#a5b4fc" font-family="ui-monospace, SFMono-Regular, Consolas, monospace" font-size="19">github.com/MarinJursic/production-readiness-checklist</text>
|
|
40
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# The readiness principle
|
|
2
|
+
|
|
3
|
+
> Production readiness is an evidence-backed risk decision, not a promise of perfection.
|
|
4
|
+
|
|
5
|
+
## First: what “production-ready without any issues” can honestly mean
|
|
6
|
+
|
|
7
|
+
No finite checklist, automated test suite, penetration test, or review can prove that a nontrivial web application contains **zero defects** or will experience **zero incidents**. Dependencies change, traffic behaves unexpectedly, external services fail, threat techniques evolve, and some defects are reachable only under conditions that testing did not reproduce.
|
|
8
|
+
|
|
9
|
+
A defensible production-readiness claim is:
|
|
10
|
+
|
|
11
|
+
> **Every applicable requirement has current evidence; no known risk exceeds the organization’s tolerance; critical user journeys meet defined reliability and security objectives; and the organization can detect, contain, roll back, restore, support, and communicate failures.**
|
|
12
|
+
|
|
13
|
+
That interpretation matches modern secure-development and reliability practice: NIST’s SSDF aims to reduce vulnerabilities and mitigate the impact of vulnerabilities that remain undetected, while SRE practice uses measurable service-level objectives and error budgets rather than an unsupported promise of perfect uptime. ([csrc.nist.gov](https://csrc.nist.gov/pubs/sp/800/218/final))
|
|
14
|
+
|
|
15
|
+
This checklist is technology-neutral. The complete review begins with the [16-phase engineering lifecycle](../engineering/00-overview.md) and ends with this production gate. The standards snapshot was reviewed on **August 15, 2026** and includes ISO/IEC/IEEE 12207:2026, SWEBOK Guide V4.0, ISO/IEC 25010:2023, NIST SSDF 1.1, OWASP ASVS, WCAG 2.2, SLSA 1.2, NIST SP 800-63 Revision 4, and NIST SP 800-61 Revision 3. See [references and scope](../references.md).
|
|
16
|
+
|
|
17
|
+
---
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Release foundations
|
|
2
|
+
|
|
3
|
+
> Define what readiness means, stop unsafe launches early, and identify the exact release under review.
|
|
4
|
+
|
|
5
|
+
Sections 1–3 of the master checklist. For each applicable item, capture status, owner, evidence, release, environment, reviewer, and evidence age.
|
|
6
|
+
|
|
7
|
+
## 1. How to operate this checklist
|
|
8
|
+
|
|
9
|
+
For **every checkbox**, record:
|
|
10
|
+
|
|
11
|
+
- **Status:** Pass, Fail, Blocked, or Not Applicable.
|
|
12
|
+
- **Applicability rationale:** especially for every Not Applicable item.
|
|
13
|
+
- **Owner:** one accountable person, not just a team name.
|
|
14
|
+
- **Evidence:** test report, log, screenshot, query, configuration export, code review, architecture decision, contract, drill report, or monitoring link.
|
|
15
|
+
- **Tested release:** commit, tag, artifact digest, image digest, configuration version, database migration version, and feature-flag state.
|
|
16
|
+
- **Environment:** exact environment in which the evidence was collected.
|
|
17
|
+
- **Reviewer:** someone other than the implementer for material controls.
|
|
18
|
+
- **Evidence date and expiry:** security scans, accessibility audits, capacity tests, and restore tests become stale.
|
|
19
|
+
- **Exception:** risk owner, justification, compensating control, monitoring, remediation date, and automatic expiry.
|
|
20
|
+
|
|
21
|
+
Rules:
|
|
22
|
+
|
|
23
|
+
- A Not Applicable result without a written reason is a failure.
|
|
24
|
+
- A release change made after evidence was captured invalidates every affected result.
|
|
25
|
+
- Do not calculate readiness by averaging scores. One serious failure can outweigh hundreds of passing items.
|
|
26
|
+
- Conditional sections become mandatory whenever their triggering feature, data type, user group, jurisdiction, or risk exists.
|
|
27
|
+
- Risk acceptance is not the same as fixing a problem. It must be explicit, time-bounded, visible, and owned.
|
|
28
|
+
- Evidence must cover the **actual production artifact and production configuration**, not merely a developer’s branch or an earlier build.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 2. Immediate no-go conditions
|
|
33
|
+
|
|
34
|
+
The release must not proceed while any of these is true:
|
|
35
|
+
|
|
36
|
+
- [ ] **PRC-02-001** — A critical user journey has not been tested successfully end to end.
|
|
37
|
+
- [ ] **PRC-02-002** — Authentication, authorization, administrative access, or tenant isolation has not been independently verified.
|
|
38
|
+
- [ ] **PRC-02-003** — A known critical vulnerability or relevant known-exploited vulnerability remains unmitigated.
|
|
39
|
+
- [ ] **PRC-02-004** — Production secrets, signing keys, credentials, tokens, or personal data have been exposed.
|
|
40
|
+
- [ ] **PRC-02-005** — A destructive or irreversible data migration has not been rehearsed against representative data.
|
|
41
|
+
- [ ] **PRC-02-006** — Backup restoration has not been demonstrated within the required recovery objectives.
|
|
42
|
+
- [ ] **PRC-02-007** — Rollback or safe roll-forward has not been demonstrated.
|
|
43
|
+
- [ ] **PRC-02-008** — Expected peak load, burst load, or dependency-failure behavior is unknown.
|
|
44
|
+
- [ ] **PRC-02-009** — The release cannot meet its approved reliability objectives under expected operating conditions.
|
|
45
|
+
- [ ] **PRC-02-010** — Monitoring cannot detect failure of critical user journeys.
|
|
46
|
+
- [ ] **PRC-02-011** — No qualified person is available and authorized to respond during and immediately after launch.
|
|
47
|
+
- [ ] **PRC-02-012** — Required incident-response, escalation, customer-communication, or breach-notification procedures do not exist.
|
|
48
|
+
- [ ] **PRC-02-013** — A mandatory legal, privacy, payment, accessibility, safety, or contractual requirement is unmet.
|
|
49
|
+
- [ ] **PRC-02-014** — The production artifact cannot be traced to reviewed source, dependencies, build process, tests, and approval.
|
|
50
|
+
- [ ] **PRC-02-015** — An unsupported or end-of-life runtime, operating system, database, library, service, or protocol is required for operation.
|
|
51
|
+
- [ ] **PRC-02-016** — Known data corruption, cross-user disclosure, cross-tenant access, duplicate charging, or irreversible financial risk remains possible without a tested control.
|
|
52
|
+
- [ ] **PRC-02-017** — A single person, credential, machine, region, provider, or undocumented manual procedure is the only recovery path.
|
|
53
|
+
- [ ] **PRC-02-018** — Evidence was collected before material changes that have not been retested.
|
|
54
|
+
- [ ] **PRC-02-019** — A release blocker has been relabeled, suppressed, or accepted without an accountable risk owner.
|
|
55
|
+
- [ ] **PRC-02-020** — The team cannot describe concrete stop, rollback, and incident-declaration criteria before deployment begins.
|
|
56
|
+
|
|
57
|
+
Vulnerability priority should not be based on a raw severity score alone. Exploit activity, asset exposure, business impact, local controls, and environmental context must be considered; FIRST’s CVSS guidance specifically recommends enriching base scores with threat and environmental information. ([first.org](https://www.first.org/cvss/v4.0/implementation-guide))
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 3. Release control record
|
|
62
|
+
|
|
63
|
+
### 3.1 Release identity
|
|
64
|
+
|
|
65
|
+
- [ ] **PRC-03-001** — Assign a unique release identifier.
|
|
66
|
+
- [ ] **PRC-03-002** — Record the exact source commit or commits.
|
|
67
|
+
- [ ] **PRC-03-003** — Record the immutable application artifact digest.
|
|
68
|
+
- [ ] **PRC-03-004** — Record every deployable service, worker, scheduled job, frontend bundle, and infrastructure component included.
|
|
69
|
+
- [ ] **PRC-03-005** — Record database schema and migration versions.
|
|
70
|
+
- [ ] **PRC-03-006** — Record production configuration versions.
|
|
71
|
+
- [ ] **PRC-03-007** — Record feature flags and their intended launch states.
|
|
72
|
+
- [ ] **PRC-03-008** — Record third-party service and API versions relied upon.
|
|
73
|
+
- [ ] **PRC-03-009** — Record the intended production regions, accounts, projects, clusters, and domains.
|
|
74
|
+
- [ ] **PRC-03-010** — Record the target deployment date and change window.
|
|
75
|
+
- [ ] **PRC-03-011** — Record the previous known-good release and rollback artifact.
|
|
76
|
+
- [ ] **PRC-03-012** — Freeze or formally track changes after the readiness evidence snapshot.
|
|
77
|
+
|
|
78
|
+
### 3.2 Scope
|
|
79
|
+
|
|
80
|
+
- [ ] **PRC-03-013** — List every user-facing domain and subdomain.
|
|
81
|
+
- [ ] **PRC-03-014** — List every API, webhook, callback, streaming connection, and machine interface.
|
|
82
|
+
- [ ] **PRC-03-015** — List background workers, queues, scheduled tasks, batch processes, and administrative tools.
|
|
83
|
+
- [ ] **PRC-03-016** — List databases, object stores, search indexes, caches, message brokers, analytics stores, and backup locations.
|
|
84
|
+
- [ ] **PRC-03-017** — List external identity, payment, email, SMS, analytics, advertising, support, logging, CDN, and infrastructure providers.
|
|
85
|
+
- [ ] **PRC-03-018** — List all user types, administrative roles, service accounts, and external actors.
|
|
86
|
+
- [ ] **PRC-03-019** — List supported countries, languages, currencies, time zones, browsers, devices, and accessibility targets.
|
|
87
|
+
- [ ] **PRC-03-020** — List all data classifications and regulated data handled.
|
|
88
|
+
- [ ] **PRC-03-021** — List all excluded components and explain why they are outside the release assessment.
|
|
89
|
+
- [ ] **PRC-03-022** — Identify every shared platform or dependency that can affect the app even though another team operates it.
|
|
90
|
+
|
|
91
|
+
---
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Product, risk, and architecture
|
|
2
|
+
|
|
3
|
+
> Align business intent, accountable ownership, risk tolerance, and system understanding.
|
|
4
|
+
|
|
5
|
+
Sections 4–6 of the master checklist. For each applicable item, capture status, owner, evidence, release, environment, reviewer, and evidence age.
|
|
6
|
+
|
|
7
|
+
## 4. Product and business readiness
|
|
8
|
+
|
|
9
|
+
### 4.1 Product definition
|
|
10
|
+
|
|
11
|
+
- [ ] **PRC-04-001** — The problem being solved and intended users are documented.
|
|
12
|
+
- [ ] **PRC-04-002** — Release scope, non-goals, and deferred features are explicit.
|
|
13
|
+
- [ ] **PRC-04-003** — Every feature has testable acceptance criteria.
|
|
14
|
+
- [ ] **PRC-04-004** — Critical user journeys are ranked by business and user impact.
|
|
15
|
+
- [ ] **PRC-04-005** — Critical journeys include onboarding, normal use, error recovery, account recovery, cancellation, and deletion where applicable.
|
|
16
|
+
- [ ] **PRC-04-006** — Product behavior for unavailable dependencies and partial failure is specified.
|
|
17
|
+
- [ ] **PRC-04-007** — Product behavior for empty, malformed, incomplete, stale, or conflicting data is specified.
|
|
18
|
+
- [ ] **PRC-04-008** — User-visible terminology is consistent.
|
|
19
|
+
- [ ] **PRC-04-009** — Pricing, entitlements, quotas, billing rules, and plan limits are unambiguous.
|
|
20
|
+
- [ ] **PRC-04-010** — Cancellation, refund, reversal, dispute, and undo behavior is defined.
|
|
21
|
+
- [ ] **PRC-04-011** — Expected customer support obligations are documented.
|
|
22
|
+
- [ ] **PRC-04-012** — Service hours, maintenance expectations, SLOs, SLAs, and contractual commitments are aligned.
|
|
23
|
+
- [ ] **PRC-04-013** — The launch does not make claims that the implemented product cannot substantiate.
|
|
24
|
+
- [ ] **PRC-04-014** — Product management has accepted the final behavior of critical journeys.
|
|
25
|
+
|
|
26
|
+
### 4.2 Launch objectives
|
|
27
|
+
|
|
28
|
+
- [ ] **PRC-04-015** — Define measurable launch success criteria.
|
|
29
|
+
- [ ] **PRC-04-016** — Define measurable launch failure and rollback criteria.
|
|
30
|
+
- [ ] **PRC-04-017** — Define adoption, conversion, quality, reliability, support, and safety indicators.
|
|
31
|
+
- [ ] **PRC-04-018** — Define the observation period before declaring the launch complete.
|
|
32
|
+
- [ ] **PRC-04-019** — Define who has authority to pause, continue, expand, or roll back the launch.
|
|
33
|
+
- [ ] **PRC-04-020** — Establish expected traffic and customer cohorts.
|
|
34
|
+
- [ ] **PRC-04-021** — Establish whether the launch is internal, private, regional, percentage-based, invitation-only, or public.
|
|
35
|
+
- [ ] **PRC-04-022** — Ensure marketing, sales, support, and operations use the same release date and scope.
|
|
36
|
+
- [ ] **PRC-04-023** — Ensure help content, screenshots, pricing pages, documentation, and legal text match the released behavior.
|
|
37
|
+
- [ ] **PRC-04-024** — Ensure customers are notified of breaking changes, downtime, migrations, or changed data use where required.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 5. Governance, ownership, and risk
|
|
42
|
+
|
|
43
|
+
### 5.1 Ownership
|
|
44
|
+
|
|
45
|
+
- [ ] **PRC-05-001** — Every production service has a named business owner.
|
|
46
|
+
- [ ] **PRC-05-002** — Every production service has a named engineering owner.
|
|
47
|
+
- [ ] **PRC-05-003** — Every data set has an accountable data owner.
|
|
48
|
+
- [ ] **PRC-05-004** — Every security-sensitive component has a security contact.
|
|
49
|
+
- [ ] **PRC-05-005** — Every third-party integration has an owner.
|
|
50
|
+
- [ ] **PRC-05-006** — Every operational dashboard, alert, and runbook has an owner.
|
|
51
|
+
- [ ] **PRC-05-007** — Every scheduled job and background process has an owner.
|
|
52
|
+
- [ ] **PRC-05-008** — Ownership remains valid during holidays, leave, and personnel changes.
|
|
53
|
+
- [ ] **PRC-05-009** — Escalation paths include primary, secondary, management, security, privacy/legal, and provider escalation contacts.
|
|
54
|
+
- [ ] **PRC-05-010** — Offboarding and role-change processes remove or adjust access promptly.
|
|
55
|
+
|
|
56
|
+
### 5.2 Risk assessment
|
|
57
|
+
|
|
58
|
+
- [ ] **PRC-05-011** — Classify confidentiality impact.
|
|
59
|
+
- [ ] **PRC-05-012** — Classify integrity impact.
|
|
60
|
+
- [ ] **PRC-05-013** — Classify availability impact.
|
|
61
|
+
- [ ] **PRC-05-014** — Classify privacy impact.
|
|
62
|
+
- [ ] **PRC-05-015** — Classify financial and fraud impact.
|
|
63
|
+
- [ ] **PRC-05-016** — Classify physical, psychological, societal, and user-safety impact.
|
|
64
|
+
- [ ] **PRC-05-017** — Classify regulatory and contractual impact.
|
|
65
|
+
- [ ] **PRC-05-018** — Classify reputational and customer-trust impact.
|
|
66
|
+
- [ ] **PRC-05-019** — Identify likely attackers, abusive users, insiders, compromised accounts, automated agents, and accidental failure sources.
|
|
67
|
+
- [ ] **PRC-05-020** — Identify foreseeable misuse and abuse cases, not only intended use.
|
|
68
|
+
- [ ] **PRC-05-021** — Maintain a release-specific risk register.
|
|
69
|
+
- [ ] **PRC-05-022** — Give each risk an owner, likelihood, impact, treatment, evidence, and review date.
|
|
70
|
+
- [ ] **PRC-05-023** — Record accepted residual risk and the person authorized to accept it.
|
|
71
|
+
- [ ] **PRC-05-024** — Review high-impact assumptions with independent subject-matter experts.
|
|
72
|
+
- [ ] **PRC-05-025** — Verify that launch scope remains inside the organization’s risk appetite.
|
|
73
|
+
- [ ] **PRC-05-026** — Ensure risk exceptions cannot remain open indefinitely.
|
|
74
|
+
- [ ] **PRC-05-027** — Ensure compensating controls are tested rather than merely described.
|
|
75
|
+
|
|
76
|
+
### 5.3 Control framework
|
|
77
|
+
|
|
78
|
+
- [ ] **PRC-05-028** — Map applicable security controls to a recognized verification standard.
|
|
79
|
+
- [ ] **PRC-05-029** — Map applicable privacy controls to legal and organizational requirements.
|
|
80
|
+
- [ ] **PRC-05-030** — Map accessibility requirements to the selected WCAG conformance target.
|
|
81
|
+
- [ ] **PRC-05-031** — Map operational controls to SLO, incident, continuity, and recovery requirements.
|
|
82
|
+
- [ ] **PRC-05-032** — Map contractual controls to customer, processor, provider, and partner agreements.
|
|
83
|
+
- [ ] **PRC-05-033** — Identify conflicts between product requirements, legal requirements, and technical controls.
|
|
84
|
+
- [ ] **PRC-05-034** — Document how conflicts were resolved and who approved the resolution.
|
|
85
|
+
- [ ] **PRC-05-035** — Apply separation of duties to high-impact changes and approvals.
|
|
86
|
+
- [ ] **PRC-05-036** — Periodically review whether the selected control level still matches the app’s risk.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 6. Architecture and system understanding
|
|
91
|
+
|
|
92
|
+
- [ ] **PRC-06-001** — Maintain an up-to-date system-context diagram.
|
|
93
|
+
- [ ] **PRC-06-002** — Maintain component and deployment diagrams.
|
|
94
|
+
- [ ] **PRC-06-003** — Maintain end-to-end data-flow diagrams.
|
|
95
|
+
- [ ] **PRC-06-004** — Mark trust boundaries explicitly.
|
|
96
|
+
- [ ] **PRC-06-005** — Mark Internet-facing and externally reachable interfaces.
|
|
97
|
+
- [ ] **PRC-06-006** — Mark administrative and support interfaces.
|
|
98
|
+
- [ ] **PRC-06-007** — Mark where authentication and authorization decisions occur.
|
|
99
|
+
- [ ] **PRC-06-008** — Mark encryption and decryption boundaries.
|
|
100
|
+
- [ ] **PRC-06-009** — Mark where sensitive data is collected, transformed, stored, cached, logged, exported, backed up, and deleted.
|
|
101
|
+
- [ ] **PRC-06-010** — Mark all third-party data transfers.
|
|
102
|
+
- [ ] **PRC-06-011** — Identify every stateful component.
|
|
103
|
+
- [ ] **PRC-06-012** — Identify every asynchronous boundary and queue.
|
|
104
|
+
- [ ] **PRC-06-013** — Identify common dependencies and shared failure domains.
|
|
105
|
+
- [ ] **PRC-06-014** — Identify single points of failure.
|
|
106
|
+
- [ ] **PRC-06-015** — Identify control-plane dependencies needed during incidents or recovery.
|
|
107
|
+
- [ ] **PRC-06-016** — Identify circular and hidden dependency chains.
|
|
108
|
+
- [ ] **PRC-06-017** — Document required consistency, ordering, durability, and freshness properties.
|
|
109
|
+
- [ ] **PRC-06-018** — Document architectural invariants that must never be violated.
|
|
110
|
+
- [ ] **PRC-06-019** — Document expected failure behavior for every critical dependency.
|
|
111
|
+
- [ ] **PRC-06-020** — Record material architecture decisions and rejected alternatives.
|
|
112
|
+
- [ ] **PRC-06-021** — Update diagrams whenever the release changes data flow, trust, topology, or dependencies.
|
|
113
|
+
- [ ] **PRC-06-022** — Verify the documented architecture against the deployed environment rather than assuming documentation is accurate.
|
|
114
|
+
|
|
115
|
+
### 6.1 Threat and abuse modeling
|
|
116
|
+
|
|
117
|
+
- [ ] **PRC-06-023** — Perform a threat model for the actual release scope.
|
|
118
|
+
- [ ] **PRC-06-024** — Include all trust boundaries, actors, entry points, data stores, and external systems.
|
|
119
|
+
- [ ] **PRC-06-025** — Model spoofing and identity attacks.
|
|
120
|
+
- [ ] **PRC-06-026** — Model unauthorized modification and integrity attacks.
|
|
121
|
+
- [ ] **PRC-06-027** — Model information disclosure and privacy attacks.
|
|
122
|
+
- [ ] **PRC-06-028** — Model denial of service and resource exhaustion.
|
|
123
|
+
- [ ] **PRC-06-029** — Model privilege escalation.
|
|
124
|
+
- [ ] **PRC-06-030** — Model repudiation and inadequate accountability.
|
|
125
|
+
- [ ] **PRC-06-031** — Model business-logic abuse.
|
|
126
|
+
- [ ] **PRC-06-032** — Model insider and compromised-administrator threats.
|
|
127
|
+
- [ ] **PRC-06-033** — Model dependency and build-system compromise.
|
|
128
|
+
- [ ] **PRC-06-034** — Model tenant-escape and cross-customer attacks.
|
|
129
|
+
- [ ] **PRC-06-035** — Model automation, scraping, spam, fraud, and economic abuse.
|
|
130
|
+
- [ ] **PRC-06-036** — Model recovery-system and backup attacks.
|
|
131
|
+
- [ ] **PRC-06-037** — Model support-channel and account-recovery social engineering.
|
|
132
|
+
- [ ] **PRC-06-038** — Convert identified threats into requirements and tests.
|
|
133
|
+
- [ ] **PRC-06-039** — Revisit the threat model after material design or scope changes.
|
|
134
|
+
- [ ] **PRC-06-040** — Obtain independent review for high-value or high-risk systems.
|
|
135
|
+
|
|
136
|
+
---
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Source, build, and supply chain
|
|
2
|
+
|
|
3
|
+
> Protect source changes, build integrity, dependencies, provenance, and licensing.
|
|
4
|
+
|
|
5
|
+
Sections 7–9 of the master checklist. For each applicable item, capture status, owner, evidence, release, environment, reviewer, and evidence age.
|
|
6
|
+
|
|
7
|
+
## 7. Source control and change management
|
|
8
|
+
|
|
9
|
+
- [ ] **PRC-07-001** — One authoritative source repository is identified.
|
|
10
|
+
- [ ] **PRC-07-002** — Repository access uses individual identities rather than shared accounts.
|
|
11
|
+
- [ ] **PRC-07-003** — Strong authentication is required for repository access.
|
|
12
|
+
- [ ] **PRC-07-004** — Access follows least privilege.
|
|
13
|
+
- [ ] **PRC-07-005** — Protected branches prevent unreviewed direct changes.
|
|
14
|
+
- [ ] **PRC-07-006** — Material changes require independent review.
|
|
15
|
+
- [ ] **PRC-07-007** — Critical code areas require designated reviewers.
|
|
16
|
+
- [ ] **PRC-07-008** — Review cannot be bypassed silently by administrators.
|
|
17
|
+
- [ ] **PRC-07-009** — Merge requirements include the required automated checks.
|
|
18
|
+
- [ ] **PRC-07-010** — Security-sensitive changes receive appropriate specialist review.
|
|
19
|
+
- [ ] **PRC-07-011** — Infrastructure, pipeline, authorization, cryptography, payment, and migration changes receive heightened review.
|
|
20
|
+
- [ ] **PRC-07-012** — Changes are traceable from requirement or issue to code, review, build, artifact, and deployment.
|
|
21
|
+
- [ ] **PRC-07-013** — Commit history and release tags are protected against unauthorized rewriting.
|
|
22
|
+
- [ ] **PRC-07-014** — Secret scanning covers current changes and repository history.
|
|
23
|
+
- [ ] **PRC-07-015** — Large binaries, generated files, and vendored code are controlled.
|
|
24
|
+
- [ ] **PRC-07-016** — Generated code has a documented trusted source and regeneration process.
|
|
25
|
+
- [ ] **PRC-07-017** — Emergency changes follow a documented break-glass process and receive retrospective review.
|
|
26
|
+
- [ ] **PRC-07-018** — Repository backup and recovery have been tested.
|
|
27
|
+
- [ ] **PRC-07-019** — Departed personnel and obsolete automation identities no longer have access.
|
|
28
|
+
- [ ] **PRC-07-020** — Repository webhooks, apps, bots, and deploy keys are inventoried and restricted.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 8. Build, CI/CD, and artifact integrity
|
|
33
|
+
|
|
34
|
+
SLSA 1.2 organizes software supply-chain assurance around verifiable provenance and build integrity. The checklist below applies those outcomes without requiring a particular build platform. ([slsa.dev](https://slsa.dev/spec/v1.2/))
|
|
35
|
+
|
|
36
|
+
- [ ] **PRC-08-001** — Builds run from reviewed source.
|
|
37
|
+
- [ ] **PRC-08-002** — Builds are automated and repeatable.
|
|
38
|
+
- [ ] **PRC-08-003** — A clean build produces equivalent output from the same declared inputs.
|
|
39
|
+
- [ ] **PRC-08-004** — Build inputs and dependency versions are pinned sufficiently to prevent unexpected substitution.
|
|
40
|
+
- [ ] **PRC-08-005** — Builds fail closed when required verification cannot run.
|
|
41
|
+
- [ ] **PRC-08-006** — The production artifact is built once and promoted, not independently rebuilt in each environment.
|
|
42
|
+
- [ ] **PRC-08-007** — Deployable artifacts are immutable.
|
|
43
|
+
- [ ] **PRC-08-008** — Every artifact has a cryptographic digest.
|
|
44
|
+
- [ ] **PRC-08-009** — Build provenance records source, builder, inputs, commands or workflow, time, and output digest.
|
|
45
|
+
- [ ] **PRC-08-010** — Artifact signatures or attestations are verified before deployment.
|
|
46
|
+
- [ ] **PRC-08-011** — Build identities and signing keys use least privilege.
|
|
47
|
+
- [ ] **PRC-08-012** — Build and signing keys are stored outside source code and build output.
|
|
48
|
+
- [ ] **PRC-08-013** — Build runners are patched and isolated appropriately.
|
|
49
|
+
- [ ] **PRC-08-014** — Untrusted contribution workflows cannot access production secrets.
|
|
50
|
+
- [ ] **PRC-08-015** — Pull-request builds cannot overwrite trusted release artifacts.
|
|
51
|
+
- [ ] **PRC-08-016** — CI jobs have minimum required network, repository, cloud, and registry permissions.
|
|
52
|
+
- [ ] **PRC-08-017** — Pipeline definitions receive the same review protection as application code.
|
|
53
|
+
- [ ] **PRC-08-018** — Required unit, integration, security, policy, and packaging checks cannot be skipped silently.
|
|
54
|
+
- [ ] **PRC-08-019** — Failed or canceled checks cannot be misrepresented as passed.
|
|
55
|
+
- [ ] **PRC-08-020** — Artifact registries enforce authentication, authorization, immutability, and retention.
|
|
56
|
+
- [ ] **PRC-08-021** — The previous known-good artifact remains available.
|
|
57
|
+
- [ ] **PRC-08-022** — Build logs do not expose secrets or sensitive source material.
|
|
58
|
+
- [ ] **PRC-08-023** — Build caches cannot substitute unverified or cross-trust artifacts.
|
|
59
|
+
- [ ] **PRC-08-024** — Release tags, artifacts, provenance, and deployment records agree.
|
|
60
|
+
- [ ] **PRC-08-025** — Compromise of the build platform has a documented containment and recovery procedure.
|
|
61
|
+
- [ ] **PRC-08-026** — A supply-chain incident drill has tested revocation, rebuild, resigning, and redeployment.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 9. Dependencies, SBOM, and licenses
|
|
66
|
+
|
|
67
|
+
A software bill of materials should cover the complete release, while vulnerability prioritization should account for known exploitation and deployment context rather than merely counting CVEs. ([cisa.gov](https://www.cisa.gov/topics/information-communications-technology-supply-chain-security/sbom))
|
|
68
|
+
|
|
69
|
+
- [ ] **PRC-09-001** — Generate an SBOM for every released application artifact.
|
|
70
|
+
- [ ] **PRC-09-002** — Include direct and transitive components.
|
|
71
|
+
- [ ] **PRC-09-003** — Include runtime, operating-system, container, client, server, plugin, model, and embedded components as applicable.
|
|
72
|
+
- [ ] **PRC-09-004** — Distinguish build-only, development-only, optional, and runtime dependencies.
|
|
73
|
+
- [ ] **PRC-09-005** — Record exact versions, package identifiers, sources, hashes, and relationships.
|
|
74
|
+
- [ ] **PRC-09-006** — Record license information and required notices.
|
|
75
|
+
- [ ] **PRC-09-007** — Link the SBOM to the released artifact digest.
|
|
76
|
+
- [ ] **PRC-09-008** — Verify the SBOM against the final packaged artifact.
|
|
77
|
+
- [ ] **PRC-09-009** — Ensure no unexpected undeclared components are present.
|
|
78
|
+
- [ ] **PRC-09-010** — Remove unused dependencies.
|
|
79
|
+
- [ ] **PRC-09-011** — Remove unsupported and end-of-life dependencies.
|
|
80
|
+
- [ ] **PRC-09-012** — Check whether dependencies come from intended publishers and registries.
|
|
81
|
+
- [ ] **PRC-09-013** — Protect against dependency confusion, namespace collision, and typographical substitution.
|
|
82
|
+
- [ ] **PRC-09-014** — Assess maintainer health and abandonment risk for critical dependencies.
|
|
83
|
+
- [ ] **PRC-09-015** — Monitor upstream security advisories.
|
|
84
|
+
- [ ] **PRC-09-016** — Continuously scan released components for newly disclosed vulnerabilities.
|
|
85
|
+
- [ ] **PRC-09-017** — Prioritize vulnerabilities using exploit activity, reachability, exposure, asset criticality, data sensitivity, and compensating controls.
|
|
86
|
+
- [ ] **PRC-09-018** — Check relevant known-exploited-vulnerability catalogs.
|
|
87
|
+
- [ ] **PRC-09-019** — Define remediation targets by actual risk.
|
|
88
|
+
- [ ] **PRC-09-020** — Verify fixes or mitigations after deployment.
|
|
89
|
+
- [ ] **PRC-09-021** — Maintain a process for emergency replacement of a compromised dependency.
|
|
90
|
+
- [ ] **PRC-09-022** — Document ownership of vendored, forked, or internally patched components.
|
|
91
|
+
- [ ] **PRC-09-023** — Test updates before promotion.
|
|
92
|
+
- [ ] **PRC-09-024** — Verify license compatibility among combined components.
|
|
93
|
+
- [ ] **PRC-09-025** — Provide required attributions, source offers, notices, and redistribution terms.
|
|
94
|
+
- [ ] **PRC-09-026** — Ensure proprietary or confidential code is not unintentionally incorporated into distributable artifacts.
|
|
95
|
+
- [ ] **PRC-09-027** — Retain SBOMs for historical releases and incident investigation.
|
|
96
|
+
|
|
97
|
+
---
|