Skip to content

feat: v5.0 Distribution & Trust (signed manifests, recovery scorecard, GitHub Action, GHCR) - #34

Merged
OmarRao merged 1 commit into
mainfrom
feat/distribution-trust
Aug 26, 2026
Merged

feat: v5.0 Distribution & Trust (signed manifests, recovery scorecard, GitHub Action, GHCR)#34
OmarRao merged 1 commit into
mainfrom
feat/distribution-trust

Conversation

@OmarRao

@OmarRao OmarRao commented Aug 26, 2026

Copy link
Copy Markdown
Owner

v5.0 — Distribution & Trust. Makes recoverability and integrity provable and packages the tool for one-line adoption.

Trust & verification

  • Signed manifests (Ed25519)BACKUP_SIGNING_KEY signs manifest.jsonmanifest.json.sig; restore verifies with BACKUP_SIGNING_PUBLIC_KEY (BACKUP_REQUIRE_SIGNATURE=true aborts on missing/invalid). Catches tampering/forgery, not just corruption.
  • Recovery scorecard — monthly restore drill publishes docs/recovery-scorecard.json (status + RTO) → Restore Verified README badge + dashboard tile.
  • Tamper-evident audit log — hash-chained entries with verifyChain().

Distribution

  • GitHub Action (action.yml) — uses: OmarRao/github-gdrive-backup@v5, no fork needed; emits a JSON summary.
  • GHCR publish (publish.yml) — container image on each release with SBOM + signed provenance.

UI / docs

  • Dashboard System Health gains Restore Verified + Manifest Signature tiles.
  • README (Trust/Action/GHCR sections + badge), USERGUIDE §15C, CHANGELOG 5.0.0, SUPPORT.md, trust-distribution.svg, .env.example signing vars.

Security note

Documented an open extract-zip advisory (GHSA-jmr9-qjv8-65gv, no fix available) in DEPENDENCY-LICENSE-REVIEW.md with mitigation (own-storage-only, signed manifests) and a planned replacement. Not remediated in this PR because the swap needs a new package + restore-path validation, and installs were network-blocked during this change.

QA

97/97 tests pass (16 new: signing, scorecard, audit chain), ESLint clean, SPDX headers present, all workflow YAML + action.yml valid, dashboard verified in-browser (0 console errors).

No co-authors. Version bumped to 5.0.0.

@
feat: v5.0 Distribution & Trust — signed manifests, recovery scorecard, Action, GHCR

Trust & verification:
- Ed25519 signed manifests (src/lib/manifest-signing.js): BACKUP_SIGNING_KEY signs
  manifest.json -> manifest.json.sig; restore verifies with BACKUP_SIGNING_PUBLIC_KEY
  (BACKUP_REQUIRE_SIGNATURE aborts on missing/invalid). Fingerprint in summary.
- Recovery scorecard (src/lib/recovery-scorecard.js): monthly restore drill publishes
  docs/recovery-scorecard.json (status + RTO) -> README endpoint badge + dashboard tile.
- Tamper-evident audit log: entries hash-chained (prev + hash) with verifyChain().

Distribution:
- GitHub Action wrapper (action.yml) — uses: OmarRao/github-gdrive-backup@v5; JSON summary output.
- GHCR publish workflow (publish.yml) — image on release with SBOM + signed provenance.

UI/docs:
- Dashboard System Health adds Restore Verified + Manifest Signature tiles (demo + live).
- README Trust/Action/GHCR sections + badges; USERGUIDE 15C; CHANGELOG 5.0.0;
  SUPPORT.md; new trust-distribution.svg; .env.example signing vars; SW cache v6.

Security: documented open extract-zip advisory (GHSA-jmr9-qjv8-65gv, no fix available)
in DEPENDENCY-LICENSE-REVIEW.md with mitigation + planned replacement.

QA: 97/97 tests pass (16 new), lint clean, SPDX headers present, all workflow YAML +
action.yml valid, dashboard verified in browser (0 console errors). Version 5.0.0.
@
@OmarRao
OmarRao merged commit 63e9a37 into main Aug 26, 2026
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.

1 participant