Simple library for cross-domain user identification
npm install cupertino``html`
html
` $3
Configuration options are declared in html data attributes
`html
data-cupertino-event="window-event-key"
data-cupertino-storage="localstorage-key"
data-cupertino-global="global-variable"
data-cupertino-defer="true">
`| parameter | details | required | default |
|-----------|---------------------------------------------------|----------|---------|
| data-cupertino-event | The user identifier will be available in localStorage by referencing this key and will be available in the cupertino event handler by referencing
event.detail. (see code example above) | no | cupertino |
| data-cupertino-global | This will define the visitor identifier as a global variable|no|false|
| data-cupertino-storage | Specific the localStorage key to persist the uid. By defauilt, localStorage is off. | no | false |
| data-cupertino-defer | Setting this to true will prevent Cupertino from generating an identifier automatically and will instead expose a global function Cupertino that can be called to return the identifier | no | false |$3
* Uses ipify, an Open Source IP Lookup API to enhance the entropy when generating the uid hash. This requires a network request
* Includes local timezone stamp to enhance entropy
* Uses base 64 encoded canvas rendering to enhance entropy
* Uses localStorage to persist generated uid locally to avoid regenerating the hash each page-load, which negates the IP lookup network request and the hash computation
* < 3 kb brotli-compressed over the wire via unpkg
* Uses MurmurHash3$3
Clone the repository and run npm run demo which will launch a simple webserver at http://localhost:3000/`Or, just observe that your User ID is the same between this and that 😎