Skip to content

Keep privacy preference controls non-tracking - #87

Merged
masarray merged 9 commits into
mainfrom
fix/privacy-preference-without-tracking
Jul 20, 2026
Merged

Keep privacy preference controls non-tracking#87
masarray merged 9 commits into
mainfrom
fix/privacy-preference-without-tracking

Conversation

@masarray

@masarray masarray commented Jul 20, 2026

Copy link
Copy Markdown
Owner

What changed

  • keep one inert analytics-availability configuration on each privacy page
  • let privacy.html and privasi.html save an allow/decline preference when GA4 is configured
  • mark policy pages with data-privacy-page=true and permanently prevent them from loading analytics.js
  • apply a preference saved on a policy page only when the next product page opens
  • keep denial/revocation on privacy pages free of reloads or tracking requests
  • pass the actual repository measurement availability into privacy generation in Pages and measurement workflows
  • validate product pages and privacy pages as separate measurement surfaces
  • strengthen post-deployment attestation to reject a privacy page that loads analytics, lacks the inert configuration, or reports the wrong availability state

Safety boundary

The privacy pages remain noindex,follow and never load the local analytics client or Google Tag. The inert configuration contains only the public GA4 measurement ID when configured, so the preference controller can determine whether an allow choice is meaningful.

Validation

  • deterministic 46-page product website build: passed
  • bilingual preference-capable privacy generation: passed
  • privacy-page marker and exact inert availability configuration: passed
  • privacy pages confirmed without static analytics.js or Google Tag: passed
  • consent controller product-page/privacy-page separation: passed
  • disabled/no-op measurement mode: passed
  • internal links, fragments, SEO, sitemap, release-trust and public-boundary contracts: passed
  • offline/no-credential measurement reporting: passed
  • ARSAS source, premium UX, GOOSE and SAS invariants: passed
  • ARIEC61850 API compatibility: passed
  • .NET restore and Windows compile: passed
  • portable x64 publish and artifact upload: passed

Public source-commit and privacy attestation runs after merge when the Pages deployment is available.

@masarray
masarray marked this pull request as ready for review July 20, 2026 20:18
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@masarray
masarray merged commit bf72ca4 into main Jul 20, 2026
7 checks passed
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