chore(hardening): make telemetry opt-in and give the tips fetch a kill switch - #8
Merged
Conversation
…l switch Telemetry ran unless the config explicitly said telemetry = false, which also meant a config that failed to parse was treated as consent. Enable it only when the config opts in, so an install that never made a choice, or whose config could not be read, reports nothing. KIMI_DISABLE_TELEMETRY still works as a hard override. Add KIMI_CODE_NO_TIPS for the startup tips fetch. It was the only launch network call with no way to turn it off, so an install otherwise configured for no outbound traffic still beaconed on every run. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
telemetry = false. An install that never made a choice reported by default, and — because the check was!== false— a config that could not be parsed was also treated as consent.KIMI_CODE_NO_AUTO_UPDATE,KIMI_DISABLE_TELEMETRY, providingrg/fdlocally). The tips banner had none, so an install configured for no outbound traffic still beaconed on every run.What changed
telemetry = true). An unreadable config is treated as no consent rather than consent.KIMI_DISABLE_TELEMETRYis unchanged and still overrides everything.KIMI_CODE_NO_TIPS=1skips the tips fetch before any network call is made, using the same truthy values as the other switches.Note this is a fork-local default change: upstream's opt-out choice is theirs to make, and it is easy to see why a product wants it. For a fork run inside one organization, reporting by default is the wrong way round.
Testing
fetchasserted never called) when the switch is set.oxlintclean on changed files (one pre-existing warning elsewhere in the file, confirmed onmain);tsc --noEmitclean.Checklist
minor).