The first script, for example, is using 80 out of 270 fingerprinting APIs suggested by google. This is the full list of fingerprinting APIs from google:
Code: Select all
{'AnalyserNode.getByteFrequencyData',
'AnalyserNode.getByteTimeDomainData',
'AnalyserNode.getFloatFrequencyData',
'AnalyserNode.getFloatTimeDomainData',
'AudioBuffer.copyFromChannel',
'AudioBuffer.getChannelData',
'AudioContext.baseLatency',
'AudioContext.outputLatency',
'AudioNode.connect',
'AuthenticatorAttestationResponse.getTransports',
'BackgroundFetchRegistration.failureReason',
'BaseAudioContext.createDynamicsCompressor',
'BaseAudioContext.createOscillator',
'BaseAudioContext.sampleRate',
'BatteryManager.charging',
'BatteryManager.chargingTime',
'BatteryManager.dischargingTime',
'BatteryManager.level',
'BeforeInstallPromptEvent.platforms',
'BluetoothAdvertisingEvent.appearance',
'BluetoothAdvertisingEvent.name',
'BluetoothAdvertisingEvent.txPower',
'BluetoothDevice.name',
'CanvasRenderingContext2D.arc',
'CanvasRenderingContext2D.beginPath',
'CanvasRenderingContext2D.clearRect',
'CanvasRenderingContext2D.closePath',
'CanvasRenderingContext2D.ellipse',
'CanvasRenderingContext2D.fill',
'CanvasRenderingContext2D.fillRect',
'CanvasRenderingContext2D.fillStyle',
'CanvasRenderingContext2D.fillText',
'CanvasRenderingContext2D.font',
'CanvasRenderingContext2D.getImageData',
'CanvasRenderingContext2D.globalCompositeOperation',
'CanvasRenderingContext2D.isPointInPath',
'CanvasRenderingContext2D.isPointInStroke',
'CanvasRenderingContext2D.lineTo',
'CanvasRenderingContext2D.measureText',
'CanvasRenderingContext2D.moveTo',
'CanvasRenderingContext2D.rect',
'CanvasRenderingContext2D.rotate',
'CanvasRenderingContext2D.roundRect',
'CanvasRenderingContext2D.scale',
'CanvasRenderingContext2D.setTransform',
'CanvasRenderingContext2D.shadowBlur',
'CanvasRenderingContext2D.shadowColor',
'CanvasRenderingContext2D.shadowOffsetX',
'CanvasRenderingContext2D.shadowOffsetY',
'CanvasRenderingContext2D.stroke',
'CanvasRenderingContext2D.strokeRect',
'CanvasRenderingContext2D.strokeStyle',
'CanvasRenderingContext2D.transform',
'CanvasRenderingContext2D.translate',
'FeaturePolicy.features',
'Gamepad.id',
'HTMLCanvasElement.captureStream',
'HTMLCanvasElement.getContext',
'HTMLCanvasElement.toBlob',
'HTMLCanvasElement.toDataURL',
'HTMLMediaElement.canPlayType',
'HTMLVideoElement.webkitDecodedFrameCount',
'HTMLVideoElement.webkitDroppedFrameCount',
'History.length',
'InputDeviceCapabilities.firesTouchEvents',
'Keyboard.getLayoutMap',
'MediaDevices.enumerateDevices',
'MediaDevices.getUserMedia',
'MediaRecorder.audioBitsPerSecond',
'MediaRecorder.mimeType',
'MediaRecorder.videoBitsPerSecond',
'MouseEvent.screenX',
'MouseEvent.screenY',
'Navigator.appVersion',
'Navigator.cookieEnabled',
'Navigator.deviceMemory',
'Navigator.doNotTrack',
'Navigator.getUserMedia',
'Navigator.hardwareConcurrency',
'Navigator.javaEnabled',
'Navigator.language',
'Navigator.languages',
'Navigator.maxTouchPoints',
'Navigator.mimeTypes',
'Navigator.pdfViewerEnabled',
'Navigator.platform',
'Navigator.plugins',
'Navigator.productSub',
'Navigator.userAgent',
'Navigator.vendor',
'Navigator.vendorSub',
'Navigator.webkitGetUserMedia',
'NavigatorUAData.brands',
'NavigatorUAData.getHighEntropyValues',
'NavigatorUAData.mobile',
'NavigatorUAData.platform',
'NavigatorUAData.toJSON',
'NetworkInformation.downlink',
'NetworkInformation.downlinkMax',
'NetworkInformation.effectiveType',
'NetworkInformation.rtt',
'NetworkInformation.saveData',
'NetworkInformation.type',
'OfflineAudioContext.startRendering',
'OffscreenCanvas.convertToBlob',
'OffscreenCanvas.transferToImageBitmap',
'OffscreenCanvasRenderingContext2D.arc',
'OffscreenCanvasRenderingContext2D.beginPath',
'OffscreenCanvasRenderingContext2D.clearRect',
'OffscreenCanvasRenderingContext2D.clip',
'OffscreenCanvasRenderingContext2D.closePath',
'OffscreenCanvasRenderingContext2D.ellipse',
'OffscreenCanvasRenderingContext2D.fill',
'OffscreenCanvasRenderingContext2D.fillRect',
'OffscreenCanvasRenderingContext2D.fillStyle',
'OffscreenCanvasRenderingContext2D.fillText',
'OffscreenCanvasRenderingContext2D.font',
'OffscreenCanvasRenderingContext2D.getImageData',
'OffscreenCanvasRenderingContext2D.globalCompositeOperation',
'OffscreenCanvasRenderingContext2D.isPointInPath',
'OffscreenCanvasRenderingContext2D.isPointInStroke',
'OffscreenCanvasRenderingContext2D.lineTo',
'OffscreenCanvasRenderingContext2D.measureText',
'OffscreenCanvasRenderingContext2D.moveTo',
'OffscreenCanvasRenderingContext2D.rect',
'OffscreenCanvasRenderingContext2D.rotate',
'OffscreenCanvasRenderingContext2D.roundRect',
'OffscreenCanvasRenderingContext2D.scale',
'OffscreenCanvasRenderingContext2D.setTransform',
'OffscreenCanvasRenderingContext2D.shadowBlur',
'OffscreenCanvasRenderingContext2D.shadowColor',
'OffscreenCanvasRenderingContext2D.shadowOffsetX',
'OffscreenCanvasRenderingContext2D.shadowOffsetY',
'OffscreenCanvasRenderingContext2D.stroke',
'OffscreenCanvasRenderingContext2D.strokeRect',
'OffscreenCanvasRenderingContext2D.strokeStyle',
'OffscreenCanvasRenderingContext2D.transform',
'OffscreenCanvasRenderingContext2D.translate',
'PaintRenderingContext2D.arc',
'PaintRenderingContext2D.beginPath',
'PaintRenderingContext2D.clearRect',
'PaintRenderingContext2D.closePath',
'PaintRenderingContext2D.ellipse',
'PaintRenderingContext2D.fill',
'PaintRenderingContext2D.fillRect',
'PaintRenderingContext2D.fillStyle',
'PaintRenderingContext2D.globalCompositeOperation',
'PaintRenderingContext2D.isPointInPath',
'PaintRenderingContext2D.isPointInStroke',
'PaintRenderingContext2D.lineTo',
'PaintRenderingContext2D.moveTo',
'PaintRenderingContext2D.rect',
'PaintRenderingContext2D.rotate',
'PaintRenderingContext2D.roundRect',
'PaintRenderingContext2D.scale',
'PaintRenderingContext2D.shadowBlur',
'PaintRenderingContext2D.shadowColor',
'PaintRenderingContext2D.shadowOffsetX',
'PaintRenderingContext2D.shadowOffsetY',
'PaintRenderingContext2D.stroke',
'PaintRenderingContext2D.strokeRect',
'PaintRenderingContext2D.strokeStyle',
'PaintRenderingContext2D.transform',
'PaintRenderingContext2D.translate',
'PaintWorkletGlobalScope.devicePixelRatio',
'Path2D.arc',
'Path2D.closePath',
'Path2D.ellipse',
'Path2D.lineTo',
'Path2D.moveTo',
'Path2D.rect',
'Path2D.roundRect',
'PaymentRequest.canMakePayment',
'PaymentRequest.hasEnrolledInstrument',
'Plugin.description',
'Plugin.filename',
'Plugin.name',
'PushManager.supportedContentEncodings',
'RTCIceCandidate.address',
'RTCIceCandidate.candidate',
'RTCIceCandidate.port',
'RTCIceCandidate.relatedAddress',
'RTCIceCandidate.relatedPort',
'RTCRtpReceiver.getCapabilities',
'RTCRtpSender.getCapabilities',
'SVGAnimationElement.requiredExtensions',
'SVGAnimationElement.systemLanguage',
'SVGGeometryElement.getPointAtLength',
'SVGGeometryElement.getTotalLength',
'SVGGeometryElement.isPointInFill',
'SVGGeometryElement.isPointInStroke',
'SVGGraphicsElement.requiredExtensions',
'SVGGraphicsElement.systemLanguage',
'SVGMaskElement.requiredExtensions',
'SVGMaskElement.systemLanguage',
'SVGPatternElement.requiredExtensions',
'SVGPatternElement.systemLanguage',
'SVGTextContentElement.getComputedTextLength',
'SVGTextContentElement.getEndPositionOfChar',
'SVGTextContentElement.getExtentOfChar',
'SVGTextContentElement.getStartPositionOfChar',
'SVGTextContentElement.getSubStringLength',
'Screen.availHeight',
'Screen.availLeft',
'Screen.availTop',
'Screen.availWidth',
'Screen.colorDepth',
'Screen.height',
'Screen.isExtended',
'Screen.onchange',
'Screen.pixelDepth',
'Screen.width',
'ScreenDetailed.devicePixelRatio',
'ScreenDetailed.isInternal',
'ScreenDetailed.isPrimary',
'ScreenDetailed.label',
'ScreenDetailed.left',
'ScreenDetailed.top',
'ScreenDetails.oncurrentscreenchange',
'ScreenDetails.onscreenschange',
'ScreenOrientation.angle',
'ScreenOrientation.type',
'Touch.force',
'VisualViewport.height',
'VisualViewport.offsetLeft',
'VisualViewport.offsetTop',
'VisualViewport.pageLeft',
'VisualViewport.pageTop',
'VisualViewport.scale',
'VisualViewport.width',
'WebGL2RenderingContext.getExtension',
'WebGL2RenderingContext.getInternalformatParameter',
'WebGL2RenderingContext.getParameter',
'WebGL2RenderingContext.getRenderbufferParameter',
'WebGL2RenderingContext.getShaderPrecisionFormat',
'WebGL2RenderingContext.getSupportedExtensions',
'WebGL2RenderingContext.makeXRCompatible',
'WebGLCompressedTextureASTC.getSupportedProfiles',
'WebGLRenderingContext.getExtension',
'WebGLRenderingContext.getParameter',
'WebGLRenderingContext.getRenderbufferParameter',
'WebGLRenderingContext.getShaderPrecisionFormat',
'WebGLRenderingContext.getSupportedExtensions',
'WebGLRenderingContext.makeXRCompatible',
'WheelEvent.deltaMode',
'WheelEvent.wheelDelta',
'WheelEvent.wheelDeltaX',
'WheelEvent.wheelDeltaY',
'Window.devicePixelRatio',
'Window.innerHeight',
'Window.innerWidth',
'Window.matchMedia',
'Window.orientation',
'Window.outerHeight',
'Window.outerWidth',
'Window.pageXOffset',
'Window.pageYOffset',
'Window.screenLeft',
'Window.screenTop',
'Window.screenX',
'Window.screenY',
'Window.scrollX',
'Window.scrollY',
'WorkerNavigator.appVersion',
'WorkerNavigator.deviceMemory',
'WorkerNavigator.hardwareConcurrency',
'WorkerNavigator.language',
'WorkerNavigator.languages',
'WorkerNavigator.platform',
'WorkerNavigator.userAgent'}
Code: Select all
{'CanvasRenderingContext2D.beginPath',
'CanvasRenderingContext2D.fill',
'CanvasRenderingContext2D.fillStyle',
'CanvasRenderingContext2D.fillText',
'CanvasRenderingContext2D.font',
'CanvasRenderingContext2D.lineTo',
'CanvasRenderingContext2D.moveTo',
'FeaturePolicy.features',
'HTMLCanvasElement.getContext',
'HTMLCanvasElement.toDataURL',
'History.length',
'Keyboard.getLayoutMap',
'MediaDevices.enumerateDevices',
'MediaDevices.getUserMedia',
'Navigator.appVersion',
'Navigator.cookieEnabled',
'Navigator.deviceMemory',
'Navigator.doNotTrack',
'Navigator.getUserMedia',
'Navigator.hardwareConcurrency',
'Navigator.javaEnabled',
'Navigator.language',
'Navigator.languages',
'Navigator.maxTouchPoints',
'Navigator.mimeTypes',
'Navigator.pdfViewerEnabled',
'Navigator.platform',
'Navigator.plugins',
'Navigator.productSub',
'Navigator.userAgent',
'Navigator.vendor',
'Navigator.vendorSub',
'Navigator.webkitGetUserMedia',
'NavigatorUAData.brands',
'NavigatorUAData.getHighEntropyValues',
'NavigatorUAData.mobile',
'NavigatorUAData.platform',
'NavigatorUAData.toJSON',
'NetworkInformation.downlink',
'NetworkInformation.effectiveType',
'NetworkInformation.rtt',
'NetworkInformation.saveData',
'Plugin.description',
'Plugin.filename',
'Plugin.name',
'Screen.availHeight',
'Screen.availLeft',
'Screen.availTop',
'Screen.availWidth',
'Screen.colorDepth',
'Screen.height',
'Screen.isExtended',
'Screen.onchange',
'Screen.pixelDepth',
'Screen.width',
'ScreenOrientation.angle',
'ScreenOrientation.type',
'VisualViewport.height',
'VisualViewport.offsetLeft',
'VisualViewport.offsetTop',
'VisualViewport.pageLeft',
'VisualViewport.pageTop',
'VisualViewport.scale',
'VisualViewport.width',
'WebGLRenderingContext.getExtension',
'WebGLRenderingContext.getParameter',
'Window.devicePixelRatio',
'Window.innerHeight',
'Window.innerWidth',
'Window.matchMedia',
'Window.outerHeight',
'Window.outerWidth',
'Window.pageXOffset',
'Window.pageYOffset',
'Window.screenLeft',
'Window.screenTop',
'Window.screenX',
'Window.screenY',
'Window.scrollX',
'Window.scrollY'}