@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,476 @@
|
|
|
1
|
+
# Application services and APIs
|
|
2
|
+
|
|
3
|
+
_Phase 6 of 16 in the [complete engineering review](00-overview.md)._
|
|
4
|
+
|
|
5
|
+
Backend services, APIs, identity flows, tenant isolation, content processing, jobs, queues, caching, and integrations.
|
|
6
|
+
|
|
7
|
+
Assess every control as **Pass**, **Fail**, **Blocked**, or **Not Applicable**. A Pass needs current evidence for the exact product, revision, artifact, configuration, environment, and data state under review.
|
|
8
|
+
|
|
9
|
+
## APIs, Web Services, Webhooks, and Integrations
|
|
10
|
+
|
|
11
|
+
_Consolidated from `quality standards/07-backend-services/01-apis-webhooks-and-integrations.md`; 31 non-duplicative controls._
|
|
12
|
+
|
|
13
|
+
### Universal controls
|
|
14
|
+
|
|
15
|
+
- [ ] **USEQ-AD050959** — Maintain a complete API and integration inventory.
|
|
16
|
+
- [ ] **USEQ-A87B5F2B** — Every API has an owner, documented consumers, versioned schemas, and versioned behavior.
|
|
17
|
+
- [ ] **USEQ-4ECE79C1** — Unknown or prohibited fields are rejected or handled according to a documented safe contract.
|
|
18
|
+
- [ ] **USEQ-E87054DC** — Content type, character encoding, request size, URL size, header size, nesting, field count, query complexity, and batch size are bounded.
|
|
19
|
+
- [ ] **USEQ-F652D754** — Expensive queries, filtering, sorting, pagination, and aggregation have cost and authorization controls.
|
|
20
|
+
- [ ] **USEQ-4F1DF89C** — Request methods have correct and consistent semantics.
|
|
21
|
+
- [ ] **USEQ-C44A6ECD** — Idempotency and concurrency control exist where retries can repeat effects or updates can collide.
|
|
22
|
+
- [ ] **USEQ-F6ACEF15** — Every outbound call has an appropriate timeout.
|
|
23
|
+
- [ ] **USEQ-C57DC947** — Retries are bounded, delayed with backoff and jitter where appropriate, and limited to safe or idempotent operations.
|
|
24
|
+
- [ ] **USEQ-F8A92BB0** — Circuit breaking, isolation, or fallback exists for unstable dependencies where appropriate.
|
|
25
|
+
- [ ] **USEQ-554B725E** — Error responses do not expose stack traces, queries, secrets, internal topology, or sensitive data.
|
|
26
|
+
- [ ] **USEQ-80BFBA34** — Rate limits and quotas protect users, tenants, infrastructure, and dependencies and cannot be trivially bypassed.
|
|
27
|
+
- [ ] **USEQ-BBED00FD** — Cross-origin access uses explicit trusted origins; credentialed requests do not use wildcard origins.
|
|
28
|
+
- [ ] **USEQ-89E3635B** — Browser-authenticated state-changing requests have CSRF protection.
|
|
29
|
+
- [ ] **USEQ-DEAA8863** — Redirect and callback destinations are strictly validated.
|
|
30
|
+
- [ ] **USEQ-B6B803BC** — Server-side outbound destinations are constrained against server-side request forgery, DNS rebinding, dangerous schemes, redirects, and metadata services.
|
|
31
|
+
- [ ] **USEQ-E0FB8D9E** — URL, host, proxy, and forwarded-header parsing is consistent and explicitly trusted.
|
|
32
|
+
- [ ] **USEQ-CE328AB7** — Request smuggling, response splitting, cache poisoning, and parser ambiguity are assessed.
|
|
33
|
+
- [ ] **USEQ-31202793** — Webhooks are authenticated or signed and include replay protection.
|
|
34
|
+
- [ ] **USEQ-8C1E3CB4** — Webhook consumers are idempotent; retry, ordering, failure, and reconciliation behavior is defined.
|
|
35
|
+
- [ ] **USEQ-4667AD11** — API keys are scoped, attributable, rotatable, and revocable.
|
|
36
|
+
- [ ] **USEQ-F500AC1C** — Secrets are absent from responses, documentation examples, and sample requests.
|
|
37
|
+
- [ ] **USEQ-5184C8B1** — Backward compatibility, breaking-change, deprecation, and retirement policies are defined and tested.
|
|
38
|
+
- [ ] **USEQ-F1736D64** — Contract tests cover providers and consumers.
|
|
39
|
+
- [ ] **USEQ-96565CD6** — API documentation matches deployed behavior and contains no real credentials or personal data.
|
|
40
|
+
|
|
41
|
+
### Conditional interface checks
|
|
42
|
+
|
|
43
|
+
- [ ] **USEQ-EB908BF8** — Graph-oriented APIs bound query depth, breadth, aliases, recursion, batching, and computational cost.
|
|
44
|
+
- [ ] **USEQ-84E3AA0F** — WebSocket and streaming connections authenticate securely and verify browser origin where applicable.
|
|
45
|
+
- [ ] **USEQ-9115A638** — Authorization changes and logout invalidate or constrain long-lived connections.
|
|
46
|
+
- [ ] **USEQ-13717FE0** — Reconnection, ordering, deduplication, backpressure, heartbeat, and stale-connection behavior are tested.
|
|
47
|
+
- [ ] **USEQ-A2756DDC** — File-transfer APIs apply all file-security controls.
|
|
48
|
+
- [ ] **USEQ-79910F4D** — Public APIs have abuse controls, usage policies, and a security contact.
|
|
49
|
+
|
|
50
|
+
## Authentication, Enrollment, and Account Recovery
|
|
51
|
+
|
|
52
|
+
_Consolidated from `quality standards/07-backend-services/02-authentication-enrollment-and-recovery.md`; 25 non-duplicative controls._
|
|
53
|
+
|
|
54
|
+
### Universal controls
|
|
55
|
+
|
|
56
|
+
- [ ] **USEQ-D6B72D8C** — Select identity and authentication assurance appropriate to account-compromise harm.
|
|
57
|
+
- [ ] **USEQ-45326065** — Multifactor enrollment, addition, removal, replacement, and recovery are protected against takeover.
|
|
58
|
+
- [ ] **USEQ-C6330D44** — Password handling follows current guidance and does not silently truncate or unexpectedly transform input.
|
|
59
|
+
- [ ] **USEQ-A7F41DCE** — Login defenses address credential stuffing and brute force without creating trivial denial of service.
|
|
60
|
+
- [ ] **USEQ-8DEBE078** — Login, registration, and recovery responses avoid unnecessary account-existence disclosure.
|
|
61
|
+
- [ ] **USEQ-339F2E8F** — Enrollment verifies the correct communication channel or identity evidence.
|
|
62
|
+
- [ ] **USEQ-5D7958B0** — Recovery is no weaker than normal authentication and cannot be redirected through an unverified channel.
|
|
63
|
+
- [ ] **USEQ-C8EED75F** — Recovery tokens are single-use, short-lived, unpredictable, and stored safely.
|
|
64
|
+
- [ ] **USEQ-5013A7F0** — Password, authenticator, or recovery changes invalidate appropriate sessions and obsolete recovery material.
|
|
65
|
+
- [ ] **USEQ-75ECA584** — Changes to email, phone, payout, identity, recovery, or security settings notify the user and receive enhanced verification where warranted.
|
|
66
|
+
- [ ] **USEQ-7AD37548** — Test, dormant, abandoned, and terminated accounts are handled according to policy.
|
|
67
|
+
- [ ] **USEQ-C3A74331** — Service accounts do not use inappropriate interactive recovery mechanisms.
|
|
68
|
+
- [ ] **USEQ-E27BE14A** — Authentication events are audited and suspicious authentication can trigger investigation or step-up controls.
|
|
69
|
+
- [ ] **USEQ-EBEBDB32** — Users can review and revoke relevant sessions and devices where appropriate.
|
|
70
|
+
- [ ] **USEQ-C6C9BCF9** — Recovery codes are protected, single-use, and regenerable securely.
|
|
71
|
+
- [ ] **USEQ-5A69500A** — Support procedures include social-engineering resistance.
|
|
72
|
+
|
|
73
|
+
### Federation and delegated authorization
|
|
74
|
+
|
|
75
|
+
- [ ] **USEQ-52AF78CA** — Issuer, audience, signature, algorithm, expiration, nonce, and state are validated as required.
|
|
76
|
+
- [ ] **USEQ-36E65D58** — Redirect identifiers are matched exactly according to protocol security requirements.
|
|
77
|
+
- [ ] **USEQ-9170A512** — Authorization-code flows use current proof-key protections where applicable.
|
|
78
|
+
- [ ] **USEQ-50604945** — Token substitution, replay, and mix-up attacks are addressed.
|
|
79
|
+
- [ ] **USEQ-281FCFA1** — Automatic account linking cannot merge an attacker's identity with a victim account.
|
|
80
|
+
- [ ] **USEQ-F493DD34** — Tokens are limited to minimum required permissions and audiences.
|
|
81
|
+
- [ ] **USEQ-642071D4** — Access and refresh tokens are stored safely.
|
|
82
|
+
- [ ] **USEQ-7BC31490** — Refresh-token rotation and reuse detection are used where appropriate.
|
|
83
|
+
- [ ] **USEQ-15527916** — Revocation, logout, key rotation, metadata refresh, and provider outage behavior are tested.
|
|
84
|
+
|
|
85
|
+
## Authorization, Privilege Management, and Tenant Isolation
|
|
86
|
+
|
|
87
|
+
_Consolidated from `quality standards/07-backend-services/03-authorization-and-tenant-isolation.md`; 12 non-duplicative controls._
|
|
88
|
+
|
|
89
|
+
### Universal controls
|
|
90
|
+
|
|
91
|
+
- [ ] **USEQ-871674ED** — Authorization is denied by default and enforced server-side at every trusted boundary.
|
|
92
|
+
- [ ] **USEQ-E4D0202F** — Access checks use the current user, tenant, resource, operation, and resource state.
|
|
93
|
+
- [ ] **USEQ-10AFC75B** — Object ownership is verified on every direct and indirect reference.
|
|
94
|
+
- [ ] **USEQ-24A910E7** — Horizontal, vertical, function-level, and property-level privilege escalation are tested.
|
|
95
|
+
- [ ] **USEQ-825DC852** — Bulk, export, search, report, and aggregation endpoints enforce the same controls as individual records.
|
|
96
|
+
- [ ] **USEQ-873CC668** — Role changes take effect promptly across sessions, caches, queues, services, indexes, and long-lived connections.
|
|
97
|
+
- [ ] **USEQ-002BF231** — High-impact actions require reauthentication or additional approval where appropriate.
|
|
98
|
+
- [ ] **USEQ-66605220** — Administrative, support, and impersonation actions require authorization, reason, visible indication where appropriate, and audit.
|
|
99
|
+
- [ ] **USEQ-5D7FE64E** — Impersonation does not expose secrets the support user should not receive.
|
|
100
|
+
- [ ] **USEQ-54A140C8** — Background jobs preserve correct authorization and tenant context.
|
|
101
|
+
- [ ] **USEQ-54DF7A38** — Caches, search indexes, files, exports, backups, logs, analytics, and queues preserve user and tenant boundaries.
|
|
102
|
+
- [ ] **USEQ-92DFA818** — Automated tests cover all material role-operation-resource-state combinations.
|
|
103
|
+
|
|
104
|
+
## Sessions, Cookies, and Tokens
|
|
105
|
+
|
|
106
|
+
_Consolidated from `quality standards/07-backend-services/04-sessions-cookies-and-tokens.md`; 13 non-duplicative controls._
|
|
107
|
+
|
|
108
|
+
### Universal controls
|
|
109
|
+
|
|
110
|
+
- [ ] **USEQ-FC13E22C** — Session identifiers are generated from a cryptographically secure source and have sufficient unpredictability.
|
|
111
|
+
- [ ] **USEQ-B79A2729** — Session identifiers are accepted only through intended secure channels.
|
|
112
|
+
- [ ] **USEQ-F38F9324** — Browser cookies use secure transport, script-access, cross-site, domain, and path restrictions appropriate to their purpose.
|
|
113
|
+
- [ ] **USEQ-931DDFC8** — Session identifiers rotate after authentication and privilege changes.
|
|
114
|
+
- [ ] **USEQ-A784E8C1** — Logout revokes server-side access.
|
|
115
|
+
- [ ] **USEQ-B836719F** — Recovery and credential changes invalidate appropriate sessions.
|
|
116
|
+
- [ ] **USEQ-5FD43C2D** — Persistent login uses separate, appropriately constrained credentials.
|
|
117
|
+
- [ ] **USEQ-92AF7C8C** — State-changing browser operations have CSRF protection.
|
|
118
|
+
- [ ] **USEQ-7255F599** — Tokens validate issuer, audience, subject where needed, type, signature, algorithm, expiration, and not-before time.
|
|
119
|
+
- [ ] **USEQ-D912D5FB** — Token replay is addressed; refresh credentials are protected against reuse where appropriate.
|
|
120
|
+
- [ ] **USEQ-B061EEB0** — Tokens and session identifiers do not appear in URLs, referrers, analytics, logs, or error reports.
|
|
121
|
+
- [ ] **USEQ-956C315B** — Client-side token storage is minimized and threat-modeled.
|
|
122
|
+
- [ ] **USEQ-4589A6C9** — Logout, revocation, and compromise behavior is tested across all components.
|
|
123
|
+
|
|
124
|
+
## File and Content Processing
|
|
125
|
+
|
|
126
|
+
_Consolidated from `quality standards/07-backend-services/05-file-and-content-processing.md`; 13 non-duplicative controls._
|
|
127
|
+
|
|
128
|
+
### Universal controls
|
|
129
|
+
|
|
130
|
+
- [ ] **USEQ-685621E2** — File size, count, archive depth, expanded size, dimensions, page count, and processing time are bounded.
|
|
131
|
+
- [ ] **USEQ-2C48ADF4** — File type is determined from content and structure rather than trusting user metadata alone.
|
|
132
|
+
- [ ] **USEQ-43F66C3F** — Allowed file types are explicitly listed.
|
|
133
|
+
- [ ] **USEQ-8F094721** — User filenames are not trusted as filesystem paths.
|
|
134
|
+
- [ ] **USEQ-7326A422** — Stored names are unpredictable where guessing creates risk.
|
|
135
|
+
- [ ] **USEQ-10DBEE38** — Untrusted content uses an isolated origin where browser execution could be dangerous.
|
|
136
|
+
- [ ] **USEQ-ACD5C4B4** — Access control is checked during upload, listing, preview, transformation, and download.
|
|
137
|
+
- [ ] **USEQ-0EEFF2CC** — Download responses use safe content type and disposition behavior and prevent content sniffing.
|
|
138
|
+
- [ ] **USEQ-273EB093** — Image, document, media, archive, and metadata parsers are patched and isolated appropriately.
|
|
139
|
+
- [ ] **USEQ-F614699C** — Temporary, abandoned, failed, and orphaned files are protected and cleaned up.
|
|
140
|
+
- [ ] **USEQ-F69D7216** — Retention and deletion rules apply to originals and derived versions.
|
|
141
|
+
- [ ] **USEQ-9C66FEF7** — Processing failures do not expose internal paths or parser details.
|
|
142
|
+
- [ ] **USEQ-7C1A282F** — Content-moderation and legal controls apply where users can share files.
|
|
143
|
+
|
|
144
|
+
## Multi-Tenant Systems and Customer Isolation
|
|
145
|
+
|
|
146
|
+
_Consolidated from `quality standards/07-backend-services/06-multi-tenant-systems.md`; 8 non-duplicative controls._
|
|
147
|
+
|
|
148
|
+
### Universal controls
|
|
149
|
+
|
|
150
|
+
- [ ] **USEQ-1A813A2E** — Tenant context is mandatory at every data, processing, caching, indexing, queueing, file, logging, and administrative boundary.
|
|
151
|
+
- [ ] **USEQ-866A2A93** — Tenant isolation is tested in databases, caches, search, queues, files, logs, analytics, backups, exports, and support tools.
|
|
152
|
+
- [ ] **USEQ-72B786B4** — Tenant configuration, feature flags, custom code, integrations, and domains cannot affect other tenants.
|
|
153
|
+
- [ ] **USEQ-C89DD0B2** — Cross-tenant timing, error, count, identifier, and existence side channels are minimized.
|
|
154
|
+
- [ ] **USEQ-AEE95887** — Support access to a tenant requires authorization, purpose, visibility where appropriate, and audit.
|
|
155
|
+
- [ ] **USEQ-0111A6D5** — Tenant creation, cloning, migration, split, merge, and deletion preserve isolation and auditability.
|
|
156
|
+
- [ ] **USEQ-3E18FD8A** — Shared templates, catalogs, and global objects cannot leak private tenant data.
|
|
157
|
+
- [ ] **USEQ-80B4087C** — Per-tenant data residency, retention, encryption, and compliance commitments are enforced.
|
|
158
|
+
|
|
159
|
+
## High-Risk Administrative and Support Tools
|
|
160
|
+
|
|
161
|
+
_Consolidated from `quality standards/07-backend-services/07-high-risk-admin-and-support-tools.md`; 15 non-duplicative controls._
|
|
162
|
+
|
|
163
|
+
### Universal controls
|
|
164
|
+
|
|
165
|
+
- [ ] **USEQ-08FE86F1** — Administrative and support interfaces are separately inventoried and threat-modeled.
|
|
166
|
+
- [ ] **USEQ-0ADF382B** — Strong, preferably phishing-resistant authentication is mandatory for privileged access where risk warrants it.
|
|
167
|
+
- [ ] **USEQ-70CC4AE3** — Privileges are granular and follow least privilege.
|
|
168
|
+
- [ ] **USEQ-2829A59B** — Access is just-in-time or time-bounded where practical.
|
|
169
|
+
- [ ] **USEQ-1EB641B7** — High-impact actions require recent authentication or additional approval where appropriate.
|
|
170
|
+
- [ ] **USEQ-BB90D77D** — Bulk exports and changes require confirmation, scope preview, authorization, and audit.
|
|
171
|
+
- [ ] **USEQ-D933D2D3** — Destructive commands have safe limits, dry-run or preview behavior where practical, and clear recovery instructions.
|
|
172
|
+
- [ ] **USEQ-312E1130** — Impersonation is authorized, justified, visibly indicated, time-bounded, and logged.
|
|
173
|
+
- [ ] **USEQ-B5AA5454** — Sensitive values are masked unless explicitly needed.
|
|
174
|
+
- [ ] **USEQ-17D96426** — Emergency and break-glass access triggers review.
|
|
175
|
+
- [ ] **USEQ-4BDEADF5** — Administrative APIs receive the same or stronger testing as user-facing APIs.
|
|
176
|
+
- [ ] **USEQ-AC203899** — Support tooling cannot bypass tenant, data-residency, retention, or legal boundaries.
|
|
177
|
+
- [ ] **USEQ-7A2D2764** — Sessions terminate promptly after privilege removal.
|
|
178
|
+
- [ ] **USEQ-8AFCE597** — Every action is attributable to an individual identity.
|
|
179
|
+
- [ ] **USEQ-C2F34517** — Privileged activity is monitored for unusual access, bulk operations, exports, and control changes.
|
|
180
|
+
|
|
181
|
+
## Enterprise Identity, Provisioning, and Organization Lifecycle
|
|
182
|
+
|
|
183
|
+
_Consolidated from `quality standards/07-backend-services/08-enterprise-identity-provisioning-and-organization-lifecycle.md`; 12 non-duplicative controls._
|
|
184
|
+
|
|
185
|
+
### Universal controls
|
|
186
|
+
|
|
187
|
+
- [ ] **USEQ-447370B0** — Enterprise federation, domain verification, directory synchronization, provisioning, and deprovisioning are inventoried.
|
|
188
|
+
- [ ] **USEQ-52027B79** — Organization and domain claiming cannot be hijacked.
|
|
189
|
+
- [ ] **USEQ-FFAB6C6F** — Federation setup requires verified administrative control.
|
|
190
|
+
- [ ] **USEQ-EFFC5073** — Provisioning creates users with minimum access.
|
|
191
|
+
- [ ] **USEQ-ECFAF330** — Deprovisioning promptly disables sessions, tokens, API keys, devices, and background access.
|
|
192
|
+
- [ ] **USEQ-FA59F542** — Group and role mapping is deterministic, reviewed, and resistant to privilege escalation.
|
|
193
|
+
- [ ] **USEQ-0FC2ABAB** — Directory synchronization handles rename, merge, duplicate, suspension, reactivation, and deletion safely.
|
|
194
|
+
- [ ] **USEQ-347028DE** — Just-in-time provisioning cannot bypass organization policy.
|
|
195
|
+
- [ ] **USEQ-9DF78FDA** — Multiple identity providers and migration between providers do not create orphaned or duplicate identities.
|
|
196
|
+
- [ ] **USEQ-3BB3C453** — Break-glass access exists for identity-provider outage and is monitored.
|
|
197
|
+
- [ ] **USEQ-9BD8A2CC** — Enterprise audit logs, exports, retention, data residency, and administrative controls meet contractual commitments.
|
|
198
|
+
- [ ] **USEQ-9069FC2B** — Organization transfer, merger, split, and termination preserve data and authorization boundaries.
|
|
199
|
+
|
|
200
|
+
## Backend Service Design
|
|
201
|
+
|
|
202
|
+
_Consolidated from `quality standards/07-backend-services/09-backend-service-design.md`; 20 non-duplicative controls._
|
|
203
|
+
|
|
204
|
+
### Category-specific universal rules
|
|
205
|
+
|
|
206
|
+
- [ ] **USEQ-1CC90997** — Define each service's cohesive capability, owner, consumers, data authority, and operational objectives.
|
|
207
|
+
- [ ] **USEQ-AE48DCE5** — Split services only when independent ownership, scaling, security, change, or failure isolation justifies the boundary.
|
|
208
|
+
- [ ] **USEQ-3307A379** — Avoid shared databases or mutable internals that bypass service contracts without explicit governance.
|
|
209
|
+
- [ ] **USEQ-CB9942F4** — Keep business rules in trusted domain logic rather than transport handlers or client code.
|
|
210
|
+
- [ ] **USEQ-ED684D68** — Use explicit request, command, query, event, and error contracts.
|
|
211
|
+
- [ ] **USEQ-10891705** — Validate identity, authorization, tenant, input, quotas, and invariants at every entry point.
|
|
212
|
+
- [ ] **USEQ-1CE1D773** — Make write operations idempotent where clients or infrastructure can retry.
|
|
213
|
+
- [ ] **USEQ-FA593D00** — Keep transaction boundaries aligned to invariants and avoid unbounded remote transactions.
|
|
214
|
+
- [ ] **USEQ-41F351E9** — Define timeouts, retries, cancellation, backpressure, and overload behavior.
|
|
215
|
+
- [ ] **USEQ-078CA238** — Make dependency failure degrade safely and observably.
|
|
216
|
+
- [ ] **USEQ-271D3DFF** — Use structured logging, metrics, traces, health, and audit events tied to user and business outcomes.
|
|
217
|
+
- [ ] **USEQ-4265879C** — Separate readiness from liveness and stop accepting work before shutdown.
|
|
218
|
+
- [ ] **USEQ-9BD0F34D** — Drain, transfer, checkpoint, or safely retry in-flight work during deployment and failure.
|
|
219
|
+
- [ ] **USEQ-2D916DB0** — Keep configuration, secrets, schema, and deployment versions traceable.
|
|
220
|
+
- [ ] **USEQ-DAE49FB5** — Support backward-compatible rolling deployment where required.
|
|
221
|
+
- [ ] **USEQ-8DAB072E** — Test service contracts, data behavior, failure, recovery, load, security, and migration independently.
|
|
222
|
+
- [ ] **USEQ-C947839C** — Prevent one tenant, operation, or dependency from exhausting all resources.
|
|
223
|
+
- [ ] **USEQ-A88B60B7** — Document support, runbook, SLO, capacity, backup, recovery, and retirement obligations.
|
|
224
|
+
- [ ] **USEQ-D2AB670F** — Avoid exposing internal implementation or database structure as a permanent external contract.
|
|
225
|
+
- [ ] **USEQ-D0769D00** — Measure whether the service boundary reduces total coordination and failure cost over time.
|
|
226
|
+
|
|
227
|
+
## Background Jobs, Scheduling, and Queues
|
|
228
|
+
|
|
229
|
+
_Consolidated from `quality standards/07-backend-services/10-background-jobs-scheduling-and-queues.md`; 20 non-duplicative controls._
|
|
230
|
+
|
|
231
|
+
### Category-specific universal rules
|
|
232
|
+
|
|
233
|
+
- [ ] **USEQ-16F68399** — Assign every job type, queue, schedule, and dead-letter stream an owner.
|
|
234
|
+
- [ ] **USEQ-5918958F** — Define trigger, input schema, tenant and identity context, priority, deadline, retry, ordering, and completion semantics.
|
|
235
|
+
- [ ] **USEQ-1CFCCEFB** — Assume at-least-once execution unless stronger guarantees are proven.
|
|
236
|
+
- [ ] **USEQ-DA5D8874** — Make side-effecting jobs idempotent or protect effects with deduplication keys.
|
|
237
|
+
- [ ] **USEQ-881FD155** — Persist sufficient state to resume after worker, process, node, or region failure.
|
|
238
|
+
- [ ] **USEQ-4B1B01AF** — Bound attempts, age, execution time, concurrency, queue depth, payload, and resource use.
|
|
239
|
+
- [ ] **USEQ-56F9433C** — Use backoff and jitter and prevent retry synchronization.
|
|
240
|
+
- [ ] **USEQ-CDCA58F2** — Distinguish retryable dependency failure from permanent validation, authorization, or business rejection.
|
|
241
|
+
- [ ] **USEQ-AAB22D62** — Prevent poison work from blocking unrelated work.
|
|
242
|
+
- [ ] **USEQ-056E5454** — Provide dead-letter inspection, privacy protection, alerting, remediation, and safe replay.
|
|
243
|
+
- [ ] **USEQ-13ECE301** — Maintain ordering only where the business requires it and account for partitioning and rebalancing.
|
|
244
|
+
- [ ] **USEQ-CC43CE3C** — Protect against overlapping scheduled runs and missed runs.
|
|
245
|
+
- [ ] **USEQ-E679A7AF** — Define clock, time-zone, daylight-saving, calendar, and catch-up behavior.
|
|
246
|
+
- [ ] **USEQ-66D9DF06** — Propagate trace, tenant, identity, data classification, and causal context.
|
|
247
|
+
- [ ] **USEQ-7BF28954** — Make cancellation and supersession observable and safe.
|
|
248
|
+
- [ ] **USEQ-42ACA9BE** — Avoid embedding mutable large objects or secrets in queue payloads.
|
|
249
|
+
- [ ] **USEQ-BAE577C3** — Revalidate authorization and current state when delayed work executes.
|
|
250
|
+
- [ ] **USEQ-84A401CA** — Monitor queue age, throughput, failures, retries, lag, saturation, and business completion.
|
|
251
|
+
- [ ] **USEQ-D14A5097** — Test duplicate, delayed, reordered, lost, corrupt, expired, and partially processed work.
|
|
252
|
+
- [ ] **USEQ-6A7C0140** — Reconcile authoritative outcomes against job records to detect silent loss or duplication.
|
|
253
|
+
|
|
254
|
+
## Caching, Search, and Derived Data
|
|
255
|
+
|
|
256
|
+
_Consolidated from `quality standards/07-backend-services/11-caching-search-and-derived-data.md`; 20 non-duplicative controls._
|
|
257
|
+
|
|
258
|
+
### Category-specific universal rules
|
|
259
|
+
|
|
260
|
+
- [ ] **USEQ-FA365A87** — Classify each cache or index as disposable, reconstructable, authoritative, or temporarily authoritative.
|
|
261
|
+
- [ ] **USEQ-27109AA1** — Define source of truth, key dimensions, freshness, expiry, invalidation, consistency, and reconstruction behavior.
|
|
262
|
+
- [ ] **USEQ-06FF47B4** — Include identity, tenant, authorization, locale, version, content negotiation, and privacy dimensions in keys where required.
|
|
263
|
+
- [ ] **USEQ-24FF04B1** — Prevent cache poisoning, key collision, unbounded cardinality, stampede, and eviction of critical entries.
|
|
264
|
+
- [ ] **USEQ-E104A243** — Never serve private or personalized content from a shared cache without correct isolation.
|
|
265
|
+
- [ ] **USEQ-CA1CF7A0** — Use negative caching only with safe expiry and authorization semantics.
|
|
266
|
+
- [ ] **USEQ-3E156CB0** — Make stale serving deliberate and communicate staleness when it affects decisions.
|
|
267
|
+
- [ ] **USEQ-64AE632C** — Bound memory, disk, entry size, result size, query complexity, and retention.
|
|
268
|
+
- [ ] **USEQ-2C6E1A16** — Protect search filters, facets, snippets, ranking, and aggregation with the same authorization as source data.
|
|
269
|
+
- [ ] **USEQ-719D7363** — Propagate deletion, correction, legal hold, consent, and tenant changes to derived stores.
|
|
270
|
+
- [ ] **USEQ-569D6922** — Monitor lag, hit rate, miss cost, eviction, index failures, partial updates, and reconstruction duration.
|
|
271
|
+
- [ ] **USEQ-31CA65E1** — Provide cache bypass and index rebuild procedures for incidents.
|
|
272
|
+
- [ ] **USEQ-700AB4BA** — Avoid requiring a cache to preserve correctness unless its durability and recovery are engineered accordingly.
|
|
273
|
+
- [ ] **USEQ-0386371D** — Prevent search indexing from exposing secrets, hidden fields, deleted data, or cross-tenant terms.
|
|
274
|
+
- [ ] **USEQ-86A0C9B1** — Test cold start, empty cache, stale entries, concurrent invalidation, failover, and partial indexing.
|
|
275
|
+
- [ ] **USEQ-305C6668** — Reconcile derived counts, documents, and permissions with authoritative data.
|
|
276
|
+
- [ ] **USEQ-DD834B76** — Version schemas and ranking behavior for compatible rollout.
|
|
277
|
+
- [ ] **USEQ-909674E0** — Do not use cache as an undocumented communication or locking mechanism.
|
|
278
|
+
- [ ] **USEQ-17F09290** — Make query and ranking behavior explainable enough to diagnose user-visible errors.
|
|
279
|
+
- [ ] **USEQ-5C56E75A** — Retire obsolete indexes and cached representations with verified cleanup.
|
|
280
|
+
|
|
281
|
+
## Final Gap Closure — Integration, Transition, Open Standards, and Exitability
|
|
282
|
+
|
|
283
|
+
_Consolidated from `final consolidated corpus/03-architecture-code-frontend-backend-apis-integration.md#Final Gap Closure — Integration, Transition, Open Standards, and Exitability`; 143 non-duplicative controls._
|
|
284
|
+
|
|
285
|
+
### Integration governance and strategy
|
|
286
|
+
|
|
287
|
+
- [ ] **USEQ-660DB940** — Define the integration objective, scope, boundaries, owners, consumers, providers, assumptions, constraints, and acceptance criteria.
|
|
288
|
+
- [ ] **USEQ-8852E1D3** — Maintain an integration architecture showing systems, interfaces, trust boundaries, data flows, protocols, timing, and failure dependencies.
|
|
289
|
+
- [ ] **USEQ-3E2BB651** — Identify every organization, supplier, team, environment, and approval needed for successful integration.
|
|
290
|
+
- [ ] **USEQ-674F61EC** — Assign one accountable integration owner with authority to coordinate cross-component decisions.
|
|
291
|
+
- [ ] **USEQ-C08FFD88** — Define integration stages, sequence, entry criteria, exit criteria, evidence, and rollback points.
|
|
292
|
+
- [ ] **USEQ-37226C02** — Integrate incrementally so defects can be localized and reversed.
|
|
293
|
+
- [ ] **USEQ-394C9A5B** — Prioritize integration of high-risk, poorly understood, externally controlled, and architecturally central interfaces.
|
|
294
|
+
- [ ] **USEQ-EA8E91F0** — Avoid postponing all cross-system validation until final system testing.
|
|
295
|
+
- [ ] **USEQ-2BBED8CB** — Maintain a current dependency and interface inventory.
|
|
296
|
+
- [ ] **USEQ-EFADF35D** — Identify shared failure domains and correlated dependencies hidden behind apparently independent interfaces.
|
|
297
|
+
- [ ] **USEQ-F711E12E** — Record assumptions made about external behavior and verify them through contract, observation, or testing.
|
|
298
|
+
- [ ] **USEQ-E200032F** — Include security, privacy, accessibility, records, licensing, continuity, and support requirements in integration planning.
|
|
299
|
+
- [ ] **USEQ-3978ACE8** — Define responsibility for defects that cross organizational or component boundaries.
|
|
300
|
+
- [ ] **USEQ-69CD0910** — Establish a controlled process for resolving interface disputes and incompatible requirements.
|
|
301
|
+
- [ ] **USEQ-0A3F1C38** — Reassess integration risk after interface, supplier, version, topology, data, or operational changes.
|
|
302
|
+
|
|
303
|
+
### Interface contracts and compatibility
|
|
304
|
+
|
|
305
|
+
- [ ] **USEQ-13208C54** — Define every interface using a controlled, testable contract.
|
|
306
|
+
- [ ] **USEQ-BA6C0A5B** — Specify syntax, semantics, units, identifiers, encoding, ordering, timing, errors, limits, security, and lifecycle behavior.
|
|
307
|
+
- [ ] **USEQ-739ACF5A** — Distinguish required, optional, deprecated, experimental, and vendor-specific behavior.
|
|
308
|
+
- [ ] **USEQ-3522D60E** — Define how unknown fields, values, message types, and versions are handled.
|
|
309
|
+
- [ ] **USEQ-9F07F0E0** — Define backward, forward, and mixed-version compatibility expectations.
|
|
310
|
+
- [ ] **USEQ-FD88BE68** — State whether consumers must tolerate additive change and which changes are breaking.
|
|
311
|
+
- [ ] **USEQ-A0DC3EDA** — Version contracts according to externally observable behavior rather than implementation detail.
|
|
312
|
+
- [ ] **USEQ-65E9E99B** — Keep documentation, schemas, examples, tests, and deployed behavior synchronized.
|
|
313
|
+
- [ ] **USEQ-FF1FAB9E** — Assign ownership for each side of every contract.
|
|
314
|
+
- [ ] **USEQ-1EB62A00** — Avoid relying on undocumented quirks, incidental ordering, implicit defaults, or error text.
|
|
315
|
+
- [ ] **USEQ-3DB5F3D9** — Specify timeout, retry, idempotency, deduplication, backpressure, and cancellation behavior.
|
|
316
|
+
- [ ] **USEQ-C4FD51B8** — Specify consistency, freshness, durability, and reconciliation expectations.
|
|
317
|
+
- [ ] **USEQ-2AE36742** — Specify authentication, authorization, identity propagation, tenant context, and audit requirements.
|
|
318
|
+
- [ ] **USEQ-29EADE04** — Specify data classification, minimization, retention, deletion, and residency constraints.
|
|
319
|
+
- [ ] **USEQ-E34272AF** — Define rate, volume, size, concurrency, and resource limits.
|
|
320
|
+
- [ ] **USEQ-B9F6FE85** — Provide machine-verifiable schemas where practical.
|
|
321
|
+
- [ ] **USEQ-D23737D3** — Maintain consumer-driven or equivalent compatibility tests for material interfaces.
|
|
322
|
+
- [ ] **USEQ-633EFCCD** — Test alternate implementations when interoperability is a product requirement.
|
|
323
|
+
- [ ] **USEQ-B5F4AD4D** — Publish deprecation, migration, support, and retirement timelines early enough for consumers to act.
|
|
324
|
+
- [ ] **USEQ-7806A550** — Prevent one consumer’s nonconforming behavior from silently becoming the permanent contract.
|
|
325
|
+
|
|
326
|
+
### Integration environments and test assets
|
|
327
|
+
|
|
328
|
+
- [ ] **USEQ-13FDC789** — Provide integration environments representative of production topology, security boundaries, versions, scale, and failure behavior.
|
|
329
|
+
- [ ] **USEQ-07313A1F** — Prevent integration testing from using production credentials or uncontrolled production data.
|
|
330
|
+
- [ ] **USEQ-97974ECD** — Make simulators and stubs explicit about which behavior they do and do not reproduce.
|
|
331
|
+
- [ ] **USEQ-C9EDC889** — Validate critical integrations against the real provider or implementation before production.
|
|
332
|
+
- [ ] **USEQ-F009D6F1** — Version test fixtures, schemas, protocol captures, simulators, and reference data.
|
|
333
|
+
- [ ] **USEQ-6FF4F1EB** — Include malformed, delayed, duplicated, reordered, partial, stale, and adversarial inputs.
|
|
334
|
+
- [ ] **USEQ-BCB7BC2D** — Include dependency throttling, timeout, outage, restart, failover, and recovery.
|
|
335
|
+
- [ ] **USEQ-2C143F2E** — Test clock skew, locale, encoding, unit, identifier, and precision differences.
|
|
336
|
+
- [ ] **USEQ-0291C731** — Test maximum supported message, file, batch, record, and concurrency sizes.
|
|
337
|
+
- [ ] **USEQ-B6D483DD** — Ensure integration tests can distinguish provider failure, consumer failure, network failure, contract mismatch, and test-environment defect.
|
|
338
|
+
- [ ] **USEQ-037484B6** — Preserve traceable evidence linking integration results to exact component versions and configurations.
|
|
339
|
+
- [ ] **USEQ-1C5D3DE4** — Detect drift between integration environments and production.
|
|
340
|
+
- [ ] **USEQ-D4F0C7EF** — Protect shared test environments from one team’s changes invalidating another team’s evidence.
|
|
341
|
+
- [ ] **USEQ-7FE0C223** — Provide deterministic reset or reconstruction of shared integration state.
|
|
342
|
+
- [ ] **USEQ-D1AA1BD0** — Retain representative failing cases as regression tests.
|
|
343
|
+
|
|
344
|
+
### Data and state transition
|
|
345
|
+
|
|
346
|
+
- [ ] **USEQ-73D4CAD4** — Inventory all data, state, history, permissions, identities, configuration, keys, and metadata that must transition.
|
|
347
|
+
- [ ] **USEQ-1F9780C3** — Define the authoritative source and target for every data class during each transition phase.
|
|
348
|
+
- [ ] **USEQ-49876297** — Define mapping rules, transformations, defaults, rejected records, and reconciliation criteria.
|
|
349
|
+
- [ ] **USEQ-C6B4C15C** — Preserve identifiers and referential relationships or document intentional replacements.
|
|
350
|
+
- [ ] **USEQ-070B16F1** — Preserve provenance, timestamps, authorship, consent, retention, legal holds, and audit history.
|
|
351
|
+
- [ ] **USEQ-ED85CA12** — Validate units, precision, time zones, calendars, encodings, normalization, and code sets.
|
|
352
|
+
- [ ] **USEQ-AE457351** — Prevent silent truncation, coercion, rounding, or loss of unsupported fields.
|
|
353
|
+
- [ ] **USEQ-35DD45BD** — Define treatment of invalid, duplicate, orphaned, stale, and conflicting records.
|
|
354
|
+
- [ ] **USEQ-F47424F8** — Test transition using representative volume, skew, age, and edge-case distributions.
|
|
355
|
+
- [ ] **USEQ-D2F05431** — Measure duration, resource use, locking, service impact, and recovery time.
|
|
356
|
+
- [ ] **USEQ-4507A42E** — Use checkpoints and resumable processing for long transitions.
|
|
357
|
+
- [ ] **USEQ-2E8EB9F7** — Make repeated execution safe or explicitly prevented.
|
|
358
|
+
- [ ] **USEQ-F4B43A58** — Verify counts, totals, checksums, constraints, samples, and business invariants before and after transition.
|
|
359
|
+
- [ ] **USEQ-DFD47D97** — Reconcile downstream caches, indexes, analytics, replicas, exports, and integrations.
|
|
360
|
+
- [ ] **USEQ-9C8BBE5C** — Maintain a protected recovery point before destructive transformation.
|
|
361
|
+
- [ ] **USEQ-3376BB06** — Document whether rollback is possible after each point of no return.
|
|
362
|
+
- [ ] **USEQ-6E36BDB8** — Provide a tested roll-forward plan when rollback cannot restore a valid state.
|
|
363
|
+
- [ ] **USEQ-8A020852** — Prevent transition from re-enabling revoked identities, deleted data, expired consent, or obsolete credentials.
|
|
364
|
+
- [ ] **USEQ-C03712FC** — Dispose of temporary copies and migration credentials after verified completion.
|
|
365
|
+
|
|
366
|
+
### Installation, upgrade, coexistence, and replacement
|
|
367
|
+
|
|
368
|
+
- [ ] **USEQ-8DADCE97** — Define supported installation, upgrade, downgrade, replacement, and removal paths.
|
|
369
|
+
- [ ] **USEQ-0AA61EFD** — Test fresh installation and upgrade from every supported starting state.
|
|
370
|
+
- [ ] **USEQ-F52F674A** — Test interrupted installation and upgrade recovery.
|
|
371
|
+
- [ ] **USEQ-2ADF602E** — Verify prerequisites before making irreversible changes.
|
|
372
|
+
- [ ] **USEQ-43BE7891** — Detect insufficient storage, permission, version, capacity, or connectivity before transition.
|
|
373
|
+
- [ ] **USEQ-981573E3** — Keep old and new versions compatible during rolling or phased change where coexistence occurs.
|
|
374
|
+
- [ ] **USEQ-B9F93CB2** — Prevent incompatible mixed versions from serving traffic together.
|
|
375
|
+
- [ ] **USEQ-9C5C4DDD** — Define ownership and cleanup of old binaries, images, schemas, services, routes, secrets, and scheduled jobs.
|
|
376
|
+
- [ ] **USEQ-32032AB7** — Preserve user configuration and data unless explicit informed replacement is required.
|
|
377
|
+
- [ ] **USEQ-E5A346BD** — Avoid overwriting locally controlled settings without a documented policy.
|
|
378
|
+
- [ ] **USEQ-1408D4CC** — Verify that uninstall or decommission removes access, listeners, scheduled work, credentials, and sensitive data as intended.
|
|
379
|
+
- [ ] **USEQ-3670663F** — Ensure replacement does not leave dangling DNS, routes, queues, webhooks, or trust relationships.
|
|
380
|
+
- [ ] **USEQ-EC5CA0BF** — Validate compatibility with supported clients, agents, extensions, and external systems.
|
|
381
|
+
- [ ] **USEQ-A4050E06** — Provide a clear version-identification and support-status mechanism.
|
|
382
|
+
- [ ] **USEQ-BC2B199B** — Monitor adoption and detect stranded or unsupported versions.
|
|
383
|
+
- [ ] **USEQ-7700A5E8** — Define forced-update conditions only when proportionate to security, safety, or compatibility risk.
|
|
384
|
+
- [ ] **USEQ-58EC2595** — Ensure emergency update mechanisms are authenticated, authorized, resilient, and recoverable.
|
|
385
|
+
|
|
386
|
+
### Operational transition and handover
|
|
387
|
+
|
|
388
|
+
- [ ] **USEQ-6024C9B1** — Define operational acceptance criteria before development is complete.
|
|
389
|
+
- [ ] **USEQ-D083AE3C** — Include observability, alerts, runbooks, support, capacity, continuity, security, privacy, access, and cost in acceptance criteria.
|
|
390
|
+
- [ ] **USEQ-E53D5660** — Identify the organization and individuals authorized to accept operational responsibility.
|
|
391
|
+
- [ ] **USEQ-20552B69** — Do not transfer responsibility before operators have access, competence, evidence, and a stable support path.
|
|
392
|
+
- [ ] **USEQ-AEECABED** — Provide architecture, dependency, data, configuration, deployment, recovery, and known-risk documentation.
|
|
393
|
+
- [ ] **USEQ-F845B223** — Transfer outstanding incidents, defects, exceptions, workarounds, debt, and supplier commitments explicitly.
|
|
394
|
+
- [ ] **USEQ-3BF30324** — Validate that monitoring covers the actual production deployment.
|
|
395
|
+
- [ ] **USEQ-23FADC9E** — Validate escalation, paging, status communication, and provider support routes.
|
|
396
|
+
- [ ] **USEQ-D5B7F955** — Exercise common and severe runbooks with the receiving team.
|
|
397
|
+
- [ ] **USEQ-94EBD701** — Verify backup restoration, rollback, failover, and credential-recovery procedures.
|
|
398
|
+
- [ ] **USEQ-DB24571C** — Establish a bounded enhanced-support period for high-risk transitions.
|
|
399
|
+
- [ ] **USEQ-977F0AD1** — Define who owns decisions during the overlap between delivery and operations.
|
|
400
|
+
- [ ] **USEQ-F3B48A5C** — Measure early-life incidents, support demand, performance, data integrity, and user outcomes.
|
|
401
|
+
- [ ] **USEQ-5BAB2070** — Prevent project closure from hiding unresolved operational risk.
|
|
402
|
+
- [ ] **USEQ-62D52CC9** — Obtain explicit acceptance or record a no-go decision with unresolved conditions.
|
|
403
|
+
|
|
404
|
+
### Open standards and interoperability
|
|
405
|
+
|
|
406
|
+
- [ ] **USEQ-1308B666** — Prefer stable, publicly documented, broadly implementable standards when they satisfy the requirement.
|
|
407
|
+
- [ ] **USEQ-B6D67C32** — Select standards based on semantic fit, maturity, governance, security, accessibility, adoption, and lifecycle support.
|
|
408
|
+
- [ ] **USEQ-F60A0D39** — Distinguish an open specification from an implementation that still depends on proprietary behavior.
|
|
409
|
+
- [ ] **USEQ-7F700ED0** — Verify interoperability with more than one implementation when avoiding lock-in is material.
|
|
410
|
+
- [ ] **USEQ-B9C1C86F** — Avoid optional profiles so broad that implementations cannot predictably interoperate.
|
|
411
|
+
- [ ] **USEQ-76528E47** — Document the exact profile, extensions, versions, and interpretations used.
|
|
412
|
+
- [ ] **USEQ-7C246FB0** — Contribute discovered ambiguities or defects back to the relevant standards or community process where feasible.
|
|
413
|
+
- [ ] **USEQ-F7E0BF1B** — Do not claim standards conformance without passing the applicable normative requirements and declared profile.
|
|
414
|
+
- [ ] **USEQ-5ABC83D4** — Preserve protocol and data semantics when translating between standards.
|
|
415
|
+
- [ ] **USEQ-6EACA1A3** — Avoid proprietary identifiers, formats, or extensions where durable exchange is required unless an open mapping exists.
|
|
416
|
+
- [ ] **USEQ-86F9640A** — Provide accessible and localized representations where the standard supports human presentation.
|
|
417
|
+
- [ ] **USEQ-BA413359** — Monitor standard deprecation, errata, security guidance, and replacement work.
|
|
418
|
+
- [ ] **USEQ-9FA5189E** — Plan migration before a protocol, format, or algorithm becomes unsupported.
|
|
419
|
+
- [ ] **USEQ-4F165C23** — Ensure conformance tests themselves are versioned, reviewed, and representative.
|
|
420
|
+
|
|
421
|
+
### Portability, exitability, and reversibility
|
|
422
|
+
|
|
423
|
+
- [ ] **USEQ-D633A4FE** — Define what must remain portable: data, metadata, identities, permissions, configurations, workflows, policies, logs, models, prompts, keys, and history.
|
|
424
|
+
- [ ] **USEQ-31D5679B** — Provide export in documented, durable, independently parseable formats.
|
|
425
|
+
- [ ] **USEQ-C28B29B6** — Include enough metadata and semantics to interpret exported values correctly.
|
|
426
|
+
- [ ] **USEQ-3A7150A3** — Preserve relationships, ordering, provenance, and integrity across export and import.
|
|
427
|
+
- [ ] **USEQ-EE11B49B** — Avoid exports that are technically complete but operationally unusable without proprietary services.
|
|
428
|
+
- [ ] **USEQ-42F63C13** — Test import into an alternate implementation or a documented reconstruction process.
|
|
429
|
+
- [ ] **USEQ-BA991AC6** — Measure the time, cost, bandwidth, downtime, and expertise required to exit.
|
|
430
|
+
- [ ] **USEQ-E74B188D** — Avoid unbounded data-egress, termination, or support barriers without explicit risk acceptance.
|
|
431
|
+
- [ ] **USEQ-1467A309** — Maintain source, build, configuration, documentation, and operating rights needed for continuity where appropriate.
|
|
432
|
+
- [ ] **USEQ-4F0B7BC5** — Preserve access to historical versions and tools needed to interpret retained records.
|
|
433
|
+
- [ ] **USEQ-67CB5775** — Ensure encryption and signing keys required for export or validation remain available under controlled recovery.
|
|
434
|
+
- [ ] **USEQ-F432B8C9** — Define how external identities, domains, certificates, and trust relationships transfer.
|
|
435
|
+
- [ ] **USEQ-485E486B** — Test provider, region, account, and organization migration before an emergency.
|
|
436
|
+
- [ ] **USEQ-13ADCC69** — Maintain alternate contact, billing, and administrative access routes during transition.
|
|
437
|
+
- [ ] **USEQ-8094CE35** — Remove old-provider access and residual data after verified migration.
|
|
438
|
+
- [ ] **USEQ-BFEAA140** — Verify the old system cannot continue accepting authoritative updates after cutover.
|
|
439
|
+
- [ ] **USEQ-CEEE0784** — Record residual dependencies that remain after declared exit.
|
|
440
|
+
|
|
441
|
+
### Integration assurance and release gates
|
|
442
|
+
|
|
443
|
+
- [ ] **USEQ-AA309E1F** — Trace each integration requirement to contract evidence and representative tests.
|
|
444
|
+
- [ ] **USEQ-CDB2259B** — Verify end-to-end critical journeys across actual organizational and technical boundaries.
|
|
445
|
+
- [ ] **USEQ-A877BF6B** — Verify security, privacy, accessibility, records, performance, and recovery behavior across the complete chain.
|
|
446
|
+
- [ ] **USEQ-CB5A99DA** — Test partial completion, ambiguous outcomes, duplicate delivery, and reconciliation.
|
|
447
|
+
- [ ] **USEQ-455260BF** — Test behavior when each critical participant is unavailable or nonconforming.
|
|
448
|
+
- [ ] **USEQ-C0D99348** — Verify that logs and traces permit cross-boundary diagnosis without exposing restricted data.
|
|
449
|
+
- [ ] **USEQ-BF26F79B** — Confirm support teams can identify ownership and escalate across organizations.
|
|
450
|
+
- [ ] **USEQ-0FFCF015** — Treat unresolved contract ambiguity, untested migration, missing rollback, or unknown failure behavior as release blockers when impact is material.
|
|
451
|
+
- [ ] **USEQ-B38FFB2D** — Obtain explicit acceptance from every organization assuming material operational responsibility.
|
|
452
|
+
- [ ] **USEQ-8FFC64D0** — Preserve the integration baseline, evidence, exceptions, and exact component versions with the release.
|
|
453
|
+
- [ ] **USEQ-E63864C3** — Re-run affected assurance after any material interface or transition change.
|
|
454
|
+
|
|
455
|
+
## Standards and source references
|
|
456
|
+
|
|
457
|
+
- [RFC 9110 — HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110)
|
|
458
|
+
- [RFC 9457 — Problem Details for HTTP APIs](https://www.rfc-editor.org/rfc/rfc9457)
|
|
459
|
+
- [OWASP API Security Top 10 — 2023](https://owasp.org/API-Security/)
|
|
460
|
+
- [OWASP Application Security Verification Standard 5.0.0](https://owasp.org/www-project-application-security-verification-standard/)
|
|
461
|
+
- [NIST SP 800-63-4 — Digital Identity Guidelines](https://pages.nist.gov/800-63-4/)
|
|
462
|
+
- [RFC 9700 — OAuth 2.0 Security Best Current Practice](https://www.rfc-editor.org/rfc/rfc9700)
|
|
463
|
+
- [NIST Cybersecurity Framework 2.0](https://www.nist.gov/cyberframework)
|
|
464
|
+
- [RFC 8725 — JSON Web Token Best Current Practices](https://www.rfc-editor.org/rfc/rfc8725)
|
|
465
|
+
- [OWASP Web Security Testing Guide 4.2](https://owasp.org/www-project-web-security-testing-guide/)
|
|
466
|
+
- [ISO/IEC 27001:2022 — Information security management systems](https://www.iso.org/standard/27001)
|
|
467
|
+
- [ISO/IEC 25010:2023 — Product quality model](https://www.iso.org/standard/78176.html)
|
|
468
|
+
- [ISO/IEC/IEEE 42010:2022 — Architecture description](https://www.iso.org/standard/74393.html)
|
|
469
|
+
- [ISO/IEC/IEEE 12207:2026 — Software life cycle processes](https://www.iso.org/standard/90219.html)
|
|
470
|
+
- [ISO/IEC/IEEE 29119-4:2021 — Test techniques](https://www.iso.org/standard/79430.html)
|
|
471
|
+
- [Google SRE Workbook — Implementing SLOs](https://sre.google/workbook/implementing-slos/)
|
|
472
|
+
- [ISO/IEC 25012:2008 — Data quality model](https://www.iso.org/standard/35736.html)
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
476
|
+
[Previous phase](05-code-quality-and-implementation.md) · [Next: Phase 7: Data and information lifecycle](07-data-and-information-lifecycle.md)
|