Network Working Group                                           J. Mayer
Internet-Draft                                              A. Narayanan
Intended status: Standards Track                     Stanford University
Expires: September 8, 2011                                      S. Stamm
                                                                 Mozilla
                                                           March 7, 2011


       Do Not Track: A Universal Third-Party Web Tracking Opt Out
                      draft-mayer-do-not-track-00

Abstract

   This document defines the syntax and semantics of Do Not Track, an
   HTTP header-based mechanism that enables users to express preferences
   about third-party web tracking.  It also provides a standard for how
   web services should comply with such user preferences.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 8, 2011.

Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as



Mayer, et al.           Expires September 8, 2011               [Page 1]


Internet-Draft                Do Not Track                    March 2011


   described in the Simplified BSD License.


Table of Contents

   1.  Recognition  . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Contributors . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2.  Acknowledgements . . . . . . . . . . . . . . . . . . . . .  3
   2.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   4.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     4.1.  Example  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   5.  Header Syntax  . . . . . . . . . . . . . . . . . . . . . . . .  5
   6.  User Agent Requirements  . . . . . . . . . . . . . . . . . . .  5
     6.1.  OPTIONAL Support . . . . . . . . . . . . . . . . . . . . .  5
     6.2.  User Interface RECOMMENDED . . . . . . . . . . . . . . . .  6
     6.3.  Default  . . . . . . . . . . . . . . . . . . . . . . . . .  6
   7.  Intermediary Requirements  . . . . . . . . . . . . . . . . . .  6
   8.  Server Requirements  . . . . . . . . . . . . . . . . . . . . .  6
     8.1.  Opt Out  . . . . . . . . . . . . . . . . . . . . . . . . .  6
     8.2.  Opt In . . . . . . . . . . . . . . . . . . . . . . . . . .  6
     8.3.  Header Not Present . . . . . . . . . . . . . . . . . . . .  6
     8.4.  Response Header RECOMMENDED  . . . . . . . . . . . . . . .  6
   9.  Server Policy  . . . . . . . . . . . . . . . . . . . . . . . .  7
     9.1.  Definitions of "First Party" and "Third Party" . . . . . .  7
     9.2.  Definition of "Tracking" . . . . . . . . . . . . . . . . .  8
     9.3.  Exceptions . . . . . . . . . . . . . . . . . . . . . . . .  8
   10. Implementation Considerations  . . . . . . . . . . . . . . . .  8
     10.1. Selective Opt Out and Opt In RECOMMENDED . . . . . . . . .  8
     10.2. Verification . . . . . . . . . . . . . . . . . . . . . . .  9
   11. Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   12. Privacy Considerations . . . . . . . . . . . . . . . . . . . .  9
   13. IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  9
   14. References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     14.1. Normative References . . . . . . . . . . . . . . . . . . .  9
     14.2. Informative References . . . . . . . . . . . . . . . . . . 10
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11














Mayer, et al.           Expires September 8, 2011               [Page 2]


Internet-Draft                Do Not Track                    March 2011


1.  Recognition

   The Do Not Track effort is much broader than this standards document,
   and we recognize the following individuals without whom Do Not Track
   would not be possible.  For a detailed history of Do Not Track, see
   [HistoryOfDNT].  We particularly laud the efforts of Christopher
   Soghoian, whose tireless advocacy led Do Not Track from a technical
   prototype to a leading privacy proposal.

1.1.  Contributors

   Alissa Cooper
   Center for Democracy and Technology


   Christopher Soghoian
   Indiana University


   Ashkan Soltani


   Harlan Yu
   Princeton University

1.2.  Acknowledgements

   Peter Eckersley
   Electronic Frontier Foundation


   Alexander Fowler
   Mozilla


   John Mitchell
   Stanford University


   Lee Tien
   Electronic Frontier Foundation


2.  Introduction

   The content of a website is increasingly sourced from numerous
   entities.  This development has given many companies the ability to
   track users across millions of sites.  A number of services now exist



Mayer, et al.           Expires September 8, 2011               [Page 3]


Internet-Draft                Do Not Track                    March 2011


   solely to track users, often via invisible embedded content.  Users
   widely perceive such third-party tracking as an invasion of privacy
   (see [WebsNewGoldMine] and [Turow09]).

   The explosion of stateful (see [Evercookie], [Aggarwal10], and
   [McKinley08]) and stateless (see [Eckersley10] and [Mayer09])
   techniques for tracking users, accompanied by the proliferation of
   third-party tracking (see [Krishnamurthy10]), prohibit a purely
   technical means of preventing tracking.  Do Not Track is instead a
   means of allowing users to express their preferences about tracking,
   including to opt out of tracking some or all of the time.

   A preference signaling mechanism can, of course, be ignored by bad
   actors.  But the most pervasive third-party trackers are law-abiding
   commercial enterprises (see [Krishnamurthy10]).  This standard
   intends to aid these fair players by allowing them to honor a user's
   preferences.


3.  Definitions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

   This specification uses the Augmented Backus-Naur Form (ABNF)
   notation of [RFC5234].

   The terms user agent, server, proxy, header, request, and response
   have the same meaning as in the HTTP/1.1 specification ([RFC2616]).

   "Explicit user consent" means a user is likely to understand and
   accept the choice she makes.  Agreement to a terms of service or
   privacy policy does not, in general, constitute explicit user
   consent.

   A "functional entity" is a commercial, nonprofit, or government
   organization, a subsidiary or unit of such an organization, or a
   person.

   "THIRD-PARTY TRACKING" is shorthand for activities covered by
   Section 9.1 and Section 9.2, and not excepted by Section 9.3.

   A "public suffix" is a domain name under which users can register
   domain names.  A list is maintained at [PublicSuffix].  This document
   uses public suffixes instead of top-level domains (see [RFC0920])
   because they more accurately reflect organizational boundaries.




Mayer, et al.           Expires September 8, 2011               [Page 4]


Internet-Draft                Do Not Track                    March 2011


   "Protocol logs" means logs for all network protocols that arise from
   an HTTP request and response.


4.  Overview

   This document is organized into two parts.  The first part details
   the technical implementation of Do Not Track: the header syntax
   (Section 5), user agent requirements (Section 6), intermediary
   requirements (Section 7), and server requirements (Section 8).  The
   second part provides the policy a server implementing Do Not Track
   must observe (Section 9).

4.1.  Example

   In the status quo: A user navigates a sequence of popular websites,
   many of which incorporate content from a major advertising network.
   In addition to delivering advertisements, the advertising network
   assigns a unique cookie to the user agent and compiles observations
   of the user's browsing habits.

   With Do Not Track: A user enables Do Not Track in her web browser.
   She navigates a sequence of popular websites, many of which
   incorporate content from a major advertising network.  The
   advertising network delivers advertisements, but refrains from THIRD-
   PARTY TRACKING of the user.


5.  Header Syntax

   The Do Not Track HTTP header, "DNT", must take one of two values: "1"
   ("opt out") or "0" ("opt in").  All other values are reserved.


   DNT = "DNT" ":" BIT


   For clarity this document refers to an opt-out header as OPT-OUT, an
   opt-in header as OPT-IN, and the absence of a header as NO-EXPRESSED-
   PREFERENCE.


6.  User Agent Requirements

6.1.  OPTIONAL Support

   A user agent MAY include a Do Not Track header in any HTTP request.




Mayer, et al.           Expires September 8, 2011               [Page 5]


Internet-Draft                Do Not Track                    March 2011


6.2.  User Interface RECOMMENDED

   A user agent that implements Do Not Track SHOULD provide a user
   interface for modifying preferences.  The user interface design is
   left to the user agent.

6.3.  Default

   A user agent MAY adopt NO-EXPRESSED-PREFERENCE or OPT-OUT by default.
   It MUST NOT transmit OPT-IN without explicit user consent.


7.  Intermediary Requirements

   A proxy or other intermediary MUST NOT add, remove, or modify a Do
   Not Track header without explicit user consent.


8.  Server Requirements

8.1.  Opt Out

   In processing a request that includes an OPT-OUT header, a server
   MUST NOT perform THIRD-PARTY TRACKING.  The server MUST instruct the
   user agent to delete any data previously stored for THIRD-PARTY
   TRACKING.

8.2.  Opt In

   In processing a request that includes an OPT-IN header, a server MAY
   perform THIRD-PARTY TRACKING.

8.3.  Header Not Present

   In processing a NO-EXPRESSED-PREFERENCE request, a server MAY perform
   THIRD-PARTY TRACKING.  The functional entity responsible for the
   server MUST NOT draw any inferences about a user's preferences from
   the absence of an OPT-OUT or OPT-IN header.

8.4.  Response Header RECOMMENDED

   In responding to a request that includes a Do Not Track header, a
   third-party server that complies with Do Not Track SHOULD echo the
   request header.  For example:


   GET /thirdpartycontent.html HTTP/1.1
   Host: thirdparty.example.com



Mayer, et al.           Expires September 8, 2011               [Page 6]


Internet-Draft                Do Not Track                    March 2011


   DNT: 1

   HTTP/1.1 200 OK
   Date: Mon, 7 March 2011 01:23:45 GMT
   Server: Apache/2.2.17 (Unix)
   Content-Length: 123
   Connection: close
   Content-Type: text/html; charset=UTF-8
   DNT: 1


   This feature is intended to aid in the decentralized collection of
   statistics about the Do Not Track mechanism, including adoption rates
   and intermediary operations.  It is also intended to clearly identify
   whether a request was processed in compliance with Do Not Track.


9.  Server Policy

   This section specifies the requirements for server compliance with a
   Do Not Track OPT-OUT: A server acting in a third-party capacity (see
   Section 9.1) MUST NOT track (see Section 9.2) a user or user agent
   unless subject to an exception (see Section 9.3).

9.1.  Definitions of "First Party" and "Third Party"

   A first party is a functional entity with which the user reasonably
   expects to exchange data.  In most cases the functional entity
   responsible for the web page a user has navigated to is the sole
   first party.

   A third party is a functional entity with which the user does not
   reasonably expect to share data.  In general advertising networks,
   analytics services, and social plug-in providers are third parties.
   To a first approximation, a functional entity is a third party if it
   differs from the current page in:

   1.  Public suffix plus one domain name (PS+1), or
   2.  PS+1 authoritative name servers, or
   3.  PS+1 of CNAME records.

   We emphasize that this rule is only an approximation.  Many first
   parties span several domain names, and many third parties are located
   at a subdomain of a first party.

   In practice a third party usually interacts with a user agent via
   content embedded on a first-party webpage.  A third party could also
   receive data from a first party.



Mayer, et al.           Expires September 8, 2011               [Page 7]


Internet-Draft                Do Not Track                    March 2011


9.2.  Definition of "Tracking"

   Tracking includes collection, retention, and use of all data related
   to the request and response.

9.3.  Exceptions

   As a general guideline, exceptions to Do Not Track are warranted when
   commercial interests substantially outweigh privacy and verification
   interests.  The following activities are excepted:

   1.  Tracking of users who have explicitly consented to tracking, such
       as by enabling a checkbox in a preferences menu on the first-
       party website of the tracking service.
   2.  Data obtained by a third party exclusively on behalf of and for
       the use of a first party.
   3.  Data that is, with high confidence, not linkable to a specific
       user or user agent.  This exception includes statistical
       aggregates of protocol logs, such as pageview statistics, so long
       as the aggregator takes reasonable steps to ensure the data does
       not reveal information about individual users, user agents,
       devices, or log records.  It also includes highly non-unique data
       stored in the user agent, such as cookies used for advertising
       frequency capping or sequencing.  This exception does not include
       anonymized data, which recent work has shown to be often re-
       identifiable (see [Narayanan09] and [Narayanan08]).
   4.  Protocol logs, not aggregated across first parties, and subject
       to a two week retention period.
   5.  Protocol logs used solely for advertising fraud detection, and
       subject to a one month retention period.
   6.  Protocol logs used solely for security purposes such as intrusion
       detection and forensics, and subject to a six month retention
       period.
   7.  Protocol logs used solely for financial fraud detection, and
       subject to a six month retention period.

   To ensure data allowed for only specific uses is adequately
   protected, functional entities SHOULD implement strong internal
   controls.


10.  Implementation Considerations

10.1.  Selective Opt Out and Opt In RECOMMENDED

   A user agent implementing Do Not Track SHOULD allow a user to
   selectively opt out of or opt into tracking on specific first-party
   websites, by specific third parties, or by specific third parties on



Mayer, et al.           Expires September 8, 2011               [Page 8]


Internet-Draft                Do Not Track                    March 2011


   specific first-party websites.  Definition and implementation of
   selective opt out and opt in is outside the scope of this document.

10.2.  Verification

   Verification systems may be needed to ensure compliance with Do Not
   Track.  Such systems are outside the scope of this document.


11.  Security Considerations

   This document does not introduce any known security considerations.


12.  Privacy Considerations

   User agent implementation of Do Not Track contributes a small amount
   of fingerprintable information (see [Eckersley10] and [Mayer09]).
   The amount of information depends on the degree of adoption.
   Supposing, for example, that 10% of user agents have Do Not Track
   enabled, the header adds only -log2(0.1) (roughly 3.3) bits of
   identifying information to the user agent.  Relative to other sources
   of fingerprintable information Do Not Track is of minimal concern.


13.  IANA Considerations

   This specification calls for a new IANA provisional message header
   field registration, in accordance with [RFC3864].


   Header field name: see Section 5
   Applicable protocol: http ([RFC2616])
   Status: standard
   Author/Change controller: IETF
   Specification document: this document


14.  References

14.1.  Normative References

   [RFC0920]  Postel, J. and J. Reynolds, "Domain requirements",
              RFC 920, October 1984.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.




Mayer, et al.           Expires September 8, 2011               [Page 9]


Internet-Draft                Do Not Track                    March 2011


   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

   [RFC3864]  Klyne, G., Nottingham, M., and J. Mogul, "Registration
              Procedures for Message Header Fields", BCP 90, RFC 3864,
              September 2004.

   [RFC5234]  Crocker, D. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", STD 68, RFC 5234, January 2008.

14.2.  Informative References

   [Aggarwal10]
              Aggarwal, G., Bursztein, E., Jackson, C., and D. Boneh,
              "An Analysis of Private Browsing Modes in Modern
              Browsers", 2010, <http://crypto.stanford.edu/~dabo/pubs/
              papers/privatebrowsing.pdf>.

   [Eckersley10]
              Eckersley, P., "How Unique Is Your Web Browser?", 2010,
              <https://panopticlick.eff.org/browser-uniqueness.pdf>.

   [Evercookie]
              Kamkar, S., "Evercookie", September 2010,
              <http://samy.pl/evercookie/>.

   [HistoryOfDNT]
              Soghoian, C., "The History of the Do Not Track Header",
              January 2011, <http://paranoia.dubfire.net/2011/01/
              history-of-do-not-track-header.html>.

   [Krishnamurthy10]
              Krishnamurthy, B., "Privacy Leakage on the Internet",
              March 2010,
              <http://www.ietf.org/proceedings/77/slides/
              plenaryt-5.pdf>.

   [Mayer09]  Mayer, J., ""Any person... a pamphleteer": Internet
              Anonymity in the Age of Web 2.0", April 2009,
              <http://stanford.edu/~jmayer/papers/thesis09.pdf>.

   [McKinley08]
              McKinley, K., "Cleaning Up After Cookies", December 2010,
              <https://www.isecpartners.com/files/
              iSEC_Cleaning_Up_After_Cookies.pdf>.

   [Narayanan08]



Mayer, et al.           Expires September 8, 2011              [Page 10]


Internet-Draft                Do Not Track                    March 2011


              Narayanan, A. and V. Shmatikov, "Robust De-anonymization
              of Large Sparse Datasets", 2008,
              <http://www.cs.utexas.edu/~shmat/shmat_oak08netflix.pdf>.

   [Narayanan09]
              Narayanan, A. and V. Shmatikov, "De-anonymizing Social
              Networks", 2009,
              <http://www.cs.utexas.edu/~shmat/shmat_oak09.pdf>.

   [PublicSuffix]
              "The Public Suffix List", <http://publicsuffix.org/>.

   [Turow09]  Turow, J., King, J., Hoofnagle, C., Bleakley, A., and M.
              Hennessy, "Americans Reject Tailored Advertising and Three
              Activities that Enable It", September 2009,
              <http://ssrn.com/abstract=1478214>.

   [WebsNewGoldMine]
              Angwin, J., "The Web's New Gold Mine: Your Secrets",
              July 2010, <http://online.wsj.com/article/
              SB10001424052748703940904575395073512989404.html>.


Authors' Addresses

   Jonathan Mayer
   Stanford University

   URI:   http://jonathanmayer.net


   Arvind Narayanan
   Stanford University

   URI:   http://randomwalker.info


   Sid Stamm
   Mozilla

   URI:   http://sidstamm.com










Mayer, et al.           Expires September 8, 2011              [Page 11]