Make it more obvious how to disable analytics

On https://dart.dev/get-dart, I read:

Dart tools may send usage metrics and crash reports to Google. By downloading the Dart SDK, you agree to the Google Terms of Service. Note: The Google Privacy Policy describes how data is handled in this service.

I would like to know how to stop the Dart tools from collecting usage metrics and crash reports altogether.

After searching through the code base, I found pkg/telemetry/lib/telemetry.dart, which mentions a file ~/.dart/analytics.json, but it does not mention what to put there to disable collection of analytics (I have a hunch it’s {"enabled": false}, but I’m not sure). A flag it mentions in passing, --no-analytics, doesn’t seem to do anything (other than printing the help text).

A tool that gets this right, IMO, is the dotnet CLI. Out of the box, it collects metadata, but what data it collects is documented, and so is the opt-out process.

I guess my problem with how the Dart SDK handles this is twofold:

  1. It is not obvious what is being collected, and I wished you went with a shorter, more focused privacy policy, such as https://developers.google.com/speed/public-dns/privacy
  2. It is not obvious how to stop this data from being collected

Could you make it more obvious how to disable analytics? Thank you for your help.

Author: Fantashit

4 thoughts on “Make it more obvious how to disable analytics

  1. Taking a closer look, it would appear that setting the enabled key for analytics to false in the preferences file would do the trick. However, it’s questionable that we had to pick apart the source to get to this conclusion. This is something that should default to disabled or have a yes/no prompt for on first run, and the documentation should be clear on how to turn analytics on and off.

    If any maintainers could point me in the right direction, I’d be happy to update the documentation, but I would like to note again that it’s concerning that this isn’t already done and in the first place, and that official maintainers and the main company that supports Dart don’t see this as a priority item.

  2. Hi, thanks for the feedback. I’m doing some more digging, not ignoring this. My current indications are that we currently send no analytics from the Dart SDK, and that these code paths are only activated when the Dart SDK is embodied inside the Flutter SDK (which does have analytics prompts on first-run and settings). I’m working to confirm this.

  3. The documentation at https://dart.dev/get-dart needs to get updated then because it definitely says that Dart may send analytics and doesn’t document any way to turn them off.

    If you do add analytics sending outside of Flutter, I hope you’ll make sure it’s easy to turn off same as Flutter appears to be. Otherwise Game Over in terms of using Dart for me or my clients.

    Cheers.

    Screen Shot 2020-05-07 at 12 51 47 PM

  4. We’re working on a new dart developer tool (similar to the flutter tool), which will collect some usage and crash metrics. Once we complete that we plan on 1) updating the page in the screenshot to provide clarity on what is collected, and 2) providing an easy analytics opt-out (just like the flutter tool).

    That is not enough. According to the GDPR and a recent German court decision, analytics are defined as non-necessary services and require explicit, voluntary consent before you can send any data. Opt-out after the fact is illegal in the EU/EEC.

    Also, posting code on GitHub as open source but requiring users to sacrifice their privacy and submit to the Google Service TOS before downloading is exactly the reason why Free (Libre) Software was invented in the first place.

Comments are closed.