Home Page

You can try Am I Unique or Panopticlick to learn how identifiable you are on the Internet and test JavaScript Restrictor Extension

jShelter Test Page

High precision timer sources

Date object 00: 00: 00. 000
performance.now Current performance is: -
Timestamp of an event created during page load is: -
Timestamp of a recent event is: -

Canvas fingerprinting

window.HTMLCanvasElement.toDataURL() example

Canvas frame

Original canvas:

.getImageData result:

.toDataURL result:



Initial .isPointInStroke test: false

Initial .isPointInPath test: false


Original canvas:

.readPixels result:

.toDataURL result:

GL version:

Shading language version:


Unmasked vendor:


Unmasked renderer:

Enabled WebGL extenstions:

WebGL shader precisions:










Mime Types:

Hardware information



navigator.geolocation example

Redraw map, when position changes

Your devices connected to the computer

Cameras and microphones


Virtual reality sets

Mixed reality support

window.XMLHttpRequest example

Wrappers and iframes

Iframes can be misused to evade wrappers. Prior to 0.5, jShelter limited some wrappers but not all. To be fully protected, you should see [native code] as a body of all displayed functions. Note that you should see the same content even if you do not use any extension that modifies the calls. We want not to be distinguishable even if fully protected to limit fingerprinting.

JavaScript executed in the main page

JavaScript executed in a regular iframe

JavaScript executed in a same origin iframe