Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ubid

Package Overview
Dependencies
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ubid

A browser identification library.

  • 0.1.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

ubid - Unique Browser ID

====

Attempts to generate a number of unique identifiers for a given browser.

These identifiers are useful for when cookies and/or local storage have been disabled. For instance, Apple has started doing this for all third-party websites shown in iframes. Although that may help privacy to some degree (arguably, not enough of a degree given this module), it can also render parts of sites unusable for legitimate purposes to users.

var ubid = require( 'ubid' );

ubid.get( function( error, signatureData ) {
    if ( error ) {
        console.error( error );
        return;
    }
    
    // dump for example
    console.log( signatureData );
} );

Would produce:

{
    "random": {
        "signature": "0d9444a0-c566-4c87-a2c6-406b2e12a26a"
    },
    "browser": {  
        "signature": "fe90bcf955cc65b51f1adc1ca374f163e09a29c6d173e25c783c9c5c77badada"
    },
    "canvas": {
        "signature": "db5991b6bb503650bf69b285a6c0f895f11b73c135c112905241f60835be2652"
    },
    "localStorage":true
}

Let's break them down:

  • random

This is a random guid assigned to the browser. This will change each time unless localStorage is true, in which case this is the best identifier to use since it is almost certainly guaranteed to be unique and to persist.

This is also a best case for private browsing modes in that this id will differ from normal browsing (this is normally desirable).

  • canvas

This is a unique id generated by rendering some fonts and colors to an HTML5 canvas and hashing the result. According to various sources (eg: https://www.browserleaks.com/canvas) this can be a fairly reliable unique identifier due to the variances in how different graphics cards and systems will render the results.

  • browser

This is a unique id generated by joining and hashing a number of browser attributes. This is most likely the least unique identifier and should be the last resort for identifing a particular user/browser.

Keywords

FAQs

Package last updated on 21 Oct 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc