Skip to content

A JS browser fingerprinting library

Notifications You must be signed in to change notification settings

cat0matic/BeaverBird

 
 

Repository files navigation

Forkin' differences

Browser versions change frequently enough that fingerprints are different every few weeks. Could we get better long-term tracking if we just kept the brand names? This version of Beaverbird strips away numbers to do just that. See the browser() method on the Beaverbird object for changes.

Beaverbird

Always there, tracking you

There is no more such thing as untracked behaviour on the web.

BeaverBird takes a step to simplify the techniques that would otherwise be reimplemented again and again in private by some big companies desperately needing "insight into their customers' interactions with their sites (and others)".

Examples

// Get a unique user id
var uid = BeaverBird.uid()

// Get all data that could be extracted by BeaverBird
var data = BeaverBird.data()

// Collect canvas fingerprints
var canvasFingerprint = BeaverBird.canvas()

// Get a list of installed fonts
var fonts = BeaverBird.fonts()
console.log(fonts.indexOf("Arial") !== -1)

// List all browser plugins
var browserPlugins = BeaverBird.plugins()
var hasiPhoto = (plugins.indexOf("iPhotoPhotocast") !== -1)

// Use WebGL information
var webGlStuff = BeaverBird.webgl()

Getting BeaverBird

There are three ways of using BeaverBird. If unsure, just choose the first.

  1. Download the latest release

  2. Install from npm: npm install --save beaverbird

  3. Install with bower: bower install --save beaverbird

Include it in a <script> tag or use Browserify to require("beaverbird").

Full Documentation

See here

Todo List

Contributions are encouraged!

  • releasing version 1.0 soon, guaranteeing a stable API

  • Improvements in Windows-specific tracking (ActiveX, Silverlight?, plugins, fonts...)

  • Achieving a higher degree of accuracy on mobile devices (especially iOS), if possible

  • Implementing WebCL tracking if useful

  • Gathering information using flash / finding a good way to embed and build the swf file

  • Implementing statistical ways for finding browser uniqueness

Information about tracking

Other Useful documents

About

A JS browser fingerprinting library

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 96.9%
  • HTML 3.1%