This report shows compliance to the TPE for various client and server implementations.
Implementation information is documented in the relevant Github issue, Pull Request (PR), or documentation for developers.
User agent implementations
Clients
API Test | Bouncer | Dt. Telekom | Edge | Internet Explorer | Chrome | Firefox | Safari | Notes |
---|---|---|---|---|---|---|---|---|
Generates DNT header | Y | Y | Y | Y | Y | Y | Y | |
navigator.doNotTrack | Y | Y | N | N | Y | Y | Y | Edge supports window.doNotTrack |
Consent API v1 exists | Y | Y | Y | Y | N | N | N | |
Consent API v2 exists | Y | Y | N | N | N | N | N | |
Parses TSR, shows Tk headers | Y | Y | N | N | N | N | N | Indicates level of DNT support by resources & subresources |
DNT header "0" after Web-Wide store | Y | Y | Y | Y | N | N | N | Edge & IE using API v1. Edge not working for XHR subresources |
navigator.doNotTrack "0" after Web-Wide store | Y | Y | N | N | N | N | N | Edge window.doNotTrack works> |
trackingExceptionExists true after Web-Wide store | Y | Y | Y | Y | N | N | N | Edge & IE via v1 confirm*TrackingException after refresh |
DNT header "1" after Web-Wide remove | Y | Y | Y | Y | N | N | N | |
trackingExceptionExists false after Web-Wide remove | Y | Y | Y | Y | N | N | N | Edge & IE via v1 confirm*TrackingException after refresh |
DNT header "0" to subresource after Site-Specific store | Y | Y | N | Y | N | N | N | Edge not working for XHR to subresources |
navigator.doNotTrack "0" to subresource after Site-Specific store | Y | Y | N | N | N | N | N | |
trackingExceptionExists true for subresource after Site-Specific store | Y | Y | N | Y | N | N | N | |
DNT header "1" to subresource after Site-Specific remove | Y | Y | N | Y | N | N | N | |
trackingExceptionExists false to subresource after Site-Specific remove | Y | Y | N | Y | N | N | N | |
DNT header "1" to subresource before Site-Specific store | Y | Y | Y | Y | N | N | N | |
DNT header "0" to subresource just after Site-Specific store with maxAge specified | Y | Y | N | Y | N | N | N | |
DNT header "1" to subresource after maxAge duration | Y | Y | N | N | N | N | N |
Uncertain implementations
Microsoft Edge and Internet Explorer
navigator.doNotTrack
not supported but value is available aswindow.doNotTrack
on Edge- This works for all tests where a valid DNT header is sent, but on
window
rather thannavigator
on Edge maxAge
consent expiry not supportedstoreSiteSpecificTrackingException
andstoreWebWideTrackingException
only work after a page refresh- On Edge storeSiteSpecificTrackingException does not work for XHRs to subresources, though this works for IE
Server implementations
https://axe.com/de, https://becel.si/, https://rexona.com/de, https://cartedor.co.uk/ & several thousand EU consumer brand sites that use the CookieQ ePrivacy tool
TPE feature | Supports? | Notes |
---|---|---|
Signals consent using Site Specific API | Y | All subresources sent DNT:0 if consent obtained & API supported |
Indicates Consent duration using maxAge property
|
Y | |
Signals consent using Web Wide API | Not applicable | |
Supports TSR at .well-known/dnt | N | |
Supports TSR at other location | Y | location indicated by proprietary header delivered by meta http-equiv |
removes or does not place cookies if DNT is "1" | Y | deletes first-party cookies unless user informed they are "strictly necessary" |
blocks non-DNT respecting subresources if DNT is "1" | Y | blocks domains via CSP header |
Uses Tk header to signal consent | N | but Tk: C header is delivered by meta http-equiv in content |
https://medium.com/
TPE feature | Supports? | Notes |
---|---|---|
Signals consent using Site Specific API | N | |
Indicates Consent duration using maxAge property
|
N | |
Signals consent using Web Wide API | Not applicable | |
Supports TSR at .well-known/dnt | Y | |
Supports TSR at other location | Not applicable | |
removes or does not place cookies if DNT is "1" | Y | does not place first-party cookies if DNT is "1" and user logged out, other than Google Analytics |
blocks non-DNT respecting subresources if DNT is "1" | N | |
Uses Tk header to signal consent | Y | Tk: C response header if logged in, otherwise Tk: T |
https://www.natuurlijkehaarkleuring.nl/ No-tracking example with Lambda@Edge implementation of HTTP response header
TPE feature | Supports? | Notes |
---|---|---|
Signals consent using Site Specific API | Not applicable | |
Indicates Consent duration using maxAge property
|
Not applicable | |
Signals consent using Web Wide API | Not applicable | |
Supports TSR at .well-known/dnt | Y | https://www.natuurlijkehaarkleuring.nl/.well-known/dnt |
Supports TSR at other location | Not applicable | |
removes or does not place cookies if DNT is "1" | Y | No placement of first-party tracking cookies; 3rd party cookies are functional non-tracking cookies under a data processing agreement |
blocks non-DNT respecting subresources if DNT is "1" | Not applicable | |
Uses Tk header to signal no tracking | Y | Server implementation with Lambda@Edge HTTP response header |
https://baycloud.com/
TPE feature | Supports? | Notes |
---|---|---|
Signals consent using Site Specific API | Y | Specific subresources sent DNT:0 if consent obtained & API supported |
Indicates Consent duration using maxAge property
|
Y | |
Signals consent using Web Wide API | Not applicable | |
Supports TSR at .well-known/dnt | Y | https://baycloud.com/.well-known/dnt |
Supports TSR at other location | Not applicable | |
removes or does not place cookies if DNT is "1" | Y | deletes first-party cookies unless user informed they are "strictly necessary" |
blocks non-DNT respecting subresources if DNT is "1" | Y | blocks domains via CSP header |
Uses Tk header to signal consent | Y | Tk: C response header if consent given, otherwise Tk: N |
https://paulbernal.mydnt.org/
TPE feature | Supports? | Notes |
---|---|---|
Signals consent using Site Specific API | Y | Specific subresources sent DNT:0 if consent obtained & API supported |
Indicates Consent duration using maxAge property
|
Y | |
Signals consent using Web Wide API | Not applicable | |
Supports TSR at .well-known/dnt | Y | https://paulbernal.mydnt.org/.well-known/dnt |
Supports TSR at other location | Not applicable | |
removes or does not place cookies if DNT is "1" | Y | deletes first-party cookies unless user informed they are "strictly necessary" |
blocks non-DNT respecting subresources if DNT is "1" | Y | blocks domains via CSP header |
Uses Tk header to signal consent | Y | Tk: C response header if consent given, otherwise Tk: N |