I. Introduction
When users visit a website, their web browser provides a range of information to the website, including the name and version of the browser, screen size, fonts installed, and so on. Ostensibly, this information allows the website to provide a great user experience. Unfortunately, this same information can also be used to track users. In particular, this information can be used to generate a distinctive signature, or device fingerprint, to identify users. Similarly, mobile app developers can also generate a device fingerprint using the idiosyncrasies of software and hardware.