Opened 3 years ago

Closed 2 years ago

Last modified 23 months ago

#2048 closed New feature (fixed)

Enable DoNotTrack support by default - ignore visits with DNT or X-Do-Not-Track header

Reported by: vipsoft Owned by:
Priority: major Milestone: Piwik 1.8
Component: Plugins Wishlist Keywords:
Cc: Sensitive: no

Description (last modified by vipsoft)

This plugin provides Piwik support for the DNT and X-Do-Not-Track headers, supported by FF4 and IE9.

Reference:

  • donottrack.us
  • bugzilla.mozilla.org/show_bug.cgi?id=628197

To install:

  • download and unzip in your plugins folder
  • login to your dashboard, go to Settings | Plugins, and activate this plugin
  • in your config.ini.php file add:
    [Tracker]
    do_not_track = 1
    

History:

  • 0.1 - initial version detects X-Do-Not-Track header
  • 0.2 - also detects DNT header
  • 0.3 - deletes any pre-existing tracking cookie if visit is ignored

Caveats:

Attachments (1)

DoNotTrack.zip (1.1 KB) - added by vipsoft 3 years ago.
v0.3 of DoNotTrack plugin

Download all attachments as: .zip

Change History (27)

comment:1 Changed 3 years ago by vipsoft (robocoder)

  • Description modified (diff)

comment:2 Changed 3 years ago by vipsoft (robocoder)

  • Description modified (diff)

Changed 3 years ago by vipsoft (robocoder)

v0.3 of DoNotTrack plugin

comment:3 Changed 3 years ago by vipsoft (robocoder)

  • Description modified (diff)
  • Summary changed from DoNotTrack plugin - ignore visits with X-Do-Not-Track header to DoNotTrack plugin - ignore visits with DNT or X-Do-Not-Track header

comment:4 Changed 3 years ago by cl

Hi, I'm curious if there are plans for putting this in the default piwik install? I'd like to turn it on for my site, but if it's coming in the main package soon, I'd rather wait for that.

Any advice?

comment:5 Changed 3 years ago by vipsoft (robocoder)

Probably not going to be in 1.2. There are other privacy-related changes being discussed (eg #2094).

comment:6 Changed 3 years ago by vipsoft (robocoder)

  • Description modified (diff)

comment:7 Changed 3 years ago by matt (mattab)

Agreed with cl feedback, we could put this feature in the General Settings screen as a simple checkbox "Enable support for Do Not Track: if your visitors configure their browser and enable Do Not Track, Piwik will not track them as per their request"

If DonotTrack keeps increasing its support, should we integrate this capability in Core in the existing Privacy menu in Piwik?

comment:8 Changed 2 years ago by matt (mattab)

There is some good progress on do not track, which is supported in IE and FF and opera, and will soon be supported in Chrome!

I think we should consider moving this plugin into core, enabled by default, that users could disable from the Privacy tab if they wish to.

I would be keen to do this before 2.0.

Users who are not happy could disable it. But, in general, it would make the world a better place :)

comment:9 Changed 2 years ago by vipsoft (robocoder)

OK with moving to core but I would prefer disabled by default -- the reason being, a new user who has forgotten they have dnt enabled in their browser will report 0 visits.

comment:10 Changed 2 years ago by dtauerbach

This is Dan from EFF -- we've been starting to use Piwik and experimenting with privacy settings.

  1. According to the latest working draft of DNT: http://www.w3.org/TR/2012/WD-tracking-dnt-20120313/, there should be a server response too, which seems to be missing here.
  1. I think it should be enabled by default -- the whole point is to respect user preferences with respect to tracking. However, instead of ignoring the request altogether, I think logging the existence of a request would be OK, so long as no information whatsoever is retained about the request.

comment:11 Changed 2 years ago by vipsoft (robocoder)

Thanks, Dan.

According to the TPE working draft, the Tk response header is optional. It's the TSR at /.well_known/dnt that's mandatory which may be a compliance issue given that piwik is often installed in a subdirectory of a website.

Opera 12 and Safari follow the draft for the JavaScript API. IE uses a vendor prefix. Firefox diverges to use "yes", "no", and unspecified (even though they proposed DNT).

https://developer.mozilla.org/en/DOM/navigator.doNotTrack

comment:12 Changed 2 years ago by matt (mattab)

  1. I think it should be enabled by default -- the whole point is to respect user preferences with respect to tracking.

We can consider enabling it by default. It has been suggested before and sounds like the right thing to do. we would have to move it to the Privacy plugin for consistency and add the UI in the existing Privacy tab.

However, instead of ignoring the request altogether, I think logging the existence of a request would be OK, so long as no information whatsoever is retained about the request.

What are your thoughts regarding "logging the request" with no information whatsoever? What information could be logged at all? For reference the logging tables are piwik_log_* for example http://qa.piwik.org:8080/schema/tables/canoo_log_visit.html

comment:13 Changed 2 years ago by vipsoft (robocoder)

(In [6201]) refs #2048 - add DoNotTrack plugin v0.3

comment:14 Changed 2 years ago by vipsoft (robocoder)

(In [6202]) refs #2048 - update DoNotTrack plugin to conform to core plugin style; update DNT detection to only look at the 1st character per TPE working draft; enable by default in config

comment:15 Changed 2 years ago by matt (mattab)

Thanks vipsoft! Good to see this feature included in core now :)

Review:

  • Because the feature is enabled by default, it is important to let users disable the feature...
  • For code simplicity the code should be moved to the Privacy plugin
  • Then it would be easy to add a new setting option in the Settings>Privacy tab, to allow disable the DNT feature

comment:16 Changed 2 years ago by vipsoft (robocoder)

(In [6203]) refs #2048 - fix build (missing svn props)

comment:17 Changed 2 years ago by vipsoft (robocoder)

(In [6204]) refs #2048 - remove config setting; enabling/disabling DNT corresponds to activating/deactivating the plugin

comment:18 Changed 2 years ago by vipsoft (robocoder)

  • Milestone changed from Third Party Piwik Plugins to 1.7.x - Piwik 1.7.2
  • Resolution set to fixed
  • Status changed from new to closed

I think the current PrivacyManager plugin breaks the convention of a plugin doing one thing, and doing it well.

I'm going to close for now, and open a new ticket for the Settings UX.

comment:19 Changed 2 years ago by matt (mattab)

  • Milestone changed from 1.7.x - Piwik 1.7.x to 1.7.2 - Piwik 1.7.2
  • Resolution fixed deleted
  • Status changed from closed to reopened

Todo:

  • Add link in privacy page to link to disable the plugin seamlessly for users.

comment:20 follow-up: Changed 2 years ago by vipsoft (robocoder)

(In [6259]) refs #2048 - add TPE draft Tk header

comment:21 in reply to: ↑ 20 Changed 2 years ago by eventbu

comment:22 Changed 2 years ago by matt (mattab)

  • Resolution set to fixed
  • Status changed from reopened to closed

(In [6376]) Fixes #2048 Added Do Not Track preference under Privacy screen. Now will update doc and FAQs!

comment:23 Changed 2 years ago by vipsoft (robocoder)

Don't we want to avoid including token auth in urls?

comment:24 Changed 2 years ago by matt (mattab)

it's OK as long as the token_auth does not persist in the URL beyond the click itself

comment:25 Changed 2 years ago by matt (mattab)

I notice on my box that disabling/enabling the DoNotTrack plugin does not add it to the PluginsTracker section in config file! Not sure why... I think it used to work too, maybe a temp bug

comment:26 Changed 23 months ago by matt (mattab)

  • Priority changed from normal to major
  • Summary changed from DoNotTrack plugin - ignore visits with DNT or X-Do-Not-Track header to Enable DoNotTrack support by default - ignore visits with DNT or X-Do-Not-Track header
Note: See TracTickets for help on using tickets.