Moo-Ack-Productions / MCprep

Blender python addon to increase workflow for creating minecraft renders and animations
https://theduckcow.com/MCprep
GNU General Public License v3.0
285 stars 24 forks source link

Make the Privacy Policy more obvious to the end user #361

Open StandingPadAnimations opened 1 year ago

StandingPadAnimations commented 1 year ago

Basically what the title says, I think we need to make the privacy policy more obvious to the end user. There are a multitude of ways we could do it, including

As someone who's keen on privacy and transparency, I think it's important that we try to make users more aware of MCprep's anonymous data collection

TheDuckCow commented 1 year ago

I support this, and you're right that we should be doing it more up front.

Steps to make I'd say:

StandingPadAnimations commented 1 year ago

Not sure about the popup when it changes, what do you have in mind?

If the privacy policy ever changes, there could be a popup in MCprep (similar to the one created by the updater) telling users to read the new policy

On data removal, users can ask to have their data removed only if they can email their MCprep addon folder's mcprep_addon_tracker.json file to support [at] theduckcow.com with the subject line "Please delete my data"

I'm curious if it will be possible to have an operator in MCprep that "automates" this, as in opening the email client, setting the subject and recipient, and then attaches the file, so that requesting deletion of data is just a one button to press

A more aggressive but acceptable approach would be to not draw any UI and just put the checkbox with a word-wrapping description, and a "confirm" button underneath, with extra whitespace above and below.

I think that's a pretty good compromise. If possible, I think also adding a way to opt-out would also be a good idea. Personally, I would prefer an opt-in system and then have a UI that may look something along the lines of:

If you so wish, MCprep can send anonymous data to be used to help further improve MCprep. MCprep 
shall only send the following
* MCprep version
* Blender version
* OS
* Unexpected errors (with an option to send a description of what you were doing)
* Whatever other information is sent, though from what I can tell from the analytics panel that's all MCprep sents

This is not structly required for MCprep to function, although it does help with development.
[ ] - I give MCprep permission to send anonymous data to help improve the addon

[Confirm or "I do not wish to give MCprep anonymous data" depending on what the user selected]

The main concern I have of course is that by making this more obvious, there's room for misunderstanding on how data collection works

StandingPadAnimations commented 1 year ago

Adding this to the list of 3.5.1 priorities (high priority as it deals with user privacy).

Thinking about this further, would it be possible to add a "delete my data" operator in MCprep itself? After all, MCprep has access to the JSON file (unless there's some issues related to Google Analytics permissions that prevent us from deleting data from MCprep's side).

StandingPadAnimations commented 1 year ago

Looking into it, it also seems like that MCprep enables tracking by default, despite tracking.py saying it's opt-in. From what I can tell, it seems to be due to how Blender selects the default option for enums (“Enable Tracking” is the first item in the enum and as such will be the default), but we really need to fix this soon.