mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 10:35:51 +00:00
da3ce9142c
The setup wizard's telemetry card only ever offered a way out: it led with "enabled by default", gave no reason the data exists, and told the reader to set PULSE_TELEMETRY=false before starting a process that had already sent its first ping two minutes after boot. The payload-update banner paired "we now collect more" with a one-click Disable button, was keyed to schema v2 from July and never re-triggered across fifteen later bumps, and its text was rewritten in August so anyone who had dismissed it never saw the new wording. Nothing on either surface said what the data is for. No GitHub issue or discussion has ever complained about the default-on posture, so the defensive framing was answering a question nobody asked while quietly nudging people to opt out. Setup now says what the daily summary is for, names concrete exclusions (hostnames, credentials, IP addresses), and puts a real Usage statistics toggle on the admin-account step. The toggle defaults to on and, when switched off, is applied through the canonical system-settings endpoint once the admin token exists, so there is no setup-only side channel and the account is created either way. The env-var instruction moves to PRIVACY.md where a reader can still act on it, alongside a note that the first ping fires about two minutes after start. The payload-update banner is retired along with its telemetryAction deep link that changed the preference on arrival. Payload changes are now disclosed in a dated changelog in PRIVACY.md (back-filled from schema v2 to v17 from the telemetry package's own version notes) and in release notes; an in-app notice is reserved for a change in kind. Settings leads with what the data is for and makes Preview payload the primary action, because the exact runtime payload is the disclosure an operator can verify. The security-privacy, deployment-installability, and frontend-primitives contracts record the new rules, and a telemetry proof test pins the setup choice and the changelog row for the current schema so a future bump cannot land undisclosed. Demand ledger: repos/pulse-pro FEATURE_REQUESTS.md "Telemetry consent as a real setup choice" (named bet, pulse-pro PR #40).