-
Notifications
You must be signed in to change notification settings - Fork 187
fix: Compliant telemetry #21217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
fix: Compliant telemetry #21217
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
vaadin-dev-server/src/main/java/com/vaadin/base/devserver/stats/DevModeUsageStatistics.java
Outdated
Show resolved
Hide resolved
The telemetry collected does not include any Personal Data and thus the GDPR does not apply. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intent here is driven by GDPR compliance. The telemetry collected does not include any Personal Data and thus GDPR does not apply for anonymous users.
Users who have a license key have explicitly approved usage terms and Personal Data usage terms there.
Requesting to drop additional log info here, but supporting addig a global telemetry opt-out environment variable.
I agree that the Vaadin statistics collector is not a case for GDPR. It doesn't add any extra to what license checking process already uses to discriminate a user (machine id, user keys), but only the Vaadin versions, exact feature names, OS and JVM information. Having the env variable for disable it makes sense to me, however I'd keep one single name for it (or at least similar), i.e. reuse existing Having one time logging looks acceptable to me with the current mild wording. We have a short mention in the online docs about the existing property, would be good, as a pre-requisite for this, to add a dedicated short section in "development" article about statistics. Finally, keep in mind that there is more stats collection in the browser controlled by https://github.com/vaadin/vaadin-usage-statistics, it needs a separate opt-out. |
Sorry for the late response, the last months were quite busy.
This is not limited to only GDPR.
Although I'm not 100% sure about the legal aspects here, note that nearly every other major company or product that is collecting telemetry data - even without "personal data" - performs a disclosure on the first run. Examples:
If you still want to remove the first-run telemetry disclosure feel free to do this on the branch, I granted maintainers write access.
You can also change that if you want however I would prefer a simple environment variable that is not that long and won't change because someone e.g. renames devmode in the future.
+1 |
Hi @AB-xdev , thanks for your patience and sorry for a long response: we eventually passed through the vacation season and completed 24.9 preparations. I raised a thread internally about this topic and seems like, taking your and your customers motivations, we can apply this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added few tests, renamed the variable and placed the link that is expected after vaadin/docs#4565.
Now I need someone else to make a review as I pushed some changes by my-self :)
|
Format Checker Report
Here is the list of files with format issues in your PR:
|
Description
PoC showcasing how a better way of handling telemetry can be provided.
VAADIN_TELEMETRY_OPT_OUT
environment variableOverall the whole thing is quite similar to how Dotnet handles telemetry.
Please note that there is currently a placeholder for a site with more details about telemetry in place, as this can't be provided by the PR.
Type of change
Checklist
- I can't verify that because I don't have all tools required for running tests locally installed and they are not in place in the repo.