Skip to content

Latest commit

 

History

History
300 lines (291 loc) · 8.9 KB

potential_fingerprinting_apis.md

File metadata and controls

300 lines (291 loc) · 8.9 KB

Potential Fingerprinting APIs

Discovered by BFAD:

API Name
AudioBuffer.getChannelData
BatteryManager.level
CSSRuleList.length
CSSStyleDeclaration.getPropertyValue
CSSStyleSheet.cssRules
CSSStyleSheet.insertRule
CanvasRenderingContext2D.canvas
CanvasRenderingContext2D.getImageData
Crypto.getRandomValues
DynamicsCompressorNode.reduction
HTMLCanvasElement.getContext
HTMLCanvasElement.height
HTMLCanvasElement.toDataURL
HTMLCanvasElement.width
History.length
IdleDeadline.timeRemaining
ImageData.data
IntersectionObserverEntry.intersectionRatio
IntersectionObserverEntry.target
MediaSource.readyState
MemoryInfo.jsHeapSizeLimit
MemoryInfo.totalJSHeapSize
MemoryInfo.usedJSHeapSize
MimeTypeArray.length
MutationRecord.addedNodes
MutationRecord.attributeName
MutationRecord.target
MutationRecord.type
Navigator.appCodeName
Navigator.appName
Navigator.appVersion
Navigator.connection
Navigator.geolocation
Navigator.hardwareConcurrency
Navigator.language
Navigator.languages
Navigator.maxTouchPoints
Navigator.mimeTypes
Navigator.platform
Navigator.plugins
Navigator.product
Navigator.productSub
Navigator.serviceWorker
Navigator.userAgent
Navigator.userAgentData
Navigator.vendor
NetworkInformation.downlink
NetworkInformation.effectiveType
NetworkInformation.rtt
OfflineAudioCompletionEvent.renderedBuffer
OffscreenCanvas.getContext
Performance.mark
Performance.measure
Performance.memory
Performance.now
Performance.timeOrigin
Performance.timing
PerformanceObserverEntryList.getEntries
PerformanceResourceTiming.connectStart
PerformanceResourceTiming.fetchStart
PerformanceResourceTiming.initiatorType
PerformanceResourceTiming.responseEnd
PerformanceResourceTiming.responseStart
PerformanceResourceTiming.toJSON
PerformanceTiming.connectEnd
PerformanceTiming.domainLookupEnd
PerformanceTiming.fetchStart
PerformanceTiming.loadEventStart
PerformanceTiming.navigationStart
PerformanceTiming.responseStart
PermissionStatus.state
PluginArray.length
ProgressEvent.loaded
ProgressEvent.total
Screen.availHeight
Screen.availLeft
Screen.availTop
Screen.availWidth
Screen.colorDepth
Screen.height
Screen.orientation
Screen.pixelDepth
Screen.width
ScreenOrientation.angle
ScreenOrientation.type
SourceBuffer.buffered
SpeechSynthesis.getVoices
VisualViewport.width
WebGL2RenderingContext.canvas
WebGL2RenderingContext.createTexture
WebGL2RenderingContext.getParameter
WebGLRenderingContext.createBuffer
WebGLRenderingContext.getExtension
WebGLRenderingContext.getParameter
WebGLRenderingContext.getShaderPrecisionFormat
Window.clientInformation
Window.crypto
Window.devicePixelRatio
Window.history
Window.innerHeight
Window.innerWidth
Window.location
Window.matchMedia
Window.name
Window.navigator
Window.outerHeight
Window.outerWidth
Window.pageXOffset
Window.pageYOffset
Window.parent
Window.performance
Window.requestIdleCallback
Window.screen
Window.screenLeft
Window.screenTop
Window.screenX
Window.screenY
Window.setInterval
Window.setTimeout
Window.top
Window.visualViewport

Used by known fingerprinting websites

API Name
CacheStorage.open
FeaturePolicy.allowedFeatures
FeaturePolicy.features
FontFace.family
History.pushState
IDBRequest.result
IDBTransaction.objectStore
IntersectionObserverEntry.boundingClientRect
IntersectionObserverEntry.intersectionRect
LargestContentfulPaint.element
LargestContentfulPaint.size
MediaQueryList.media
MessageChannel.port1
MessageEvent.source
MimeType.enabledPlugin
MimeType.suffixes
MimeType.type
MouseEvent.button
Navigator.deviceMemory
Navigator.presentation
Navigator.userActivation
NavigatorUAData.brands
NavigatorUAData.getHighEntropyValues
NavigatorUAData.platform
Performance.getEntriesByType
PerformanceEventTiming.interactionId
PerformanceNavigationTiming.activationStart
PerformanceNavigationTiming.domComplete
PerformanceNavigationTiming.domContentLoadedEventEnd
PerformanceNavigationTiming.domContentLoadedEventStart
PerformanceNavigationTiming.domInteractive
PerformanceNavigationTiming.loadEventEnd
PerformanceNavigationTiming.loadEventStart
PerformanceNavigationTiming.redirectCount
PerformanceNavigationTiming.toJSON
PerformanceNavigationTiming.type
PerformanceNavigationTiming.unloadEventEnd
PerformanceNavigationTiming.unloadEventStart
PerformanceObserver.takeRecords
PerformanceResourceTiming.connectEnd
PerformanceResourceTiming.decodedBodySize
PerformanceResourceTiming.domainLookupEnd
PerformanceResourceTiming.domainLookupStart
PerformanceResourceTiming.encodedBodySize
PerformanceResourceTiming.nextHopProtocol
PerformanceResourceTiming.redirectEnd
PerformanceResourceTiming.redirectStart
PerformanceResourceTiming.requestStart
PerformanceResourceTiming.secureConnectionStart
PerformanceResourceTiming.transferSize
PerformanceResourceTiming.workerStart
PerformanceTiming.domComplete
PerformanceTiming.domInteractive
PerformanceTiming.domLoading
PerformanceTiming.loadEventEnd
PerformanceTiming.requestStart
PerformanceTiming.responseEnd
Plugin.description
Plugin.filename
Plugin.length
Plugin.name
ResizeObserverEntry.contentRect
SVGRect.width
ServiceWorkerContainer.register
ServiceWorkerRegistration.active
SubtleCrypto.digest
TrustedTypePolicy.createHTML
TrustedTypePolicy.createScript
TrustedTypePolicy.createScriptURL
TrustedTypePolicyFactory.createPolicy
TrustedTypePolicyFactory.emptyHTML
WebGLRenderingContext.createProgram
WebGLRenderingContext.createShader
WebGLRenderingContext.getAttribLocation
WebGLRenderingContext.getContextAttributes
WebGLRenderingContext.getSupportedExtensions
WebGLRenderingContext.getUniformLocation
Window.trustedTypes

Manually categorized

API Name
BaseAudioContext.createDynamicsCompressor
BaseAudioContext.currentTime
Cache.keys
Crypto.randomUUID
Document.characterSet
Document.timeline
GPU.getPreferredCanvasFormat
HTMLMediaElement.canPlayType
History.scrollRestoration
History.state
LargestContentfulPaint.loadTime
LargestContentfulPaint.renderTime
LayoutShift.sources
LayoutShift.value
LayoutShiftAttribution.currentRect
LayoutShiftAttribution.node
LayoutShiftAttribution.previousRect
MouseEvent.buttons
MutationObserver.takeRecords
MutationRecord.removedNodes
Navigator.gpu
Performance.getEntries
Performance.getEntriesByName
Performance.navigation
Performance.toJSON
PerformanceEntry.duration
PerformanceEntry.entryType
PerformanceEntry.name
PerformanceEntry.startTime
PerformanceEntry.toJSON
PerformanceLongTaskTiming.attribution
PerformanceLongTaskTiming.toJSON
PerformanceNavigation.redirectCount
PerformanceNavigation.type
PerformanceObserverEntryList.getEntriesByName
PerformanceObserverEntryList.getEntriesByType
PerformanceResourceTiming.serverTiming
PerformanceServerTiming.description
PerformanceServerTiming.duration
PerformanceServerTiming.name
PerformanceTiming.connectStart
PerformanceTiming.domContentLoadedEventEnd
PerformanceTiming.domContentLoadedEventStart
PerformanceTiming.domainLookupStart
PerformanceTiming.redirectEnd
PerformanceTiming.redirectStart
PerformanceTiming.secureConnectionStart
PerformanceTiming.toJSON
PerformanceTiming.unloadEventEnd
PerformanceTiming.unloadEventStart
PointerEvent.pointerId
PushManager.permissionState
SVGGraphicsElement.getBBox
SecurityPolicyViolationEvent.blockedURI
SecurityPolicyViolationEvent.disposition
SecurityPolicyViolationEvent.effectiveDirective
SecurityPolicyViolationEvent.originalPolicy
SecurityPolicyViolationEvent.statusCode
SecurityPolicyViolationEvent.violatedDirective
ServiceWorker.state
ServiceWorkerGlobalScope.registration
ServiceWorkerGlobalScope.skipWaiting
ServiceWorkerRegistration.installing
ServiceWorkerRegistration.scope
SourceBuffer.appendWindowStart
SourceBuffer.timestampOffset
SourceBufferList.length
Storage.key
TaskAttributionTiming.containerSrc
TaskAttributionTiming.containerType
TextTrack.kind
TextTrack.language
TextTrack.mode
TextTrackList.length
UIEvent.which
VisualViewport.height
VisualViewport.offsetTop
VisualViewport.pageTop
VisualViewport.scale
WebSocket.readyState
Window.scrollX
Window.scrollY