Ticket #5066 (closed enhancement: worksforme)

Opened 1 year ago

Last modified 6 months ago

Anonymize update checking

Reported by: zamoose Assigned to: anonymous
Priority: normal Milestone:
Component: Administration Version: 2.3
Severity: normal Keywords: has-patch 2nd-opinion privacy
Cc:

Description

As per this thread, we ought to allow for user opt-out of sending their blog_url and plugin info unencrypted, over the wire, unbidden, at least without a stated Usage Policy, notification and EULA in place.

Attachments

updateoption.diff (2.7 kB) - added by intoxination on 09/24/07 21:36:06.
updateoption-2.diff (2.7 kB) - added by intoxination on 09/24/07 21:39:35.

Change History

09/24/07 19:45:06 changed by johnbillion

I know it's stupidly close to the line, but I think it would be a good move to delay 2.3 and get this into 2.3. Putting it in 2.4 or even 2.3.1 will be too late for the tinfoil hat brigade.

Note that I couldn't give a shit. I'm thinking of the PR here.

09/24/07 19:59:24 changed by johnbillion

Actually scrap that last comment.

A good move would be to delay 2.3 by a day or two in order to prepare a bullet-proof press release explaining in detail what the update notification system is, how it works, and what information will be sent by it (for both the core updates and plugin updates). The aim of it being to reassure people that this is a good thing™. Because it is.

09/24/07 21:36:06 changed by intoxination

  • attachment updateoption.diff added.

09/24/07 21:39:23 changed by intoxination

Attached a quick patch. Basically if the option 'update_plugins' is not set then no checks will be done. The nag screen at the top asks the user to select if they want to opt in or out, with a link to the privacy screen. Once they select either yes or no, the nag screen goes away.

I would like to have some other eyes check over the wording real quick.

09/24/07 21:39:35 changed by intoxination

  • attachment updateoption-2.diff added.

09/24/07 21:40:07 changed by intoxination

  • keywords set to has-patch.

OOPS - I attached the wrong patch (guess I should clean the desktop). -2 is better.

09/24/07 22:22:40 changed by intoxination

  • milestone changed from 2.4 to 2.3.

Changing to 2.3 in hopes of getting this in.

09/24/07 22:59:09 changed by Viper007Bond

  • keywords changed from has-patch to has-patch 2nd-opinion.
  • version set to 2.3.
  • type changed from defect to enhancement.

-1

Checking for core updates (and possibly plugins) shouldn't be able to be disabled without a plugin. It's just too important.

+1 for an option to adjust sending statistics data (blog URL, etc.).

09/25/07 01:31:03 changed by zamoose

There needs to be notification/disclosure of the information being sent, though, which was the initial thrust of my ticket.

(follow-up: ↓ 9 ) 09/26/07 13:44:45 changed by chmac

I support adding 3 options: * Option name "Updates" * Option choice 1: "WordPress should check for updates automatically and send my blog url." * Option choice 2: "WordPress should check for updates automatically but *not* send my blog url." * Option choice 3: "WordPress should not check for updates." * Then the text: "For more on how this information is used, see the Privacy Policy" - link to the policy online.

If there's good support on wp-hackers I'll write a patch.

(in reply to: ↑ 8 ; follow-up: ↓ 12 ) 09/26/07 15:50:32 changed by docwhat

Replying to chmac:

May I suggest that you create two radio buttons?

  • "WordPress should check for updates automatically"
  • "WordPress should not check for updates"

And

  • "WordPress should advertise itself via User-Agent"
  • "WordPress should not advertise itself"

This is because there are lots of User-Agent strings with data that some blog owners don't want transmitted. See bug #5065

Even better would be if there was an option to take "WordPress/$wp_version" out of everything.

If you do the options part, I'd be willing to go around and locate all the places that WordPress leaks it's name and version number and change them depending on the option.

Ciao!

09/26/07 16:30:35 changed by arnee

+1 for just one single checkbox:

[X] Check for updates of WordPress and Plugins <a href="#">Privacy Policy</a>

All other things should be adjusted via plugins.

09/26/07 18:17:15 changed by docwhat

I have added a patch to bug #5065 and added a new bug #5085 for the various generator strings.

The patch in bug #5065 would allow exactly as arnee suggests: turning off the user-agent via a plugin.

Bug #5085 is a little more complicated to make it plugin-patchable.

Ciao!

(in reply to: ↑ 9 ; follow-up: ↓ 14 ) 09/26/07 19:16:12 changed by johnbillion

I'm on the fence about an option to disable update checking, but I don't think it's really necessary. Those who want to disable it can install a relevant plugin - that's what the plugin system is there for, to enable control of options and functionality that a smaller subset of people who use WordPress might want.

To quote Westi:

One of the core design ideas for WordPress is that we don't introduce options lightly. The moment you think of making a feature optional you challenge the argument for introducing the feature in the beginning.

This is exactly why WordPress has a very extensive plugin API. Write a plugin so people can change their user-agent and be done with it.

09/26/07 21:33:03 changed by zamoose

There needs to be a way to allow those who are concerned about this issue to ensure that nothing gets sent the first time they load up the WP admin and plugin admin pages. If you have to go to the plugin page (at which point, if my understanding is correct, it will fire off an update attempt) in order to activate the plugin, you've already sent the information at least once. This, to be quite frank, is unacceptable and will preclude users concerned about this issue from using WordPress.

There needs to be an opt-in solution from the beginning, IMNSHO.

(in reply to: ↑ 12 ) 09/26/07 21:42:13 changed by arnee

Replying to johnbillion:

I'm on the fence about an option to disable update checking, but I don't think it's really necessary. Those who want to disable it can install a relevant plugin - that's what the plugin system is there for, to enable control of options and functionality that a smaller subset of people who use WordPress might want.

You are right, but I don't think that every future release will state in the announcement that WP will look for updates and "phone home". An option to enable or disable the functionality with a link to an explanation or the privacy policy would avoid the "Whaaat? WP phones home? Why didn't I know???" effect because I think that most of the users click through the options pages first. Or include this checkbox in the installation where the other privacy options are set too.

Of course every user may disable the update-check via plugin, but why should users install or look for a plugin if they don't know that this update-feature actually exists?

One checkbox, "enable update-check", at the privacy options and the installation page won't hurt, or?

09/27/07 10:08:36 changed by f00f

I noticed that there is negative response to that feature mainly for one reasons: You have missed communicating it. If you transmit data, make the users aware of it, tell them what the data is used for and give them a choice. I am perfectly ok with sending a list of all my plugins to wp.org, but I do not want to expose which of them are active. And, as a side note, is it really neccessary to transmit the description of every plugin? Just thinking about performance here.

Solving this via a plugin is a good idea, but not that easy as a) you have to go to plugins page to activate it, thus the update-check will be done once and b) plugins have little access to what's going on in wp_update_plugins().

Furthermore I like the idea of having a function wp_user_agent() that provides Wordpress/$wp_version but can be overridden by a plugin. And for the really paranoid I could imagine an option to remove/obfuscate the blog url in http requests.

My plugin (http://wordpress.org/extend/plugins/anonymous-wordpress-plugin-updates/) replaces wp_update_plugins with a version that does not transmit plugin-desc etc. and the list of active plugins. It also replaces WP version and blog url. I also offer making a patch out of if, but I'd rather wait and see how the discussion goes on.

09/27/07 10:14:37 changed by f00f

  • keywords changed from has-patch 2nd-opinion to has-patch 2nd-opinion privacy.

Just found #5065 which addresses the user agent part.

09/27/07 13:37:30 changed by docwhat

How about instead of enabling/disabling the auto-update-notification feature, we enable/disable the sending of the information that bugs people?

E.g.:

When receiving and sending services 
(RSS, API, ATOM, etc.) WordPress should:
 [x] Identify as WordPress/2.3 and the blog
     URL when appropriate
 [ ] Be anonymous

Selecting "Be anonymous" would replace the user-agent string with something generic (bug #5065) and remove the generator strings (bug #5085).

Ciao!

(follow-up: ↓ 19 ) 09/27/07 14:25:22 changed by johnbillion

I'm getting bored of this now, but let me just say this:

Selecting "Be anonymous" would replace the user-agent string with something generic (bug #5065) and remove the generator strings (bug #5085).

Having this option will mislead users into thinking that by using it, their requests to the update server will be anonymous, when in fact they are not and cannot be.

(in reply to: ↑ 18 ) 09/27/07 20:33:55 changed by docwhat

Replying to johnbillion:

I'm getting bored of this now, but let me just say this:

Selecting "Be anonymous" would replace the user-agent string with something generic (bug #5065) and remove the generator strings (bug #5085).

Having this option will mislead users into thinking that by using it, their requests to the update server will be anonymous, when in fact they are not and cannot be.

Well, the verbage is easily changed. But I meant the concept more than the verbage.

Instead of "Be anonymous" how about "Don't identify" or something like that. Less stigma associated and makes the choice that the developers dislike a negative choice (and therefore influences the user to not choose it).

03/19/08 22:43:39 changed by ffemtcj

  • milestone changed from 2.5 to 2.6.

03/19/08 22:56:20 changed by matt

  • status changed from new to closed.
  • resolution set to worksforme.
  • summary changed from Make update checking more consumer-friendly to Anonymize update checking.

We promoted a plugin about this in the release announcement for 2.3, but it has had very little adoption:

http://wordpress.org/extend/plugins/disable-wordpress-plugin-updates/stats/

Rather than bumping the milestone, let's just close it until there are compelling new arguments.

03/20/08 02:38:44 changed by lloydbudd

  • milestone deleted.