Install AmIUnique App

Be one of the participants in our research! We're investigating the potential of device fingerprinting on Android mobile devices and exploring how unique each device truly is. Help us by installing our app and scanning your device's fingerprint!

Install AmIUnique

Privacy policy

The goal of this project is to measure and study the diversity of web browsers and establish statistical profiles of browser fingerprints. All of the data for the project will be collected in an anonymized form which ensures that it is not Personally Identifiable Information*, nor otherwise likely to lead to the identification or tracking of any web users. We are committed to protecting the privacy of visitors to our website. In this policy, « we » refers to the Inria researchers and students who are bound to keep information they receive confidential.
*Personally identifiable information (PII) is any data that could potentially identify a specific individual.

Informations récoltées par le site web AmIUnique

For the needs of the research project defined here , AmIUnique collects anonymous data about the configuration of computers, operating systems, browsers and plugins. If you click the « View my fingerprint » button, this type of information will be collected from your browser. Although these kinds of data may form a « fingerprint » that could in principle be combined with information about page requests and identifying details in order to track people's browsing habits, we will never do so.

The specific 'fingerprint' information we collect is :
the User agent header
HTTP header sent to the server that contains information regarding your browser and operating system
the Accept header
HTTP header sent to the server that contains information regarding the type of media that are acceptable for the response
the Connection header
HTTP header sent to the server that contains specific options that are desired for that particular connection
the Encoding header
HTTP header sent to the server that lists the compression methods supported by the browser
the Language header
HTTP header sent to the server that indicates the preferred languages for the response
the Upgrade Insecure Requests header
HTTP header sent to the server that indicates the client's preference for an encrypted and authenticated response.
the Referer header
The address of the previous web page from which a link to the currently requested page was followed.
the Cache-Control header
Specifies directives for caching mechanisms in both requests and responses.
the Host header
HTTP header sent to the server that specifies the domain name of the server and eventually the TCP port number on which the server is listening
the Do Not Track header
HTTP header sent to the server that indicates the user's tracking preference.
The If not match header
Makes the request conditional and applies the method only if the stored resource doesn't match any of the given ETags. This is used to update caches (for safe requests), or to prevent to upload a new resource when one is already existing.
The pragma header
Implementation-specific header that may have various effects anywhere along the request-response chain. Used for backwards compatibility with HTTP/1.0 caches where the Cache-Control header is not yet present.
The x-forwarded-proto header
The X-Forwarded-Proto (XFP) header is a de-facto standard header for identifying the protocol (HTTP or HTTPS) that a client used to connect to your proxy or load balancer. Your server access logs contain the protocol used between the server and the load balancer, but not the protocol used between the client and the load balancer. To determine the protocol used between the client and the load balancer, the X-Forwarded-Proto request header can be used.
The xnginx-proxy header
Indicate we are behind a nginx proxy.
The sec fetch headers
Set of Fetch metadata request headers that aim to provide servers with enough information to make a priori decisions about whether or not to service a request based on the way it was made, and the context in which it will be used.
All custom headers
Non-standard http headers added for example by extensions or yourself. These headers can be particularly discriminating and are very interesting to study.

Browser-populated JavaScript attribute that gives the list of activated plugins in the browser (window.navigator.plugins)

Browser-populated JavaScript attribute that indicates the platform the browser is running on (window.navigator.platform)

Browser-populated JavaScript attribute that indicates if the browser accepts cookies or not (window.navigator.cookieEnabled)

A string giving details on the browser and its underlying operating system. This attribute is collected with Javascript.

Browser-populated JavaScript attribute that indicates your Do Not Track setting (window.navigator.doNotTrack), "NC" means the value was not specified

Timezone offset of your browser obtainable through JavaScript (new Date().getTimezoneOffset())

Browser-populated JavaScript attributes that indicate the resolution of the device's screen (window.screen.height/width/colorDepth)

JavaScript test to find out if local storage is supported (storage of a specific value in "localStorage")

JavaScript test to find out if session storage is supported (storage of a specific value in "sessionStorage")

Rendering of a specific picture with the HTML5 Canvas element following a fixed set of instructions. The picture presents some slight noticeable variations depending on the OS and the browser used.

Rendering of specific 3D forms following a fixed set of instructions. The picture presents some slight noticeable variations depending on the device of the user.

Test to find out if the AdBlock extension is installed

Using Javascript for getting preferred languages for the response

Javascript attributes giving information about the audio output such as supported types, context or frequency.

Returns property belonging to the battery value, such as level, charging, chargin time and discharging time.

A string indicating the build identifier of the browser(not present in all browsers). This attribute is collected through JavaScript via the 'navigator' object.

Connection informations

Test to detect the keyboard layout (qwerty, azerty, etc)

Returns the list of microphones, cameras, headphones.. presents on the device

List the properties present in the navigator object

Permissions of the browser

Test if some sensors are present on the device.

Supported video format for the video element

Test some window properties.

Some attributes with bot detection as a goal like error generation or testing some API like selenium.

using Flash
Flash attribute that gives the entire list of fonts installed on the operating system (flash.text.Font.enumerateFonts(true))
using JS
Fonts installed in the device using JS

In addition to these data, we collect several kinds of `housekeeping' information to assist us in analyzing the fingerprint data. The housekeeping information is :

  • Les Cookies
  • IP addresses
  • Timestamps

Our practices and purposes for collecting these housekeeping records are discussed below :

Cookies

AmIUnique sets a cookie that persists for 4 months for the purpose of determining how often browser characteristics change, and how often they stay the same, when a browser returns over time. If your browser is configured to accept cookies, and you return to AmIUnique several times, the cookie will be used to link the data from your visits together so that we can study the natural evolution of browser fingerprints. AmIUnique also stores a temporary cookie that persists for 5 minutes in order to avoid fingerprinting a user again if they revisit within 5 minutes. If you want to disable/enable browser cookies, click on the link below corresponding to your browser for instructions. You should be aware that entirely disabling cookies may block some interactive features on some websites (most notably, automatic logins).

Instructions for:

Moreover, if you are interested in enabling/disabling Flash cookies, you can do so by visiting the following page : Manage Flash cookies

IP addresses
AmIUnique logs IP address. This IP will allow us to collect a dataset about how often browsers that change IP address could have been followed using a fingerprint.
Timestamps
AmIUnique collects a timestamp each time it is visited. This will be used to measure how fast browser fingerprints change.

This Privacy Policy is based on some material from the EFF website (Electronic Frontier Foundation), which is freely redistributed under the Creative Commons Attribution License

Am I Unique ?
This website aims at studying the diversity of browser fingerprints and providing developers with data to help them design good defenses. Contribute to the efforts by viewing your own browser fingerprint or consult the current statistics of data provided by users around the world! If you click on this button.

Contact us

browser-fingerprinting@univ-lille.fr
Email
40 avenue Halley, 59650 Villeneuve d’Ascq, France
Address
2024 — AmIUnique.org