Skip to content

Add compliance annotations docs and example NetworkAssertions#314

Open
hardbyte wants to merge 2 commits intomainfrom
feat/compliance-annotations-and-docs
Open

Add compliance annotations docs and example NetworkAssertions#314
hardbyte wants to merge 2 commits intomainfrom
feat/compliance-annotations-and-docs

Conversation

@hardbyte
Copy link
Owner

@hardbyte hardbyte commented Mar 3, 2026

Summary

  • Adds documentation for compliance annotations (netchecks.io/controls, netchecks.io/description, netchecks.io/severity) that enable mapping active network tests to compliance framework controls
  • Adds three example NetworkAssertions demonstrating compliance mappings for PCI-DSS v4.0, SOC 2, and CIS Kubernetes Benchmark
  • Updates architecture guide with compliance reporting section
  • Adds Compliance Annotations page to docs navigation sidebar

Changes

  • docs/src/pages/docs/compliance-annotations.md — new docs page covering annotation usage, supported frameworks/controls, mapping logic, and report generation
  • operator/examples/compliance/pci-dss-cde-isolation.yaml — PCI-DSS v4.0 CDE isolation (egress + ingress assertions)
  • operator/examples/compliance/soc2-boundary-protection.yaml — SOC 2 boundary protection (web-to-db tier)
  • operator/examples/compliance/cis-default-deny.yaml — CIS Benchmark default-deny enforcement
  • docs/src/pages/docs/architecture-guide.md — added compliance reporting section
  • docs/src/components/Layout.jsx — added nav link

Test plan

  • Verify docs build successfully
  • Verify compliance-annotations page renders correctly
  • Verify example YAML files are valid NetworkAssertion manifests

hardbyte added 2 commits March 4, 2026 00:51
- New docs page: compliance-annotations.md covering netchecks.io/controls,
  netchecks.io/description, and netchecks.io/severity annotations
- Three example NetworkAssertions in operator/examples/compliance/:
  - PCI-DSS v4.0 CDE isolation (egress + ingress)
  - SOC 2 boundary protection (web-to-db tier)
  - CIS K8s Benchmark default-deny enforcement
- Architecture guide updated with compliance reporting section
- Navigation sidebar updated to include Compliance Annotations page
Add a product/landing page for netchecks-compliance at
/docs/compliance-reporting with pricing, frameworks, and quick start.
Link from annotations and architecture docs to docs site pages
instead of private GitHub repo.
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Mar 3, 2026

Deploying netchecks-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: aa6890e
Status: ✅  Deploy successful!
Preview URL: https://a7381b14.netchecks-docs.pages.dev
Branch Preview URL: https://feat-compliance-annotations.netchecks-docs.pages.dev

View logs

@coveralls
Copy link

coveralls commented Mar 3, 2026

Pull Request Test Coverage Report for Build 22621756059

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 92.082%

Totals Coverage Status
Change from base Build 21792458631: 0.0%
Covered Lines: 314
Relevant Lines: 341

💛 - Coveralls

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: baf13c40c3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +18 to +20
type: http
url: http://postgres.database:5432
expected: fail

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Use a protocol-valid probe for PostgreSQL isolation

This rule uses type: http against postgres.database:5432 with expected: fail, but PostgreSQL is not an HTTP service, so the HTTP check will error regardless of network policy and be counted as a pass after the expected: fail inversion. Given the default HTTP validation requires a 200/201 response, this probe cannot distinguish "blocked" from "reachable but non-HTTP," which can produce false compliance evidence for DB isolation.

Useful? React with 👍 / 👎.

Comment on lines +24 to +26
type: http
url: http://redis.cache:6379
expected: pass

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid expecting pass from Redis over HTTP

The web-to-cache-allowed rule expects success but probes redis.cache:6379 with type: http; Redis does not speak HTTP, so this request will fail protocol validation instead of returning a 200/201 and the rule will report fail even when connectivity is correct. As written, this creates a built-in false negative in the example assertion.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants