This specification defines the meaning of a Do Not Track (DNT) preference and sets out practices for websites to comply with this preference.
This editor's draft does not constitute consensus and may change frequently. Reviewers are advised to consult the list of issues tracked in the Compliance Current product and the wiki list of change proposals developed by participants in the Working Group. The Working Group has published a Last Call Working Draft of the companion Tracking Preference Expression document; a more stable snapshot of this document has been published as a Working Draft.
Do Not Track is designed to provide users with a simple preference expression mechanism to allow or limit online tracking globally or selectively.
The specification applies to compliance with requests through user agents that (1) can access the general browsable Web; (2) have a user interface that satisfies the requirements in Determining User Preference in the [[!TRACKING-DNT]] specification; (3) and can implement all of the [[!TRACKING-DNT]] specification, including the mechanisms for communicating a tracking status, and the user-granted exception mechanism.
A user is an individual human. When user agent software accesses online resources, whether or not the user understands or has specific knowledge of a particular request, that request is "made by the user."
The term user agent refers to any of the various client programs capable of initiating HTTP requests, including but not limited to browsers, spiders (web-based robots), command-line tools, native applications, and mobile apps [[!RFC7230]].
There is a proposal to move a sentence about user agents from the Introduction/Scope section to this section. We might also include a reference here to the conformance requirements on user agents in the companion TPE recommendation.
A network interaction is a single HTTP request and its corresponding response(s): zero or more interim (1xx) responses and a single final (2xx-5xx) response.
A user action 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.
A subrequest is any network interaction that is not directly initiated by user action. For example, an initial response in a hypermedia format that contains embedded references to stylesheets, images, frame sources, and onload actions will cause a browser, depending on its capabilities and configuration, to perform a corresponding set of automated subrequests to fetch those references using additional network interactions.
A party 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.
Access to Web resources often involves multiple parties that might process the data received in a network interaction. For example, domain name services, network access points, content distribution networks, load balancing services, security filters, cloud platforms, and software-as-a-service providers might be a party to a given network interaction because they are contracted by either the user or the resource owner to provide the mechanisms for communication. Likewise, additional parties might be engaged after a network interaction, such as when services or contractors are used to perform specialized data analysis or records retention.
For the data received in a given network interaction, a service provider is considered to be the same party as its contractee if the service provider:
With respect to a given user action, a first party 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.
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.
Network interactions and subrequests related to a given user action may not constitute intentional interaction when, for example, the user is unaware or only transiently informed of redirection or framed content.
For any data collected as a result of one or more network interactions resulting from a user's action, a third party 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.
Data is permanently deidentified when there exists a high level of confidence that no human subject of the data can be identified, directly or indirectly (e.g., via association with an identifier, user agent, or device), by that data alone or in combination with other retained or available information.
In this specification the term permanently deidentified is used for data that has passed out of the scope of this specification and can not, and will never, come back into scope. The organization that performs the deidentification needs to be confident that the data can never again identify the human subjects whose activity contributed to the data. That confidence may result from ensuring or demonstrating that it is no longer possible to:
Regardless of the deidentification approach, unique keys can be used to correlate records within the deidentified dataset, provided the keys do not exist and cannot be derived outside the deidentified dataset and have no meaning outside the deidentified dataset (i.e. no mapping table can exist that links the original identifiers to the keys in the deidentified dataset).
Geolocation data (of a certain precision or over a period of time) may itself identify otherwise deidentified data.
Tracking 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 context is a set of resources that are controlled by the same party or jointly controlled by a set of parties.
Tracking data is any data that could be combined with other data to engage in tracking a user across different contexts.
A party collects data received in a network interaction if that data remains within the party’s control after the network interaction is complete.
A party uses data if the party processes the data for any purpose other than storage or merely forwarding it to another party.
A party shares data if it transfers or provides a copy of data to any other party.
A party facilitates any other party’s collection of data if it enables such party to collect data and engage in tracking.
It is outside the scope of this specification to control short-term,
transient collection and use of data, so long as the data is not
shared with a third party and is not used to build a profile about a
user or otherwise alter an individual user’s user experience outside the
current network interaction. For example, the contextual customization
of ads shown as part of the same network interaction is not restricted
In order to communicate compliance with a user's expressed tracking preference as described in this recommendation, a party MUST indicate compliance using the tracking status resource defined in the [[TRACKING-DNT]] recommendation. A party MUST use the following URI (in the
compliance property array) to indicate compliance with this version of the recommendation:
The editor's draft URI points to content that will change. Versions of this document that are published as Working Drafts or later maturity levels will use permanent URIs in this section, pointing to content that does not change.
A party to a given user action that is tracking that action MUST indicate so to the user agent. A party that is tracking a user with that user's consent MUST use the corresponding
P tracking status values. A party that is tracking a user for reasons allowable under this recommendation (for example, for one of the permitted uses described below) MUST use the
T value. A party to a given user action that is not engaged in tracking SHOULD use the
N value (a
T value is also conformant but not as informative).
With respect to a given user action, a first party to that action which receives a
DNT:1 signal MAY collect, retain and use data received from those network interactions. This includes customizing content, services and advertising with respect to those user actions.
A first party to a given user action MUST NOT share data about those network interactions with third parties to that action who are prohibited from collecting data from those network interactions under this recommendation. Data about the interaction MAY be shared with service providers acting on behalf of the first party.
Compliance rules in this section apply where a party determines that it is a first party to a given user action — either because network resources are intended only for use as a first party to a user action or because the status is dynamically discerned. For cases where a party later determines that data was unknowingly collected as a third party to a user action, see Section .
A first party to a given user action MAY elect to follow the rules defined under this recommendation for third parties.
Given WG decision on ISSUE-241, how should a first party to an action indicate to the user that it is electing to follow third-party rules? Should we suggest using "N" or some other tracking status code?
When a third party to a given user action receives a
DNT:1 signal in a related network interaction:
A third party to a given user action MAY nevertheless collect and use such data when:
Outside the permitted uses and explicitly-granted exceptions listed below, a third party to a given user action MUST NOT collect, share, or associate with related network interactions any identifiers that identify a specific user, user agent, or device. For example, a third party that does not require unique user identifiers for one of the permitted uses MUST NOT place a unique identifier in cookies or other browser-based local storage mechanisms.
Some collection and use of data by third parties to a given user action is permitted,
notwithstanding receipt of
DNT:1 in a network interaction, as enumerated below.
uses may differ in their permitted items of data collection,
retention times, and consequences. In all cases, collection and use of data must be reasonably
necessary and proportionate to achieve the purpose for which it is specifically
permitted; unreasonable or disproportionate collection, retention,
or use are not “permitted uses”.
The requirements in the following sub-sections apply to a party that collects data for a permitted use and that would otherwise be prohibited from collecting, retaining or using that data under the third-party compliance requirements above. Where a first party to a given user action, for example, collects some data for a purpose listed among the permitted uses (e.g. security of network services), these requirements do not apply.
A party MUST NOT use data collected for permitted uses for purposes other than the permitted uses for which each datum was permitted to be collected.
Data collected by a party for permitted uses MUST be minimized to the data reasonably necessary for such permitted uses. Such data MUST NOT be retained any longer than is proportionate to, and reasonably necessary for, such permitted uses. A party MUST NOT rely on unique identifiers if alternative solutions are reasonably available.
A party MUST provide public transparency of the time periods for which data collected for permitted uses are retained. The party MAY enumerate different retention periods for different permitted uses. Data MUST NOT be used for a permitted use once the data retention period for that permitted use has expired. After there are no remaining permitted uses for given data, the data MUST be deleted or permanently deidentified.
A party that collects data for a permitted use MUST NOT use that data to alter a specific user's online experience based on multi-site activity, except as specifically permitted below.
A party that collects data for a permitted use MUST use reasonable technical and organizational safeguards to prevent further processing of data retained for permitted uses. While physical separation of data maintained for permitted uses is not required, best practices SHOULD be in place to ensure technical controls ensure access limitations and information security. That party SHOULD ensure that the access and use of data retained for permitted uses is auditable.
Regardless of the tracking preference expressed, data MAY be collected, retained and used to limit the number of times that a user sees a particular advertisement, often called frequency capping, as long as the data retained do not reveal the user’s browsing history. A party MUST NOT construct profiles of users or user behaviors based on their ad frequency history, or otherwise alter the user’s experience.
Regardless of the tracking preference expressed, data MAY be collected and used for billing and auditing related to the current network interaction and concurrent transactions. This may include counting ad impressions to unique visitors, verifying positioning and quality of ad impressions and auditing compliance with this and other standards.
Regardless of the tracking preference expressed, data MAY be collected and used to the extent reasonably necessary to detect security incidents, protect the service against malicious, deceptive, fraudulent, or illegal activity, and prosecute those responsible for such activity, provided that such data is not used for operational behavior beyond what is reasonably necessary to protect the service or institute a graduated response.
When feasible, a graduated response to a detected security incident is preferred over widespread data collection. In this recommendation, a graduated response is a data minimization methodology where actions taken are proportional to the problem or risk being mitigated.
Regardless of the tracking preference expressed, data MAY be collected, retained and used for debugging purposes to identify and repair errors that impair existing intended functionality.
A party MAY indicate which of the listed permitted uses apply to tracking of a user with the qualifiers mechanism defined in the [[TRACKING-DNT]] document. While providing qualifiers is OPTIONAL, a party that wishes to indicate particular permitted uses MUST use the corresponding characters as indicated in the table below.
A party MAY use multiple qualifiers to indicate that multiple permitted uses of tracking might be ongoing and that each such use conforms to any corresponding requirements. Where qualifiers are present, a party MUST indicate all claimed permitted uses.
The qualifiers in this table correspond directly to the permitted uses described in the previous section. This list, the characters and the names may change depending on the resolution of open issues regarding the permitted uses.
When a user sends a
DNT:0 signal, the user is expressing a preference
to allow tracking. This recommendation places no restrictions on collection or use of data
from network interactions with
DNT:0 signals. Note, however, that a party might be
limited by its own statements to the user regarding the
A party MAY engage in practices otherwise proscribed by this recommendation if the user has given explicit and informed consent. This consent MAY be obtained through the API defined in the companion [[!TRACKING-DNT]] document, or a party MAY obtain out of band consent to disregard a Do Not Track preference using a different technology. If a party is relying on out of band consent to disregard a Do Not Track preference, the party MUST indicate this consent to the user agent as described in the companion [[!TRACKING-DNT]] document.
Multiple systems may be setting, sending, and receiving DNT and/or opt-out signals at the same time. As a result, it will be important to ensure industry and web browser vendors are on the same page with respect to honoring user choices in circumstances where "mixed signals" may be received.
As a general principle, more specific settings override less specific settings, as where the specific consent in user-granted exceptions overrides a general preference. If a party perceives a conflict between settings, a party MAY seek clarification from the user or MAY honor the more restrictive setting.
If a party learns that it possesses data in violation of this recommendation, it MUST, where reasonably feasible, delete or de-identify that data at the earliest practical opportunity, even if it was previously unaware of such information practices despite reasonable efforts to understand its information practices.
Notwithstanding anything in this recommendation, a party MAY collect, use, and share data required to comply with applicable laws, regulations, and judicial processes.
This specification consists of input from many discussions within and around the W3C Tracking Protection Working Group, along with written contributions from Haakon Flage Bratsberg (Opera Software), Amy Colando (Microsoft Corporation), Nick Doty (W3C), Roy T. Fielding (Adobe), Yianni Lagos (Future of Privacy Forum), Tom Lowenthal (Mozilla), Ted Leung (The Walt Disney Company), Jonathan Mayer (Stanford University), Ninja Marnau (Invited Expert), Thomas Roessler (W3C), Matthias Schunter (IBM), Wendy Seltzer (W3C), John M. Simpson (Invited Expert), Kevin G. Smith (Adobe), Peter Swire (Invited Expert), Rob van Eijk (Invited Expert), David Wainberg (Network Advertising Initiative), Rigo Wenning (W3C), and Shane Wiley (Yahoo!).
The DNT header field is based on the original Do Not Track submission by Jonathan Mayer (Stanford), Arvind Narayanan (Stanford), and Sid Stamm (Mozilla). The DOM API for NavigatorDoNotTrack is based on the Web Tracking Protection submission by Andy Zeigler, Adrian Bateman, and Eliot Graff (Microsoft). Many thanks to Robin Berjon for ReSpec.js.