NomicFoundation / hardhat

Hardhat is a development environment to compile, deploy, test, and debug your Ethereum software.
https://hardhat.org
Other
7.33k stars 1.42k forks source link

Add docs explaining how to opt-out from data collection #761

Open xuhcc opened 4 years ago

xuhcc commented 4 years ago

There should be a way to disable analytics, but I can't find it in the documentation. I guess users have to add analytics: {enabled: false}} to their buidler config?


Though I'd recommend DNS blocking as a more robust solution. The server to which data is being sent is o385026.ingest.sentry.io (source: https://github.com/nomiclabs/buidler/blob/buidler-core-v1.4.4/packages/buidler-core/src/internal/sentry/reporter.ts#L13)

alcuadrado commented 4 years ago

That's right @xuhcc, {analytics: {enabled:false}} disables it. We'll make it clear in the documentation.

We'll also make clear what we are sending to the servers. That is:

Let us know If you have further questions.

xuhcc commented 4 years ago

A google analytics hit that includes your os, node version, builder version, and the task you are running (custom task names are all replaced with something like "custom-task").

Oh, so there's another tracker?

Worth noting that IP address of a user also becomes known to data collecting services.


For others who are reading this thread: data is being sent to www.google-analytics.com (source: https://github.com/nomiclabs/buidler/blob/buidler-core-v1.4.4/packages/buidler-core/src/internal/cli/analytics.ts#L40)

alcuadrado commented 4 years ago

Oh, so there's another tracker?

Sentry for errors, google analytics for users. Both can be disabled with the same setting.

Worth noting that IP address of a user also becomes known to data collecting services.

That's a good point. We'll also document that!

xuhcc commented 4 years ago

{analytics: {enabled:false}} disables it. We'll make it clear in the documentation. We'll also make clear what we are sending to the servers. That is:

Hardhat now asks user for consent, that's a good move. But it seems that documentation has not been updated.

alcuadrado commented 4 years ago

That setting doesn't exist anymore in the project config. It's now a global per-user setting that defaults to false.

xuhcc commented 4 years ago

I know, but you also expressed intent to document what data is being collected. It is not particularly important though because the analytics are opt-in now, so feel free to close this issue.

alcuadrado commented 4 years ago

Oh, sorry. I thought you were referring to the first part of the comment. We'll make that clear in the docs.

CodeSandwich commented 3 years ago

That setting doesn't exist anymore in the project config. It's now a global per-user setting that defaults to false.

~What's the global per-user settings and how can I configure it?~ It's the telemetry-consent.json file hidden deep in local configuration.

I've looked into the code and the telemetry is offered to the user only when:

When the telemetry isn't offered, it's disabled by default.

nevrending commented 2 years ago

It's the telemetry-consent.json file hidden deep in local configuration.

In case anyone is looking for it, on macOS it's located in ~/Library/Preferences/hardhat-nodejs/telemetry-consent.json

OhadBaehr commented 2 years ago

How do you disable global telemetry?

alcuadrado commented 2 years ago

Run npx hardhat --verbose, and you are gonna see a log like this

  hardhat:core:global-dir Looking up Client Id at /Users/pato/Library/Application Support/hardhat-nodejs/analytics.json +0ms

Delete that folder.