I run several self-hosted services, and I increasingly think telemetry should be disabled by default and controlled through an explicit, auditable configuration file—not a vague toggle buried in a web dashboard. Self-hosting should mean the operator can inspect, limit, and revoke every outbound connection.
Take Nextcloud’s update checker: it is enabled by default and sends version, PHP version, installation timing, and release-channel information to an updater server. That may be reasonable diagnostics, but it is still an automatic data flow. Local logs and metrics feel fundamentally different from remote reporting.
What counts as “essential” diagnostics? Should crash reports require consent separately for every instance? Maintainers genuinely need compatibility and failure data, but projects could also use sponsorships, enterprise support, contracts, or paid services rather than quietly exporting usage data. Am I being too strict? Share tools, counterexamples, or a better default.