Skip to content

Enable telemetry in shipped wheel and reword consent as "unlinked pseudonymized"#810

Merged
timenick merged 4 commits into
mainfrom
zhiwang/enable-telemetry-pseudonymized-consent
Jun 4, 2026
Merged

Enable telemetry in shipped wheel and reword consent as "unlinked pseudonymized"#810
timenick merged 4 commits into
mainfrom
zhiwang/enable-telemetry-pseudonymized-consent

Conversation

@timenick
Copy link
Copy Markdown
Collaborator

@timenick timenick commented Jun 4, 2026

Summary

  • Re-enable telemetry in the shipped wheel. Restore the InstrumentationKey injection + post-build verify steps in modelkit-official-build.yml (reverting the pipeline portion of ci: disable telemetry in shipped artifacts #728). The PyPI sdist still ships the empty placeholder; only the wheel carries the injected key, gated on the INSTRUMENTATION_KEY build secret defined in the ADO pipeline.
  • Reword the consent notice from "anonymous" to "unlinked pseudonymized" in the first-run prompt (consent.py) and docs/Privacy.md. This is the more accurate classification — the persisted per-machine device-id hash is pseudonymized, not anonymous.
  • Bump _CONSENT_VERSION 1 → 2 so already-consented users see and re-accept the updated notice.

Notes

  • Source constants.py keeps the empty iKey placeholder, so dev/source installs (pip install -e .) still never emit.
  • Telemetry remains off in CI and non-TTY contexts regardless of stored consent.
  • ⚠️ Ops dependency: the injection step reads the INSTRUMENTATION_KEY ADO pipeline secret. ci: disable telemetry in shipped artifacts #728 removed only the consuming steps, so the secret should still exist — please confirm it's present/valid before the next official build, or the build fails closed with INSTRUMENTATION_KEY env var is empty or missing.

Verified: telemetry unit + integration suites pass (185 + 4); pipeline block confirmed byte-identical to the proven pre-#728 version.

timenick added 2 commits June 4, 2026 10:35
Re-enable telemetry in the shipped wheel by restoring the iKey-injection and post-build verify steps removed in #728. The sdist still ships the empty placeholder; only the wheel carries the injected key, gated on the INSTRUMENTATION_KEY build secret defined in the ADO pipeline.
Replace "anonymous" with "unlinked pseudonymized" in the first-run consent prompt and Privacy.md to accurately classify the collected data (a persisted per-machine device-id hash is pseudonymized, not anonymous). Bump _CONSENT_VERSION 1 -> 2 so already-consented users see and re-accept the updated notice.
@timenick timenick requested a review from a team as a code owner June 4, 2026 02:37
timenick added 2 commits June 4, 2026 10:45
Document the now-enabled telemetry in the README: what's collected at a glance, first-run consent, opt-out via %USERPROFILE%\.winml\config.json, CI/non-TTY auto-disable, and a pointer to docs/Privacy.md. Uses the 'unlinked pseudonymized' classification.
Drop the CI/non-TTY auto-disable note and the dev-installs note from the README Data / Telemetry section; both details remain documented in docs/Privacy.md.
Comment thread README.md
@timenick timenick merged commit 6b69ff0 into main Jun 4, 2026
9 checks passed
@timenick timenick deleted the zhiwang/enable-telemetry-pseudonymized-consent branch June 4, 2026 04:05
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