GitHub Pages Privacy Route Design

Goal

Publish the existing bilingual GodSay privacy policy at https://zomvs.github.io/godsay/privacy/ without maintaining a second copy of the policy.

Approach

GitHub Pages is already enabled for the public zomvs/godsay repository. The existing root-level PRIVACY.md remains the canonical policy file and receives Jekyll front matter with a fixed /privacy/ permalink. A root _config.yml selects GitHub Pages’ supported Minima theme and identifies the site.

This approach is preferred over a duplicated HTML page because policy updates remain atomic. It is preferred over a custom Actions build because the repository’s existing branch-based Pages deployment can process Jekyll configuration without additional workflow permissions.

Files

  • PRIVACY.md: add layout, title, and permalink front matter while preserving all policy text.
  • _config.yml: define the site title, description, language, and supported theme.
  • tests/pages-static.test.js: verify the canonical privacy file owns the /privacy/ route and the Pages theme configuration exists.
  • README.md: replace the Chrome Web Store privacy link with the dedicated Pages URL while retaining the repository policy link as the source document.

Verification

The static test must fail before the Jekyll configuration exists and pass after implementation. The full Node test suite must remain green. After pushing main, the deployment is complete only when https://zomvs.github.io/godsay/privacy/ returns HTTP 200 and contains the policy title, Limited Use, and chrome.storage.sync disclosures.

Failure Handling

If GitHub Pages reports a temporary build delay, poll the public route for a bounded period and report the deployment state accurately. If the build fails, inspect the repository’s Pages deployment result before changing configuration; do not replace the stable GitHub policy link until the dedicated URL is live.