TorZillaPrint |
return to TZP index |
[ re-run ]
prototype | proxy 2 |
|
  document |
|
untrustworthy | |
methods | |
fingerprints are always loose 1, prototype/proxy lies by CreepJS 2, json format by Simon Lydell |
[ re-run ]
| |
[ i ]availLeft
  screen positionsavailTop left top | |
[ i ]
mozOrientation
  orientationorientation.angle orientation.type | |
[ i ]-moz-device-orientation   [css] orientationdevice-aspect-ratio |
| |
[ i ]-moz-device-orientation   [matchMedia] orientationdevice-aspect-ratio |
|
available screen | |
[ i ]range 400-2560
  [css min-device-] screen 1 |
|
[matchMedia] screen 2 | |
screen |   |
outer window | |
[ i ]
range 400-2560
  [css min-] inner window 1, 3 | |
[matchMedia] inner window 2 | |
inner window | |
viewport 4 | |
visualViewport | |
[ i ]
visualViewport
  scrollbarsviewport element | |
[ i ]
mozInnerScreenX
  window positionsmozInnerScreenY screenX screenY | |
[ i ]aspect-ratio   [css] orientationorientation |
| |
[ i ]aspect-ratio   [matchMedia] orientationorientation |
|
[ i ]
mozFullScreenEnabled
  display-mode | fullscreenfullScreen |
| | | |
[ click ]
[ i ]
DON'T PANIC as you briefly
  fullscreen 4enter and then exit full screen | |
[ click ]
[ i ]
attempts to open a new blank
  new windowwindow as big as possible and grab the dimensions | |
dpi | |
[ i ]range 40-400
  [css min-resolution] dpi | |
[ i ]
max-resolution
  [matchMedia] dpi | dppx | dpcm | |
[ i ]
-moz-device-pixel-ratio
  devicePixelRatioborder width |
| |
[window] devicePixelRatio | |
visualViewport scale | |
--- android --- | |
initial outer window ● | |
initial inner window ● | |
[tap] inner window | |
keyboard height | |
toolbar height | |
code based on work by Arthur Edelstein 1 , kkapsner & CanvasBlocker 2 , Matt Traudt 3 and earthlng 4 |
[ re-run ]
| ||
hash | ||
appCodeName | ||
appName | ||
appVersion | ||
buildID | ||
oscpu | ||
platform | ||
product | ||
productSub | ||
userAgent | ||
vendor | ||
vendorSub | ||
--- other methods --- | ||
[ show ] iframes 1 | ||
[contentWindow] document root | ||
[contentWindow] with URL | ||
[window] document root | ||
[window] with URL | ||
iframe access | ||
nested | ||
window access | ||
[ show ] workers | summary not coded | |
web worker | ||
shared worker | ||
service worker | ||
nested worker | test to come | |
worker from blob | test to come | |
[ click ] window.open | ||
iframe code based on work by kkapsner & CreepJS 1 |
These tests are to show that you cannot hide your engine [PoC1] + [PoC2], version [PoC] or OS. | |
[ re-run ]
| |
[css] branding | |
[css] browser | |
[browser] architecture | |
browser | |
version | |
[chrome://] os | |
[css] os 1 | LinuxMacWindowsAndroid |
code based on work by Arthur Edelstein 1 |
[ re-run ]
| |
[ i ]
navigator
  geolocationwindow permission | |
language | |
languages | |
[ show ] locale | |
[ i ]
Collator   localesDateTimeFormat DisplayNames ListFormat NumberFormat PluralRules RelativeTimeFormat | |
[intl] locale | |
[ i ]
calendar
  [resolvedoptions] localehourcycle numberingsystem | |
[tolocalstring] locale | |
date/time | |
date/time & format | |
timezone | |
[PoC]   [offsets] timezone | |
▼ show details | |
locale | |
[PoC]   collation | |
[PoC]   compact | |
[PoC]   currency | |
[PoC]   dayperiod | |
[PoC]   listformat | |
[PoC]   notation | |
[PoC]   [formatToParts] number | |
[PoC]   [cardinal] pluralrules | |
[ordinal] pluralrules | |
[PoC]   relativetime | |
[formatToParts] relativetime | |
[PoC]   sign | |
[PoC]   timezonename | |
[PoC]   unit | |
toLocaleString | |
compact | |
currency | |
notation | |
sign | |
unit | |
date/time | |
date/time | |
toString | |
toGMTString | |
toUTCString | |
toTimeString | |
date/time & format | |
toLocaleString | |
toLocaleDateString | |
toLocaleTimeString | |
DateTimeFormat | |
[formatToParts] DateTimeFormat | |
toLocaleString | |
[Typed Array] toLocaleString | |
toLocaleDateString | |
DateTimeFormat | |
datestyle | timestyle | |
formatrange | |
relatedyear | yearname | |
toLocaleTimeString | |
timeZoneNames | |
[ re-run ]
| |
connection | |
doNotTrack | |
globalPrivacyControl | |
[ re-run ]
| |
color | | |
pixel depth | color depth | | |
color gamut | | |
[ i ]
dom.maxHardwareConcurrency
  hardwareConcurrency | |
any-hover | | |
hover | | |
[ i ]
media.navigator.enabled
  media devicesmedia.peerconnection.enabled | |
mimeTypes | |
plugins | |
pdfViewerEnabled | |
any-pointer | | |
pointer | | |
[ mouse ]
[ i ]
height   pointer event 1isPrimary mozInputSource pointerType pressure tangentialPressure tiltX tiltY twist width | |
speech engines | |
[maxTouchPoints] touch | |
pointer code based on work by Patrick Lauke 1 |
test | result |
These tests are only checking for protection, not entropy. Additional canvas tests [iframes, workers, offscreen] can be found at CanvasBlocker | |
[ re-run ]
| |
[PoC]
  [ i ]random per run
  getImageData | |
isPointInPath | |
isPointInStroke | |
toBlob | |
[PoC]   toDataURL | |
canvas code based on work by kkapsner & CanvasBlocker |
[ re-run ]
| ||
experimental | result | |
webgl | result | |
webgl2 | result | |
webgl code by Abraham Juliot |
[ re-run ]
| |
[ i ]
copyFromChannel
  offlineAudioContext 1getChannelData sum of buffer | |
------ | |
[ click ] hash | |
audioContext 2 | |
OscillatorNode 2 | |
OscillatorNode/DynamicsCompressor 2 | |
audio code based on work by kkapsner & CanvasBlocker 1 and openWPM 2 |
[ re-run ]
| |
default proportional | |
default sizes | |
[ i ]
browser.display.use_document_fonts
  document fonts | |
[ i ]
layout.css.font-tech.enabled
  font-format | font-tech | | |
[css | test] woff2 1 | | |
fonts | |
[ show ] [sizes | names] fonts 2 | | |
offset | |
client | |
scroll | |
pixel | |
pixelsize | |
perspective | |
transform | |
[number] pixel | |
[number] pixelsize | |
[number] perspective | |
[number] transform | |
[base sizes] fonts 2 | |
[system] fonts | |
[widget] fonts | |
glyphs | |
offset 3 | |
clientrect 3 | |
[measureText] width 3 | |
textmetrics | |
actualBoundingBoxAscent | Descent | | |
actualBoundingBoxLeft | Right | | |
alphabeticBaseline | |
emHeightAscent | Descent | | |
fontBoundingBoxAscent | Descent | | |
hanging | ideographicBaseline | | |
code based on work by Filament Group 1 , CreepJS 2 and David Fifield & Serge Egelman 3 |
[ re-run ]
| ||
autoplaypolicy | ||
[user] autoplaypolicy | ||
[audio | video] canPlayType | | | |
[audio | video] isTypeSupported | | | |
[midi] permissions | | | |
[ re-run ]
| ||
[css4] colors | ||
[deprecated] colors | ||
[PoC]   [-moz-] colors | ||
[ show ] computed styles 1 | ||
CSSRuleList.style 1 | ||
getComputedStyle 1 | ||
HTMLElement.style 1 | ||
forced-colors | | | |
inverted-colors | | | |
prefers-color-scheme | | | |
prefers-contrast | | | |
prefers-reduced-data | | | |
prefers-reduced-motion | | | |
prefers-reduced-transparency | | | |
code by CreepJS 1 |
[ re-run ]
| |
HTMLElement keys 1 | |
[PoC]   line-height | |
[ i ]
mathml.disabled
  mathml | |
code by CreepJS 1 |
test | result |
test | result |
[ re-run ]
| |
[ i ]
dom.use_components_shim
  component interfaces | |
[ i ]
Firefox 74+ : javascript.options.
  error message fixproperty_error_message_fix | |
[PoC]   [other] math | |
[trigonometric] math | |
navigator keys | |
[entries] performance.mark | |
performance.now | |
[ i ]
dom.enable_performance
  performance.timing | |
PerformanceNavigationTiming | |
stack depth | length | |
[ i ]
svg.disabled
  svg | |
[ i ]
javascript.options.wasm
  wasm | |
webgpu | |
[iframe] window properties 1 | |
code by CreepJS 1 |
▼ show perf & debugging | |||
---|---|---|---|
global perf
[more] | |||
click perf
[more] |