Skip to content

docs: add imprint, privacy policy and consent-gated analytics - #53

Merged
yesbert merged 2 commits into
mainfrom
docs/imprint-privacy-and-consent
Sep 3, 2026
Merged

docs: add imprint, privacy policy and consent-gated analytics#53
yesbert merged 2 commits into
mainfrom
docs/imprint-privacy-and-consent

Conversation

@yesbert

@yesbert yesbert commented Sep 3, 2026

Copy link
Copy Markdown
Owner

What this changes

The documentation site is about to become the public homepage, so it needs the legal pages a German-operated site owes its visitors — and analytics that do not start collecting before anyone has agreed.

  • docs/legal/imprint.md — provider identification under § 5 DDG and § 18 (2) MStV, adapted from the LoomWeaver site.
  • docs/legal/privacy.md — controller, data-subject rights, hosting, browser storage, analytics and third-party requests. Adapted rather than copied: this site is on GitHub Pages, not the hosting provider the other site names, so the log-file section names GitHub and links its own statement.
  • Consent-gated Umami. The analytics script is appended to the head only after an explicit Accept; the answer is remembered under stratara-consent in localStorage; Decline stores the refusal so the notice does not ask again; the footer's Cookie settings re-opens it and the button in the privacy policy withdraws consent, removes the script and reloads. Nothing is requested from cloud.umami.is before that.
  • Footer carries the three links on every page, via _appFooter.

One disclosure worth reading

The landing page loads status badges as images from img.shields.io and github.com. Those are direct requests from the visitor's browser, so the visitor's IP reaches both providers on page load — before any consent, because the badges are page content rather than analytics. The privacy policy says so under Status badges from third parties, on a legitimate-interest basis. The alternative is caching the badge images at build time, which costs their liveness; that is a decision for the owner, not something to decide silently here.

How it was verified

  • Local gauntlet green (./scripts/local-gauntlet.sh)
  • docfx build --warningsAsErrors — 0 warnings, 0 errors
  • Rendered DOM of the landing page before consent contains no reference to cloud.umami.is, and does contain the notice
  • Footer and both legal pages render; the Edit this page link is suppressed on legal/**

Copilot AI lite review requested due to automatic review settings September 3, 2026 16:29

Copilot AI 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.

🟡 Changes recommended

Declining consent after previously accepting does not currently unload Umami, leaving analytics running until reload.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR prepares the DocFX documentation site to act as the public homepage by adding required legal pages (imprint + privacy policy) and implementing consent-gated Umami analytics that only loads after explicit acceptance, with footer links available site-wide.

Changes:

  • Add a consent banner and consent persistence/withdrawal logic to gate loading Umami analytics.
  • Add and style a site-wide footer with legal links and a “Cookie settings” entry point to re-open the banner.
  • Add new legal pages (Imprint, Privacy policy) and suppress “Edit this page” on legal/**.
File summaries
File Description
docs/templates/stratara/public/main.js Implements consent storage + conditional injection/removal of the Umami script and banner UI behavior.
docs/templates/stratara/public/main.css Adds styling for the footer legal links and the fixed consent banner.
docs/legal/privacy.md Introduces a privacy policy page, including a consent withdrawal control.
docs/legal/imprint.md Introduces an imprint page for provider identification and related disclosures.
docs/docfx.json Adds a global footer, updates the title string, and disables contribution links for legal/**.
Review details
  • Files reviewed: 5/5 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/templates/stratara/public/main.js
@yesbert
yesbert merged commit 322b3cb into main Sep 3, 2026
5 checks passed
@yesbert
yesbert deleted the docs/imprint-privacy-and-consent branch September 3, 2026 16:38
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