tree: c18c4a3ced1f77276a063e3498276543ac474e33 [path history] [tgz]
  1. btm_page_visit_observer.cc
  2. btm_page_visit_observer.h
  3. btm_page_visit_observer_browsertest.cc
  4. btm_page_visit_observer_test_utils.cc
  5. btm_page_visit_observer_test_utils.h
  6. btm_page_visit_observer_unittest.cc
  7. btm_short_visit_observer.cc
  8. btm_short_visit_observer.h
  9. btm_short_visit_observer_browsertest.cc
  10. BUILD.gn
  11. cookie_access_filter.cc
  12. cookie_access_filter.h
  13. cookie_access_filter_unittest.cc
  14. DEPS
  15. dips_bounce_detector.cc
  16. dips_bounce_detector.h
  17. dips_bounce_detector_browsertest.cc
  18. dips_bounce_detector_unittest.cc
  19. dips_browsertest_utils.cc
  20. dips_browsertest_utils.h
  21. dips_database.cc
  22. dips_database.h
  23. dips_database_migrator.cc
  24. dips_database_migrator.h
  25. dips_database_migrator_unittest.cc
  26. dips_database_unittest.cc
  27. dips_helper_browsertest.cc
  28. dips_navigation_flow_detector.cc
  29. dips_navigation_flow_detector.h
  30. dips_navigation_flow_detector_browsertest.cc
  31. dips_service_impl.cc
  32. dips_service_impl.h
  33. dips_service_unittest.cc
  34. dips_state.cc
  35. dips_state.h
  36. dips_storage.cc
  37. dips_storage.h
  38. dips_storage_unittest.cc
  39. dips_test_utils.cc
  40. dips_test_utils.h
  41. dips_utils.cc
  42. dips_utils.h
  43. dips_utils_unittest.cc
  44. DIR_METADATA
  45. OWNERS
  46. persistent_repeating_timer.cc
  47. persistent_repeating_timer.h
  48. persistent_repeating_timer_unittest.cc
  49. README.md
content/browser/dips/README.md

DIPS (Detect/Delete Incidental Party State)

This directory contains the code for Chromium's DIPS (Detect/Delete Incidental Party State) feature, known externally as Bounce Tracking Mitigations (BTM). DIPS aims to mitigate the privacy impact of “bounce tracking”, a technique used to track users across websites without relying on third-party cookies.

What is bounce tracking?

Bounce tracking involves redirecting users through a tracker website, often without their knowledge or interaction. This allows the tracker to set or access first-party cookies, effectively circumventing third-party cookie restrictions and user privacy preferences.

How does DIPS work?

DIPS detects potential bounce tracking by analyzing website behavior, such as:

  • Short dwell times on a website before redirecting.
  • Programmatic redirects (as opposed to user-initiated ones).
  • Writing to storage (cookies, etc.) before redirecting.

If DIPS determines that a website is likely involved in bounce tracking, and there‘s no indication of legitimate user interaction with the site, it automatically deletes the site’s storage (eTLD+1).

Goals of DIPS:

  • **Reduce cross-site tracking:*- Limit the ability of bounce trackers to identify and track users across different contexts.
  • **Protect user privacy:*- Prevent bounce tracking from circumventing third-party cookie restrictions.
  • **Maintain compatibility:*- Avoid disrupting legitimate use cases like federated logins and payment flows that rely on redirects.
  • **Adaptability:*- Mitigate tracking by short-lived domains that may evade traditional blocklist-based approaches.

Non-Goals:

  • **Replacing third-party cookie blocking:*- DIPS is primarily designed for environments where third-party cookies are already restricted.
  • **Mitigating tracking by sites with significant first-party activity:*- DIPS focuses on incidental parties (sites without meaningful user interaction) and may not be effective against sites with substantial first-party engagement.

Further Reading: