Skip to content

docs(opsec): normalize structure and wording - #589

Open
mattaereal wants to merge 9 commits into
developfrom
docs/normalize-opsec
Open

docs(opsec): normalize structure and wording#589
mattaereal wants to merge 9 commits into
developfrom
docs/normalize-opsec

Conversation

@mattaereal

Copy link
Copy Markdown
Collaborator

Scope

Normalize docs/pages/opsec/** active hand-authored pages (48 files). Excludes docs/pages/opsec/old/** and generated index.mdx files.

Why

Match the SEAL content model used by other framework normalization PRs so OpSec pages share consistent chrome, frontmatter bands, and Key Takeaway formatting.

Content model

  • Frontmatter: title (≤60), description (140–160), tags, contributors with wrote / reviewed / fact-checked (empty arrays where missing)
  • Chrome: TagList, AttributionList near top; ContributeFooter after --- at bottom
  • Canonical Key Takeaway: > 🔑 **Key Takeaway**: … (colon outside bold)
  • Stub scaffold + > ⚠️ Stub/in progress, help contribute/expand. for title-only and placeholder pages
  • Overview page map aligned to OpSec sidebar entries in vocs.config.ts
  • ## Further Reading## Further reading where present
  • Existing wrote / reviewed usernames preserved

Changes

  • Stubs (18): full scaffold for title-only control-domain/integration/improvement leaves + browser placeholder
  • Content pages: surgical FM/chrome/KT/footer fixes; descriptions tightened into band
  • overview.mdx: sidebar-matching “What this framework covers” map; added KT
  • KT format fixes: endpoint, google, secure-OS, travel guide/tldr variants normalized
  • principles/ and improvement/ normalized for chrome even when not fully listed in sidebar

Substantive security

None — editorial/structural only. Control recommendations and guidance bodies preserved; Key Takeaways summarize existing prose only.

Intentionally unchanged

Validation

  • npx markdownlint-cli2 "docs/pages/opsec/**/*.mdx" "!docs/pages/opsec/old/**"0 issues
  • pnpm exec cspell "docs/pages/opsec/**/*.mdx" --exclude "docs/pages/opsec/old/**"0 issues
  • Signed commit (git commit -S)

Dependencies

Depends on (by reference, unmerged): #561 — Content normalization standard.

Reviewer focus

  • Stub pages clearly marked WIP; no invented security claims in stub KT/descriptions
  • Overview map vs sidebar completeness
  • Contributor attribution preserved (shallem, dickson, andrew-chang-gu, google multi-author list, etc.)
  • old/ and generated indexes untouched
  • Password pages retain existing TagProvider/TagFilter structure

Align active OpSec pages to the SEAL content model: frontmatter bands,
canonical Key Takeaway, chrome components, stub scaffolds, and overview
maps. Exclude old/ and generated indexes. Editorial only.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 27, 2026

Copy link
Copy Markdown

Deploying frameworks with  Cloudflare Pages  Cloudflare Pages

Latest commit: ff05317
Status: ✅  Deploy successful!
Preview URL: https://6888312a.frameworks-573.pages.dev
Branch Preview URL: https://docs-normalize-opsec.frameworks-573.pages.dev

View logs

Keep contributor usernames exactly as on develop. Clear wrote where
normalization had invented mattaereal on pages with no prior credits.
Restore fact-checked: [mattaereal] on secure-operating-systems.
Rename Further Reading H2s to the exact title the updated #561 validator accepts; sentence-case a few common section headings.
Child pages missing a canonical further/related H2 failed the updated #561 validator. Add a minimal Further Reading block linking the framework overview.
Neutralize fence comments that look like headings, canonicalize overview page-map titles, clamp descriptions, demote excess H2s, and mark template pages with content-model exceptions.

@frameworks-volunteer frameworks-volunteer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Model: z-ai/glm-5.2 Reasoning: medium Provider: openrouter

Review: PR #589 — docs(opsec): normalize structure and wording

Security review: PASS. No secrets, no injection vectors, no unsafe code patterns. All changes are MDX documentation (frontmatter, chrome, Key Takeaways, Further Reading sections).

QA review: mostly clean, with a few non-blocking observations.

Issue: Leading space in policy template code blocks (policies.mdx)

Every heading inside the markdown fenced code blocks in appendices/policies.mdx gained a leading space:

-# Information Security Policy
+ # Information Security Policy

-## Purpose
+ ## Purpose

This applies to all six policy templates (~40+ heading lines). The leading space is a formatting regression — it makes the templates less clean and could confuse users copying them. Should be reverted to no leading space.

Observation: old/ files modified despite "intentionally unchanged" claim

The PR body states under "Intentionally unchanged": docs/pages/opsec/old/**. However, 26 files under old/ are modified in the diff (adding descriptions, Further Reading sections, heading casing fixes). The changes themselves are harmless, but this contradicts the stated scope. Consider either updating the PR description or splitting old/ changes into a separate PR.

Observation: Truncated descriptions in 5 old/ files

Five old/ pages have descriptions ending with a literal ...:

  • old/governance-program-management.mdx: "...Includes Web3-specific guidance..."
  • old/incident-response-recovery.mdx: "...recovery, and..."
  • old/lifecycle/overview.mdx: "...for evolving..."
  • old/monitoring-detection.mdx: "...transaction monitoring..."
  • old/threat-modeling-overview.mdx: "...Learn from ByBit..."

These look like they were cut to fit a character limit but the ellipsis is visible in the output. Should be reworded to end cleanly without ....

Observation: Generic boilerplate descriptions on 19 old/ files

19 old/ pages receive the identical description: "This page: practical Web3 security guidance, controls, and references for operators and security teams. Review and apply with team context." This adds no page-specific value for SEO or users. Consider writing per-page descriptions or leaving the original descriptions.

Observation: "Further Reading" vs "Further reading" casing

76 new sections use ## Further Reading (capital R), while 2 use ## Further reading (lowercase r). The devsecops section uses lowercase consistently. The repo template uses ## Further Reading & Tools. Consider normalizing to one casing across the OpSec section for consistency.

Verified good

  • Duplicate Security Specialist tag removed from travel pages (guide, overview, tldr) — correct cleanup.
  • Contributor attribution preserved (shallem, dickson, andrew-chang-gu, mattaereal, etc.).
  • content-model-exception comments added to nested overview pages — follows the pattern from other normalization PRs.
  • Stub pages properly marked with > ⚠️ Stub/in progress and have no invented security claims.
  • CI passes (lint, Cloudflare Pages, Socket Security, sidebar-reminder).
  • No index.mdx files edited (respecting auto-generation).
  • No vocs.config.ts changes (sidebar already complete).

@scode2277 scode2277 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

gtg @mattaereal

@frameworks-volunteer I fixed all the outlined things. Also, to answer the question regarding the opsec/old folder, we made a soft standardization (fixing things like titles and descriptions), keeping in mind that it is an archive folder. Re-review pls

@frameworks-volunteer frameworks-volunteer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Model: z-ai/glm-5.2 Reasoning: medium Provider: openrouter

Re-review: PR #589 — docs(opsec): normalize structure and wording

All previously requested changes have been addressed in commits 417da7e, 85ce662, and ff05317:

  1. Leading space in policy template code blocks (policies.mdx) — FIXED. No more # Heading regressions.
  2. Truncated descriptions ending with literal ... — FIXED. No truncated descriptions remain.
  3. Generic boilerplate descriptions on 19 old/ files — FIXED. Replaced with page-specific descriptions.
  4. "Further Reading" vs "Further reading" casing — FIXED. Now consistently lowercase across all pages.

Security: PASS. No secrets, no injection vectors, no unsafe patterns. Password matches are MDX content about password management, not credentials.

CI: all green (Cloudflare Pages, Socket Security, lint, sidebar-reminder).

Remaining non-blocking observation: 26 old/ files are still modified, which contradicts the PR body's "intentionally unchanged" claim. The changes are harmless editorial improvements, but the PR description should be updated to reflect this scope. Not blocking.

Approving.

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.

3 participants