If we add two more data points to the client hints collection pipeline, we will be able to measure and confirm the increased entropy in unique device identification.
Context: This hypothesis continues from WE4.2.1. … where we identified that the current Chrome client hints data is a reliable replacement for user agent that will be discontinued.
This hypothesis directly contributes to the KR by providing new signals (browser canvas fingerprint, list of fonts) that will allow CheckUsers to more precisely target sockpuppets and accounts attempting to evade bans.
Note: this is a joint work across (at least) two quarters between Research and Trust and Safety Product Team.
User stories
- As a CheckUser, I should be able to see a device similarity score, to help with identifying sockpuppeting and ban evasions
- As a functionary, when creating an indefinite block of a user, I should be able to block unique device identifiers associated with the user
- ...
Scope of work (subtasks to be created):
- Update ext.checkUser.clientHints to obtain list of fonts and generate a canvas fingerprint
- Update CheckUser client hints APIs to allow for intake of list of fonts and canvas fingerprint hash
- Build a class for generating a locality-sensitive hash client hints, fonts and canvas fingerprint, something like this
- Update CheckUser UI to display the locality-sensitive hash of client hints, fonts and canvas fingerprint
- Update CheckUser UI to be able to show matches with similarity score above some configurable threshold
Legal approval
- (pending) Asana