CVS WWW/2011/tracking-protection/drafts

Update of /w3ccvs/WWW/2011/tracking-protection/drafts
In directory gil:/tmp/cvs-serv9692/drafts

Added Files:
	tracking-dnt-last-call.html 
Log Message:
Upload of TPE snapshot for last call consensus



--- /w3ccvs/WWW/2011/tracking-protection/drafts/tracking-dnt-last-call.html	2014/04/14 12:15:27	NONE
+++ /w3ccvs/WWW/2011/tracking-protection/drafts/tracking-dnt-last-call.html	2014/04/14 12:15:27	1.1
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
  <title>Tracking Preference Expression (DNT)</title>
  <meta http-equiv='Content-Type' content='text/html;charset=utf-8'>
  <script src='http://www.w3.org/Tools/respec/respec-w3c-common' class='remove' async></script>
  <script class='remove'>
    var respecConfig = {
      specStatus:          "ED",
      shortName:           "tracking-dnt",
      // publishDate:         "2014-03-13",
      previousPublishDate: "2014-01-28",
      previousMaturity:    "WD",
      edDraftURI:          "http://www.w3.org/2011/tracking-protection/drafts/tracking-dnt.html",
      editors:  [
          { name: "Roy T. Fielding", url: "http://roy.gbiv.com/",
            company: "Adobe", companyURL: "http://www.adobe.com/" },
          { name: "David Singer",
            company: "Apple", companyURL: "http://www.apple.com/" }
      ],
      wg:          "Tracking Protection Working Group",
      wgURI:       "http://www.w3.org/2011/tracking-protection/",
      wgPublicList: "public-tracking",
      wgPatentURI: "http://www.w3.org/2004/01/pp-impl/49311/status",
      issueBase:   "http://www.w3.org/2011/tracking-protection/track/issues/",
      localBiblio: {
        "TCS": {
          "authors": ["Heather West","Justin Brookman","Sean Harvey","Erica Newland"],
       // "status" : "WD",
       // "href"   : "http://www.w3.org/TR/tracking-compliance/",
          "status" : "ED",
          "href"   : "http://www.w3.org/2011/tracking-protection/drafts/tracking-compliance.html",
          "title"  : "Tracking Compliance and Scope",
          "date"   : "08 April 2014",
          "publisher" : "W3C"
        },
        "HTTP" : {
          "title"  : "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing",
          "authors": ["Roy T. Fielding", "Julian Reschke"],
          "status" : "Internet-Draft",
          "date"   : "6 February 2014",
          "publisher" : "IETF",
          "href"   : "http://datatracker.ietf.org/doc/draft-ietf-httpbis-p1-messaging/"
        },
        "HTTP-semantics" : {
          "title"  : "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content",
          "authors": ["Roy T. Fielding", "Julian Reschke"],
          "status" : "Internet-Draft",
          "date"   : "6 February 2014",
          "publisher" : "IETF",
          "href"   : "http://datatracker.ietf.org/doc/draft-ietf-httpbis-p2-semantics/"
        },
        "HTTP-cache" : {
          "title"  : "Hypertext Transfer Protocol (HTTP/1.1): Caching",
          "authors": ["Roy T. Fielding", "Mark Nottingham", "Julian Reschke"],
          "status" : "Internet-Draft",
          "date"   : "6 February 2014",
          "publisher" : "IETF",
          "href"   : "http://datatracker.ietf.org/doc/draft-ietf-httpbis-p6-cache/"
        },
        "RFC7159" : {
          "title"  : "The JavaScript Object Notation (JSON) Data Interchange Format",
          "authors": ["Tim Bray, Ed."],
          "status" : "Internet RFC 7159",
          "date"   : "March 2014",
          "publisher" : "IETF",
          "href"   : "http://www.rfc-editor.org/rfc/rfc7159.txt"
        }
      },
      noIDLSectionTitle: true
    };
  </script>
  <link rel="stylesheet" href="additional.css" type="text/css" media="screen" title="custom formatting for TPWG editors">
</head>
<body>
    <section id='abstract'>
     <p>
      This specification defines the <a>DNT</a> request header field as an
      HTTP mechanism for expressing the user's preference regarding tracking,
      an HTML DOM property to make that expression readable by scripts, and
      APIs that allow scripts to register site-specific exceptions granted by
      the user. It also defines mechanisms for sites to communicate whether
      and how they honor a received preference through use of the <q>Tk</q>
      response header field and well-known resources that provide a
      machine-readable tracking status.
     </p>
    </section>

    <section id='sotd'>
      <p>
        This document is an editors' straw man reflecting a snapshot of live
        discussions within the
        <a href="http://www.w3.org/2011/tracking-protection/">Tracking
        Protection Working Group</a>.  It does not yet capture all of our work
        and does not constitute working group consensus.
        Text in option boxes (highlighted with light blue background color)
        present options that the group is currently considering, particularly
        where consensus is known to be lacking, and should be read as a set of
        proposals rather than as limitations on the potential outcome.
        An
        <a href="http://www.w3.org/2011/tracking-protection/track/issues/">issue tracking system</a>
        is available for recording
        <a href="http://www.w3.org/2011/tracking-protection/track/issues/raised">raised</a>,
        <a href="http://www.w3.org/2011/tracking-protection/track/issues/open">open</a>,
        <a href="http://www.w3.org/2011/tracking-protection/track/issues/pendingreview">pending review</a>,
        <a href="http://www.w3.org/2011/tracking-protection/track/issues/closed">closed</a>, and
        <a href="http://www.w3.org/2011/tracking-protection/track/issues/postponed">postponed</a>
        issues regarding this document.
      </p>
    </section>

    <section>
      <h2>Introduction</h2>

      <p>
        The World Wide Web consists of billions of resources
        interconnected through the use of hypertext.  Hypertext provides a
        simple, page-oriented view of the information provided by those
        resources, which can be traversed by selecting links, manipulating
        controls, and supplying data via forms and search dialogs.
      </p>
      <p>
        A Web page is often composed of many information sources beyond the
        initial resource request, including embedded references to
        stylesheets, inline images, javascript, and other elements that might
        be automatically requested as part of the rendering or behavioral
        processing defined for that page. The user's experience is seamless,
        even if the page has been composed from the results of many network
        interactions with multiple servers. From the user's perspective, they
        are simply visiting and interacting with a single Web site: all of the
        technical details and protocol mechanisms used to compose a page to
        represent that site are hidden behind the scenes.
      </p>
      <p>
        It has become common for Web site owners to collect data regarding
        the usage of their sites for a variety of purposes, including what
        led the user to visit their site (referrals), how effective the user
        experience is within the site (web analytics), and the nature of who
        is using their site (audience segmentation). In some cases, the data
        collected is used to dynamically adapt the content (personalization)
        or the advertising presented to the user (targeted advertising).
        Data collection often occurs through the insertion of embedded
        elements on each page, which connect the user's activity across
        multiple pages. A survey of these techniques and their
        privacy implications can be found in [[KnowPrivacy]].
      </p>
      <p>
        Users need a mechanism to express their own preferences regarding
        tracking that is both simple to configure and efficient when
        implemented. However, merely expressing a preference does not imply
        that all recipients will be able to comply. In some cases, a server
        might be dependent on some forms of tracking and is unwilling or
        unable to turn that off. In other cases, a server might perform only
        limited forms of tracking that would be acceptable to most users.
        Servers need mechanisms for communicating their tracking behavior and
        for storing user-granted exceptions after the user has made an
        informed choice.
      </p>
      <p>
        This specification defines Hypertext Transfer Protocol [[!HTTP]]
        elements for communicating the user's tracking preference (if any)
        and communicating the server's tracking behavior (if any).
        The <a>DNT</a> request header field is defined for communicating the
        user's tracking preference for the request target. A well-known URI
        for a <a href="#status-resource">tracking status resource</a> and the
        <a>Tk</a> response header field are defined for communicating the
        server's tracking behavior. In addition, JavaScript APIs are defined
        for enabling scripts to determine DNT status and register a
        <a>user-granted exception</a>.
      </p>
      <p>
        This specification does not define requirements on what a recipient
        needs to do to comply with a user's expressed tracking preference,
        except for the means by which such compliance is communicated.
        Instead, the tracking status provides the ability to identify a set of
        compliance regimes to which the server claims to comply, with the
        assumption being that each regime defines its own requirements on
        compliant behavior. For example, [[TCS]] is a work-in-progress that
        intends to define such a compliance regime.
      </p>
    </section>

    <section id='terminology'>
      <h2>Terminology</h2>
      <p>
        <dfn>Tracking</dfn> is the collection of data regarding a particular
        user's activity across multiple distinct contexts and the retention,
        use, or sharing of data derived from that activity outside the
        context in which it occurred.
        A <dfn>context</dfn> is a set of resources that are controlled by
        the same party or jointly controlled by a set of parties.
      </p>
      <p>
        A <dfn>user</dfn> is a natural person who is making, or has made,
        use of the Web.
      </p>
      <p>
        A <dfn>user agent</dfn> is any of the various client programs
        capable of initiating HTTP requests [[!HTTP]], including (but not
        limited to) browsers, spiders (web-based robots), command-line
        tools, custom applications, and mobile apps.
      </p>
      <p>
        A <dfn>network interaction</dfn> is a single HTTP request and its
        corresponding response(s): zero or more interim (1xx) responses and
        a single final (2xx-5xx) response.
      </p>
      <p>
        A <dfn>user action</dfn> is a deliberate action by the user, via
        configuration, invocation, or selection, to initiate a network
        interaction. Selection of a link, submission of a form, and
        reloading a page are examples of user actions.
        <dfn>User activity</dfn> is any set of such user actions.
      </p>
      <p>
        A <dfn>party</dfn> is a natural person, a legal entity, or a set of
        legal entities that share common owner(s), common controller(s), and
        a group identity that is easily discoverable by a user. Common
        branding or providing a list of affiliates that is available via a
        link from a resource where a party describes DNT practices are
        examples of ways to provide this discoverability.
      </p>
      <p>
        With respect to a given user action, a <dfn>first party</dfn>
        is a party with which the user intends to interact, via one or more
        network interactions, as a result of making that action. Merely
        hovering over, muting, pausing, or closing a given piece of content
        does not constitute a user's intent to interact with another party.
      </p>
      <p>
        In some cases, a resource on the Web will be jointly controlled by
        two or more distinct parties. Each of those parties is considered a
        first party if a user would reasonably expect to communicate with
        all of them when accessing that resource. For example, prominent
        co-branding on the resource might lead a user to expect that
        multiple parties are responsible for the content or functionality.
      </p>
      <p>
        For any data collected as a result of one or more network
        interactions resulting from a user's action,
        a <dfn>third party</dfn> is any party other than that user, a first
        party for that user action, or a service provider acting on behalf
        of either that user or that first party.
      </p>
      <p>
        A party <dfn>collects</dfn> data received in a network interaction
        if that data remains within the party’s control after the network
        interaction is complete.
      </p>
      <p>
        A party <dfn>uses</dfn> data if the party processes the data for any
        purpose other than storage or merely forwarding it to another party.
      </p>
      <p>
        A party <dfn>shares</dfn> data if it transfers or provides a copy of
        that data to any other party.
      </p>
      <p>
        A <dfn>user-granted exception</dfn> is a specific tracking
        preference, overriding a user's general tracking preference, that
        has been obtained and recorded using the mechanisms defined in
        <a href="#exceptions" class="sectionRef"></a>.
      </p>
    </section>

    <section id='notational'>
      <h2>Notational Conventions</h2>

      <section id='requirements'>
        <h3>Requirements</h3>
        <p>The key words <em title="must" class="rfc2119">must</em>,
          <em title="must not" class="rfc2119">must not</em>,
          <em title="required" class="rfc2119">required</em>,
          <em title="should" class="rfc2119">should</em>,
          <em title="should not" class="rfc2119">should not</em>,
          <em title="recommended" class="rfc2119">recommended</em>,
          <em title="may" class="rfc2119">may</em>, and
          <em title="optional" class="rfc2119">optional</em> in this
          specification are to be interpreted as described in [[!RFC2119]].
        </p>
      </section>

      <section id='notation'>
        <h3>Formal Syntax</h3>
        <p>
          This specification uses Augmented Backus-Naur Form [[!ABNF]]
          to define network protocol syntax and WebIDL [[!WEBIDL]] for
          defining scripting APIs.
        </p>
      </section>
    </section>

    <section id='determining'>
      <h2>Determining User Preference</h2>

      <p>
        The goal of this protocol is to allow a user to express their
        personal preference regarding tracking to each server and
        web application that they communicate with via HTTP, thereby allowing
        recipients of that preference to adjust tracking behavior accordingly
        or to reach a separate agreement with the user that satisfies all
        parties.
      </p>
      <p>
        Key to that notion of expression is that the signal sent MUST reflect
        the user's preference, not the choice of some vendor, institution,
        site, or network-imposed mechanism outside the user's control;
        this applies equally to both the general preference and exceptions.
        The basic principle is that a tracking preference expression is only
        transmitted when it reflects a deliberate choice by the user. In the
        absence of user choice, there is no tracking preference expressed.
      </p>
      <p>
        A user agent MUST offer users a minimum of two alternative choices
        for a <q>Do Not Track</q> preference: <code><dfn>unset</dfn></code> or
        <code><dfn>DNT:1</dfn></code>.
        A user agent MAY offer a third alternative choice: <code><dfn>DNT:0</dfn></code>.
      </p>
      <p>
        If the user's choice is <code>DNT:1</code> or <code>DNT:0</code>, the
        tracking preference is <dfn>enabled</dfn>; otherwise, the
        tracking preference is <dfn>not enabled</dfn>.
      </p>
      <p>
        A user agent MUST have a default tracking preference of
        <code>unset</code> (not enabled) unless a specific tracking preference
        is implied by the user's decision to use that agent. For example, use
        of a general-purpose browser would not imply a tracking preference
        when invoked normally as <q>SuperFred</q>, but might imply a
        preference if invoked as <q>SuperDoNotTrack</q> or
        <q>UltraPrivacyFred</q>.
      </p>
      <p>
        Implementations of HTTP that are not under control of the user
        MUST NOT add, delete, or modify a tracking preference.
        Some controlled network environments, such as public access
        terminals or managed corporate intranets, might impose restrictions
        on the use or configuration of installed user agents, such that a
        user might only have access to user agents with a predetermined
        preference enabled.  However, if a user brings their
        own Web-enabled device to a library or cafe with wireless Internet
        access, the expectation will be that their chosen user agent and
        personal preferences regarding Web site behavior will not be
        altered by the network environment (aside from blanket limitations
        on what resources can or cannot be accessed through that network).
      </p>
      <p>
        An HTTP intermediary MUST NOT add, delete, or modify a tracking
        preference expression in a request forwarded through that intermediary
        unless the intermediary has been specifically installed or configured
        to do so by the user making the request. For example, an Internet
        Service Provider MUST NOT inject <code>DNT:1</code> on behalf of all
        users who have not expressed a preference.
      </p>
      <p>
        User agents often include user-installable <dfn>extensions</dfn>, also
        known as <dfn>add-ons</dfn> or <dfn>plug-ins</dfn>, that are
        capable of modifying configurations and making network requests. From
        the user's perspective, these extensions are considered part of the
        user agent and ought to respect the user's configuration of a tracking
        preference. The user agent as a whole is responsible for ensuring
        conformance with this protocol, to the extent possible, which means
        the user agent core and each extension are jointly responsible for
        conformance. However, there is no single standard for extension
        interfaces. A user agent that permits such extensions SHOULD provide
        an appropriate mechanism for extensions to determine the user's
        tracking preference.
      </p>
      <p>
        A user agent extension MUST NOT alter the tracking preference
        expression or its associated configuration unless the act of
        installing and enabling that extension is an explicit choice by the
        user for that tracking preference, or the extension itself complies
        with all of the requirements this protocol places on a user agent.
      </p>
      <p>
        Likewise, software outside of the user agent might filter network
        traffic or cause a user agent's configuration to be changed.
        Software that alters a user agent configuration MUST adhere to the
        above requirements on a user agent extension. Software that filters
        network traffic MUST adhere to the above requirements on an HTTP
        intermediary.
      </p>
      <p>
        Aside from the above requirements, we do not specify how the tracking
        preference choices are offered to the user or how the preference is
        enabled: each implementation is responsible for determining the user
        experience by which a tracking preference is <a>enabled</a>.
      </p>
      <p>
        For example, a user might select a check-box in their user agent's
        configuration, install an extension that is specifically
        designed to add a tracking preference expression,
        or make a choice for privacy that then implicitly includes a
        tracking preference (e.g., <q>Privacy settings: high</q>).
        A user agent might ask the user for their preference during startup,
        perhaps on first use or after an update adds the tracking protection
        feature. Likewise, a user might install or configure a proxy to add
        the expression to their own outgoing requests.
      </p>

[1829 lines skipped]

Received on Monday, 14 April 2014 12:15:34 UTC