Polygraph.net (EasyPrivacy)

Here you should report unblocked ads, trackers, social media items, annoyances or leftovers from blocked content.
Post Reply
Shri333
New Member
New Member
Posts: 7
Joined: Tue Jan 16, 2024 3:38 pm

Polygraph.net (EasyPrivacy)

Post by Shri333 »

We found evidence that the three scripts below abuse browser features for tracking purposes with the highest privacy risk across the top 1m websites. Is it possible to add a filter to block these?

Code: Select all

https://cdn.polygraph.net/pg.a.nolimit.js
https://cdn.polygraph.net/pg.a.js
https://cdn.polygraph.net/pg.test.js

These scripts itself seem to be click fraud detection for advertisers:

Code: Select all

https://polygraph.net
Shri333
New Member
New Member
Posts: 7
Joined: Tue Jan 16, 2024 3:38 pm

Post by Shri333 »

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'}

And, this is the list of APIs used by

Code: Select all

https://cdn.polygraph.net/pg.a.nolimit.js

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'}
Post Reply