Build Log

Privacy Copy Must Match the JavaScript

A privacy page is a technical description of data flow. It becomes misleading the moment it describes an architecture the JavaScript does not actually implement.

Local calculation, limited network activity

Leave plans are calculated in the browser from static JavaScript and JSON. The site does not require an account or upload a selected leave balance to an application server. That local-first design is an important privacy property, but it does not mean the page makes no external requests at all.

Google Analytics is present and is named in the public policy. The wording was corrected so the site no longer overclaimed complete isolation. Trust improved by narrowing the promise to what the implementation could support.

Shared plans need special care

A share link can include state, leave days, strategy, and school-holiday preference in its query string. Those parameters are useful for reproducing a plan, but they need not become part of the analytics page location. The configuration records window.location.origin + window.location.pathname, deliberately excluding the query string.

This does not turn the URL into a secret; anyone holding the link can read it. It does reduce unnecessary collection of planning parameters in routine page-view records. The Privacy Policy explains the boundary in reader-facing language.

What became standard

Describe actual components, actual requests, and actual limits. Privacy claims are verified against JavaScript, not copied from a generic policy. Query-bearing tool state receives explicit treatment in both analytics and canonical URL design.

The relevant public surfaces are the calculator, the privacy explainer, and the formal policy.

All Build Log entries →