Skip to content

docs: security policy rewrite + supply-chain security guide - #313

Merged
allxsmith merged 2 commits into
mainfrom
docs/182-security-docs
Jul 15, 2026
Merged

allxsmith merged 2 commits into
mainfrom
docs/182-security-docs

Conversation

@allxsmith

@allxsmith allxsmith commented Jul 14, 2026 •

Copy link
Copy Markdown
Owner

Closes #182 — part 3 of 3 of the supply-chain initiative (① Actions hardening and ② the pnpm migration #180 already shipped; this documents what's live).

What

  • SECURITY.md
    • Supported Versions corrected to latest only — the table listed stale 2.x/1.x; it now says bestax-bulma 5.x / create-bestax 3.x, with the rationale (semantic-release from main means latest is always the patched line).
    • New Supply-Chain Security section listing the live measures. Every claim was verified against the repo before writing: allowBuilds + minimumReleaseAge + isolated linker in pnpm-workspace.yaml, --frozen-lockfile in ci.yml (with the React-matrix exception called out honestly), publishConfig.provenance in both package.json files, OIDC trusted publishing (no NPM_TOKEN) in the release job, SHA-pinned actions, CodeQL default setup (js/ts + actions), dependency-review.yml, weekly grouped Dependabot.
    • Reporting flow kept unchanged.
  • New docs page docs/docs/guides/security.md (/docs/guides/security) — the same posture from the consumer angle: what provenance/OIDC publishing means for them, how to verify (npm audit signatures, npmjs.com Provenance section, lockfile hygiene), latest-only support, and the private reporting channels.
  • Footer link: "Security" added under More in docusaurus.config.js.

Notes

  • The guides sidebar is autogenerated, so the page slots in via sidebar_position: 10 (last, after Helpers).
  • Adding a page extends the generated LLM index (llms.txt) — no existing URLs move.

Verification

pnpm all green, including the Docusaurus production build (which fails on broken links — the new page's internal links resolve).

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added comprehensive security guidance covering supported release lines and vulnerability reporting.
    • Documented supply-chain protections, package provenance verification, trusted publishing, dependency safeguards, and secure installation practices.
    • Added a Security link to the documentation site footer for easier access.

SECURITY.md: supported versions corrected to latest-only (bestax-bulma
5.x, create-bestax 3.x — the table listed stale 2.x/1.x), new
Supply-Chain Security section describing the live measures (blocked
install scripts, dependency cooldown, isolated linker, frozen-lockfile
CI, npm provenance, OIDC trusted publishing, SHA-pinned Actions,
CodeQL, dependency review, Dependabot). Reporting flow unchanged.

New docs page /docs/guides/security covering the same posture from the
consumer angle (how to verify provenance, lockfile hygiene) plus the
reporting channels; linked from the site footer.

Closes #182

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 14, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 4ead072c-4527-4e30-86e4-88e94ba3adeb

📥 Commits

Reviewing files that changed from the base of the PR and between c0bcba2 and 09ad342.

📒 Files selected for processing (2)
  • SECURITY.md
  • docs/docs/guides/security.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/docs/guides/security.md
  • SECURITY.md

Walkthrough

The change limits security support to current release lines, documents supply-chain protections and verification steps, adds a Docusaurus Security guide, and links it from the documentation footer.

Changes

Security Documentation

Layer / File(s) Summary
Supported-version policy
SECURITY.md
Defines latest-line security support for @allxsmith/bestax-bulma and create-bestax, and documents supply-chain safeguards and provenance verification.
Supply-chain protection guidance
docs/docs/guides/security.md
Adds the Security guide with release security, verification, repository controls, and vulnerability-reporting guidance.
Security guide publication
docs/docusaurus.config.js
Adds a Security link to the documentation footer navigation.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and clearly summarizes the security docs rewrite and new supply-chain guide.
Description check ✅ Passed The description covers the summary, issue link, verification, and affected docs well enough despite missing some template checkboxes.
Linked Issues check ✅ Passed The changes match issue #182 by updating supported versions, adding supply-chain details, a security guide, and a footer link while preserving reporting.
Out of Scope Changes check ✅ Passed No unrelated changes stand out; the edits stay within security documentation and navigation updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/182-security-docs

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

Preview Deployment

Preview URL: https://a76d1e46.bestax.pages.dev

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Deep review — 0 finding(s)

# Severity Area Finding Location
— — — No blocking defects found. —

Overall: This is a docs-only change (SECURITY.md, a new /docs/guides/security page, and a footer link), and every factual claim in it verifies against the actual repo: supported majors match the published versions (bestax-bulma 5.6.1, create-bestax 3.3.1); the supply-chain bullets map 1:1 to real config — allowBuilds, minimumReleaseAge: 4320 (= 3 days), nodeLinker: isolated, --frozen-lockfile with the React-matrix --no-frozen-lockfile exception, publishConfig.provenance: true in both packages, OIDC with no NPM_TOKEN, SHA-pinned actions, dependency-review-action at fail-on-severity: high, and weekly grouped Dependabot. The new guides page is picked up by the autogenerated guideSidebar, and the footer to: '/docs/guides/security' route is correct. The one thing a human should confirm is the CodeQL claim: there is no codeql workflow file in .github/workflows/ and the code-scanning API isn't accessible from here — if CodeQL is enabled via GitHub "default setup" the statement is accurate, otherwise that bullet (in both SECURITY.md and the guide) should be dropped.

🏄 Clean little docs set, dude — the whole thing just mirrors the real pipeline, no crumbly claims to wipe out on. Only ripple is that CodeQL line; give the code-scanning settings a quick paddle-check and this one's good to send.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/docs/guides/security.md`:
- Around line 73-75: Update the disclosure SLA wording in the security guide to
match SECURITY.md by qualifying the 7-day triage commitment with the project’s
“aims to” language, while preserving the existing acknowledgment and
disclosure-process references.
- Around line 45-47: Update the dependency-install security statement near the
allow-list description to limit the guarantee to unapproved dependency lifecycle
scripts. Clarify that packages permitted by pnpm’s allowBuilds configuration may
still run install/postinstall hooks, and avoid claiming that all dependency
install scripts are blocked.

In `@SECURITY.md`:
- Around line 23-25: Update the dependency cooldown descriptions in SECURITY.md
(lines 23-25) and docs/docs/guides/security.md (lines 48-50) to state that the
3-day minimumReleaseAge is the default behavior, while noting that the dev-only
formatter dependency prettier is excluded from this cooldown.
- Around line 47-49: Clarify in SECURITY.md (lines 47-49) and
docs/docs/guides/security.md (lines 34-39) that npm audit signatures applies
only to npm-managed installs. Keep the pnpm frozen-lockfile guidance separate
and ensure both documents consistently distinguish the npm provenance check from
pnpm workflows.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: c04d9305-2149-433c-8cbb-14585b3aa9dc

📥 Commits

Reviewing files that changed from the base of the PR and between 74e3d4e and c0bcba2.

📒 Files selected for processing (3)
  • SECURITY.md
  • docs/docs/guides/security.md
  • docs/docusaurus.config.js

Comment thread docs/docs/guides/security.md Outdated
Comment thread docs/docs/guides/security.md Outdated
Comment thread SECURITY.md Outdated
Comment thread SECURITY.md Outdated
… verify, SLA wording

CodeRabbit review round on #313: the allow-list caveat on the
install-script claim, the prettier cooldown exclusion, npm-CLI scoping
for `npm audit signatures`, and "aim to" triage wording matching
SECURITY.md.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Preview Deployment

Preview URL: https://5fbe382e.bestax.pages.dev

@allxsmith

Copy link
Copy Markdown
Owner Author

Re the deep review's one confirm-item (CodeQL): verified live before writing the claim — gh api repos/allxsmith/bestax/code-scanning/default-setup returns state: "configured" with languages actions, javascript-typescript on a weekly schedule (GitHub default setup, which is why there's no workflow file). The bullet stands.

@allxsmith
allxsmith merged commit c27d8c9 into main Jul 15, 2026
62 checks passed
@allxsmith
allxsmith deleted the docs/182-security-docs branch July 15, 2026 01:12
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 5.6.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.3.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@bestax-release-bot

Copy link
Copy Markdown

🎉 This PR is included in version 1.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Security docs: supply-chain page + SECURITY.md (supported = latest only)

1 participant