Beaverbird
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 idvar uid = BeaverBird.uid() // Get all data that could be extracted by BeaverBirdvar data = BeaverBird.data() // Collect canvas fingerprintsvar canvasFingerprint = BeaverBird.canvas() // Get a list of installed fontsvar fonts = BeaverBird.fonts()console.log(fonts.indexOf("Arial") !== -1) // List all browser pluginsvar browserPlugins = BeaverBird.plugins()var hasiPhoto = (plugins.indexOf("iPhotoPhotocast") !== -1) // Use WebGL informationvar webGlStuff = BeaverBird.webgl()
Getting BeaverBird
There are three ways of using BeaverBird. If unsure, just choose the first.
-
Download the latest release
-
Install from npm:
npm install --save beaverbird
-
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
- canvas tracking: http://cseweb.ucsd.edu/~hovav/dist/canvas.pdf
- many different tracking techniques: http://www.browserleaks.com/
- Font detection described: http://www.lalit.org/lab/javascript-css-font-detect/
- Some ideas worth implementing: http://browserspy.dk/
- Interesting statistical methods: https://panopticlick.eff.org/browser-uniqueness.pdf
- https://www.eff.org/deeplinks/2010/01/primer-information-theory-and-privacy