TorZillaPrint |
return to TZP index |
[ re-run ]
prototype | proxy 2 |
|
document | |
fingerprints are always loose 1, prototype/proxy lies by CreepJS 2, json format by Simon Lydell |
[ re-run ]
| |
[ i ]
availLeft screenavailTop left top |
positions |
[ i ]
mozInnerScreenX
windowmozInnerScreenY screenX screenY | |
[ i ]
mozOrientation
screenorientation.angle orientation.type |
|
|
orientation
|
[ i ]-moz-device-orientation [css] screendevice-aspect-ratio |
| |
[ i ]-moz-device-orientation [matchMedia] screendevice-aspect-ratio |
| |
[ i ]aspect-ratio [css] windoworientation |
| |
[ i ]aspect-ratio [matchMedia] windoworientation |
| |
available screen |
iframes |
screen | |
outer window | |
available screen |
screens
|
[ i ]range 400-2560
[css min-device-] screen 1 |
|
[matchMedia] screen 2 | |
screen | |
outer |
windows |
[ i ]
range 400-2560
[css min-] inner 1, 3 |
|
[matchMedia] inner 2 | |
inner | |
[initial] outer window | |
inner window | |
viewport 4 | |
visualViewport | |
[ i ]
element (auto | thin)
scrollbarsscrollWidth (auto | thin) viewport visualViewport | |
[ i ]
[css] display-mode
display-mode | fullscreendisplay-mode fullScreen mozFullScreenEnabled |
| | | |
[ click ]
[ i ]
DON'T PANIC as you briefly
fullscreenElement 4enter and then exit full screen | |
[F11] fullscreen | |
[ click ]
[ i ]
attempts to open a new blank
new windowwindow as big as possible and grab the dimensions | |
[div] dpi |
pixels |
[ i ]range 40-400
[css min-resolution] dpi | |
[matchMedia] dpi | |
[matchMedia] dppx | dpcm | | |
[ i ]
-moz-device-pixel-ratio devicePixelRatio-webkit-min-device-pixel-ratio window | | | |
[border] devicePixelRatio | |
visualViewport scale | |
--- android --- | |
[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 --- | ||
[+] iframes 1 | ||
[contentWindow] document root | ||
[contentWindow] with URL | ||
[window] document root | ||
[window] with URL | ||
iframe access | ||
nested | ||
window access | ||
[+] 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 [PoC]. | |
[ re-run ]
| |
[css] branding | |
[css] browser | |
[browser] architecture | |
[infinity] 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 | |
[ i ]
lowercase + sorted [system] languages | |
[+] locale | |
[ i ]
Collator localesDateTimeFormat DisplayNames ListFormat NumberFormat PluralRules RelativeTimeFormat Segmenter | |
[intl] locale | |
[resolvedoptions] locale | |
[tolocalstring] locale | |
[intl] dates | |
[to*string] dates | |
media messages | |
validation messages | |
XML messages | |
XSLT messages | |
timezone | |
[+] [offset] timezone | |
date | |
control date | |
iframe | |
parseFromString | |
parseHTMLUnsafe | |
EXSLT | |
[+] [offsets] timezone | |
date | |
[PoC] date.parse | |
date.valueOf | |
getTime | |
getTimezoneOffset | |
Symbol.toPrimitive | |
▼ show details | |
[to*string] dates | |
toTimeString | |
date/time | |
toString | |
toLocaleString | |
toLocaleDateString | |
toLocaleTimeString | |
toLocaleTimeString | |
toLocaleString | |
[Typed Array] toLocaleString | |
[intl] dates | |
DateTimeFormat | |
[formatToParts] DateTimeFormat | |
DateTimeFormat | |
relatedyear | yearname | |
timeZoneNames | |
formatrange | |
[ 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 | |
any-pointer | | |
pointer | | |
[ mouse ]
[ i ]
altitudeAngle pointer event 1azimuthAngle height isPrimary mozInputSource mozPressure pointerType pressure tangentialPressure tiltX tiltY twist width | |
recursion | stack length | |
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 | |
[solid] getImageData | |
isPointInPath | |
isPointInStroke | |
toBlob | |
[solid] toBlob | |
[PoC] toDataURL | |
[solid] toDataURL | |
canvas code based on work by kkapsner & CanvasBlocker |
[ re-run ]
| ||
experimental | result | |
webgl | result | |
webgl2 | result | |
webgl code by Abraham Juliot |
[ re-run ]
| |
audioContext 1 | |
[ i ]
copyFromChannel
offlineAudioContext 2getChannelData sum of buffer | |
------ | |
[ click ] hash | |
OscillatorNode 1 | |
+DynamicsCompressor 1 | |
audio code based on work by openWPM 1 and kkapsner & CanvasBlocker 2 |
[ re-run ]
| |
[ i ]
browser.display.use_document_fonts
document fonts | |
[ i ]
layout.css.font-tech.enabled
font-format | font-tech | | |
[test] graphite 1 | |
[ i ]
proportional font
script defaultsmonospace size sans-serif size serif size | |
[css | test] woff2 2 | | |
[groups] fonts 3 |
fonts |
[+] [sizes | names] fonts 3 | | |
client | |
offset | |
perspective | |
pixel | |
pixelsize | |
scroll | |
transform | |
[number] pixel | |
pixelsize | |
[number] perspective | |
transform | |
[domrect] bounding | |
bounding range | |
client | |
client range | |
[base sizes] fonts 3 | |
[moz] fonts | |
[system] fonts | |
[widget] fonts | |
clientrect 4 |
glyphs |
[measureText] width 4 | |
actualBoundingBoxAscent | Descent |
|
textmetrics
|
actualBoundingBoxLeft | Right | | |
alphabeticBaseline | |
emHeightAscent | Descent | | |
fontBoundingBoxAscent | Descent | | |
hanging | ideographicBaseline | | |
font from SIL 1 and code based on work by Filament Group 2 , CreepJS 3 and David Fifield & Serge Egelman 4 |
[ re-run ]
| ||
autoplaypolicy | ||
[user] autoplaypolicy | ||
clearkey | ||
[audio | video] canPlayType | | | |
[audio | video] isTypeSupported | | | |
[midi] permissions | | | |
[ re-run ]
| ||
[css4] colors | ||
[deprecated] colors | ||
[PoC] [-moz-] colors | ||
[+] computed styles 1 | ||
CSSRuleList.style 1 | ||
DOMParser 1 | ||
getComputedStyle 1 | ||
HTMLElement.style 1 | ||
forced-colors | | | |
inverted-colors | | | |
prefers-color-scheme | | | |
prefers-contrast | | | |
prefers-reduced-data | | | |
prefers-reduced-motion | | | |
prefers-reduced-transparency | | | |
[ i ]
layout.css.always_underline_links
underline links | ||
code by CreepJS 1 |
[ re-run ]
| |
[PoC] DOMRect | |
HTMLElement keys 1 | |
[PoC] line-height | |
[ i ]
mathml.disabled
mathml | |
[PoC] widgets | |
code by CreepJS 1 |
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 | |
[ i ]
svg.disabled
svg | |
[ i ]
javascript.options.wasm
wasm | |
[iframe] window properties 1 | |
code by CreepJS 1 |
▼ show perf & debugging | |||
---|---|---|---|
global perf
[more] | |||
click perf
[more] |