Skip to main content

Does propublica.org fingerprint you?

Browser signals observed; fingerprinting is unconfirmed.

Browser API activity met a monitored signal threshold in the latest measured scans. The activity alone does not establish a tracking purpose.

Open evidence JSON ↗

All 8 source records are included in the JSON. Scan timestamps and versions are shown as recorded. The tabs show the latest usable homepage measurement for each setup. Later failed attempts remain in the history. Scan scope and methodology ↗

Inside the scan

← All websites

Signals observed

1 of 5 signal families observed

Canvas: Not observedWebGL: Not observedAudio: Not observedFonts: Not observedDevice: Observed
Measurement
Measured · Partial load
Page context
Page document
Scan time
2026-10-22T21:00:14.427971Z
Browser / scanner
156.0.8078.4 / 0.4

Captured titleProPublica — Investigative Journalism and News in the Public Interest

CanvasDraws text and reads canvas output.3 API entries

Observed requires a text-drawing API and a canvas readback API. Guide ↗

canvas.getContext1 calls
  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 829 · col 387
canvas.getContext1 calls

Frame: https://www.google.com/recaptcha/api2/anchor

  • Inline caller recorded
canvas.getContext2 calls

Frame: https://www.propublica.org/

  • Inline caller recorded
  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 346 · col 83
WebGLQueries the graphics environment.3 API entries

Observed requires at least three distinct WebGL probing APIs. Guide ↗

webglrenderingcontext.getExtension1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 346 · col 83
webglrenderingcontext.getParameter2 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 346 · col 83
webglrenderingcontext.getSupportedExtensions1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 346 · col 83
AudioRenders or reads audio samples.0 API entries

Observed requires offline rendering, buffer reads, or analyser reads. Guide ↗

No matching API call was captured.

FontsMeasures text repeatedly.0 API entries

Observed requires at least ten text-measurement calls. Guide ↗

No matching API call was captured.

DeviceReads browser and display properties.14 API entries

Observed requires at least three distinct browser, screen, or window properties. Guide ↗

navigator.deviceMemory1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 339 · col 312
navigator.getBattery1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 346 · col 83
navigator.hardwareConcurrency1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 339 · col 312
navigator.language7 calls

Frame: https://www.propublica.org/

  • https://www.google-analytics.com/analytics.jsline 94 · col 17
  • https://www.googletagmanager.com/gtag/js
navigator.maxTouchPoints3 calls

Frame: https://www.propublica.org/

  • https://www.propublica.org/svelte-assets/index-MmgamsBd.jsline 7 · col 7088
  • https://www.propublica.org/wp-content/plugins/propublica/build/svelte-assets/index.js
  • https://www.propublica.org/wp-includes/js/dist/components.min.js
navigator.platform6 calls

Frame: https://www.propublica.org/

  • https://www.propublica.org/wp-includes/js/dist/components.min.js
  • https://www.propublica.org/wp-includes/js/dist/compose.min.js
  • https://www.propublica.org/wp-includes/js/dist/core-data.min.js
  • https://www.propublica.org/wp-includes/js/dist/media-utils.min.js
navigator.userAgent26 calls

Frame: https://www.google.com/recaptcha/api2/anchor

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 535 · col 495
navigator.userAgent117 calls

Frame: https://www.propublica.org/

  • https://www.googletagmanager.com/gtm.js
  • https://www.propublica.org/wp-content/plugins/propublica/build/svelte-assets/index.js
  • https://www.propublica.org/wp-includes/js/dist/block-editor.min.js
  • https://www.propublica.org/wp-includes/js/dist/components.min.js
  • https://www.propublica.org/wp-includes/js/dist/editor.min.js
navigator.webdriver1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 339 · col 312
screen.availHeight2 calls

Frame: https://www.propublica.org/

  • https://cdn.parsely.com/keys/propublica.org/p.js
  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 1199 · col 469
screen.availWidth1 calls

Frame: https://www.propublica.org/

  • https://cdn.parsely.com/keys/propublica.org/p.js
screen.colorDepth1 calls

Frame: https://www.propublica.org/

  • https://cdn.parsely.com/keys/propublica.org/p.js
screen.height9 calls

Frame: https://www.propublica.org/

  • https://cdn.parsely.com/keys/propublica.org/p.js
  • https://www.google-analytics.com/analytics.jsline 93 · col 231
  • https://www.googletagmanager.com/gtag/js
  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 1199 · col 469
screen.width9 calls

Frame: https://www.propublica.org/

  • https://cdn.parsely.com/keys/propublica.org/p.js
  • https://www.google-analytics.com/analytics.jsline 93 · col 219
  • https://www.googletagmanager.com/gtag/js
  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 1199 · col 469
Providers, script signatures, and DNS 3 provider labels

Provider labels and static signatures are scanner observations. A library-name match does not establish that its code executed.

  • Google Adsstats.g.doubleclick.net
  • Google Analyticswww.google-analytics.com
  • Google Tag Managerwww.googletagmanager.com
Network and worker observations 141 requests
Captured scripts
37
Instrumented frames
3
Google Ads observed
Yes
Transmission evidence
Not validated

Legacy transmission hints are excluded. A request after an API call does not establish that the extracted value was sent.

Third-party hosts

  • ak.sail-horizon.com
  • analytics.google.com
  • api.parsely.com
  • cdn-4.convertexperiments.com
  • cdn.parsely.com
  • fonts.gstatic.com
  • p1.parsely.com
  • pixel.wp.com
  • platform.iteratehq.com
  • static.trueanthem.com
  • stats.g.doubleclick.net
  • stats.wp.com
  • www.google-analytics.com
  • www.google.com
  • www.googletagmanager.com
  • www.gstatic.com
Other recorded API calls 2
  • document.cookie.read120 calls
  • document.cookie.write27 calls
Source record and integrity
Original source
results/headful/propublica-org-20261022T210014.json
Original file SHA-256
a6c3405bf1220eaf2f90d3092e0a6aa6a3ff69e6239c4a23631c3f3b10478842

Run ID: headful-a6c3405bf122. The JSON contains sanitized observations, not the original private scan payload.

Other scan attempts (4)

Navigation failed

Navigation failed

Canvas: UnmeasuredWebGL: UnmeasuredAudio: UnmeasuredFonts: UnmeasuredDevice: Unmeasured
Measurement
Navigation failed
Page context
Page not measured
Scan time
2026-10-21T22:19:00.994671Z
Browser / scanner
156.0.8078.4 / 0.3
Navigation failed — no usable scan result

Navigation or page loading failed in this browser setup. The record does not establish why it failed.

Source record and integrity
Original source
results/headful/propublica-org-20261021T221900.json
Original file SHA-256
d87cd7668ff1e54a53e36251e61ed5a00f367a1e3d68fa0f54a1f809ec2f4f4c

Run ID: headful-d87cd7668ff1. The JSON contains sanitized observations, not the original private scan payload.

Scanner error

Scanner error

Canvas: UnmeasuredWebGL: UnmeasuredAudio: UnmeasuredFonts: UnmeasuredDevice: Unmeasured
Measurement
Scanner error
Page context
Page not measured
Scan time
2026-10-22T15:25:00.715796Z
Browser / scanner
156.0.8078.4 / 0.4
Scanner error — no usable scan result

The scanner crashed while collecting this page. No usable API results were saved for this setup. A fresh scan is needed; this is not a site-blocking verdict.

Source record and integrity
Original source
results/headful/propublica-org-20261022T152500.json
Original file SHA-256
10950c764c865a6d5983fbef07e9331c9f483906e58787fbe20152072994b6e5

Run ID: headful-10950c764c86. The JSON contains sanitized observations, not the original private scan payload.

Navigation failed

Navigation failed

Canvas: UnmeasuredWebGL: UnmeasuredAudio: UnmeasuredFonts: UnmeasuredDevice: Unmeasured
Measurement
Navigation failed
Page context
Page not measured
Scan time
2026-10-22T15:25:02.188898Z
Browser / scanner
156.0.8078.4 / 0.4
Navigation failed — no usable scan result

Navigation or page loading failed in this browser setup. The record does not establish why it failed.

Source record and integrity
Original source
results/headful/propublica-org-20261022T152502.json
Original file SHA-256
3425d9dd6e7a508bebc5eb439b5a653737aa07ba4a881c31d0352c8395db940a

Run ID: headful-3425d9dd6e7a. The JSON contains sanitized observations, not the original private scan payload.

Scanner error

Scanner error

Canvas: UnmeasuredWebGL: UnmeasuredAudio: UnmeasuredFonts: UnmeasuredDevice: Unmeasured
Measurement
Scanner error
Page context
Page not measured
Scan time
2026-10-22T21:00:13.104787Z
Browser / scanner
156.0.8078.4 / 0.4
Scanner error — no usable scan result

The scanner crashed while collecting this page. No usable API results were saved for this setup. A fresh scan is needed; this is not a site-blocking verdict.

Source record and integrity
Original source
results/headful/propublica-org-20261022T210013.json
Original file SHA-256
4cd46be86cc64334a93dc31570d78a1f43d1f8f40eb7ca569a48af0c1c8c1504

Run ID: headful-4cd46be86cc6. The JSON contains sanitized observations, not the original private scan payload.

Signals observed

1 of 5 signal families observed

Canvas: Not observedWebGL: Not observedAudio: Not observedFonts: Not observedDevice: Observed
Measurement
Measured · Partial load
Page context
Page document
Scan time
2026-10-22T23:16:23.896353Z
Browser / scanner
156.0.8078.4 / 0.4

Captured titleProPublica — Investigative Journalism and News in the Public Interest

CanvasDraws text and reads canvas output.4 API entries

Observed requires a text-drawing API and a canvas readback API. Guide ↗

canvas.getContext1 calls
  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 829 · col 387
canvas.getContext1 calls
  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 829 · col 387
canvas.getContext1 calls

Frame: https://www.google.com/recaptcha/api2/anchor

  • Inline caller recorded
canvas.getContext2 calls

Frame: https://www.propublica.org/

  • Inline caller recorded
  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 346 · col 83
WebGLQueries the graphics environment.3 API entries

Observed requires at least three distinct WebGL probing APIs. Guide ↗

webglrenderingcontext.getExtension1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 346 · col 83
webglrenderingcontext.getParameter2 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 346 · col 83
webglrenderingcontext.getSupportedExtensions1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 346 · col 83
AudioRenders or reads audio samples.0 API entries

Observed requires offline rendering, buffer reads, or analyser reads. Guide ↗

No matching API call was captured.

FontsMeasures text repeatedly.0 API entries

Observed requires at least ten text-measurement calls. Guide ↗

No matching API call was captured.

DeviceReads browser and display properties.12 API entries

Observed requires at least three distinct browser, screen, or window properties. Guide ↗

navigator.deviceMemory1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 339 · col 312
navigator.getBattery1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 346 · col 83
navigator.hardwareConcurrency1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 339 · col 312
navigator.language9 calls

Frame: https://www.propublica.org/

  • https://www.google-analytics.com/analytics.jsline 94 · col 17
  • https://www.googletagmanager.com/gtag/js
navigator.maxTouchPoints3 calls

Frame: https://www.propublica.org/

  • https://www.propublica.org/svelte-assets/index-MmgamsBd.jsline 7 · col 7088
  • https://www.propublica.org/wp-content/plugins/propublica/build/svelte-assets/index.js
  • https://www.propublica.org/wp-includes/js/dist/components.min.js
navigator.platform6 calls

Frame: https://www.propublica.org/

  • https://www.propublica.org/wp-includes/js/dist/components.min.js
  • https://www.propublica.org/wp-includes/js/dist/compose.min.js
  • https://www.propublica.org/wp-includes/js/dist/core-data.min.js
  • https://www.propublica.org/wp-includes/js/dist/media-utils.min.js
navigator.userAgent25 calls

Frame: https://www.google.com/recaptcha/api2/anchor

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 535 · col 495
navigator.userAgent117 calls

Frame: https://www.propublica.org/

  • https://ak.sail-horizon.com/spm/spm.v1.min.jsline 1 · col 130140
  • https://www.propublica.org/wp-content/plugins/propublica/build/svelte-assets/index.js
  • https://www.propublica.org/wp-includes/js/dist/block-editor.min.js
  • https://www.propublica.org/wp-includes/js/dist/components.min.js
  • https://www.propublica.org/wp-includes/js/dist/editor.min.js
navigator.webdriver1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 339 · col 312
screen.availHeight1 calls

Frame: https://www.propublica.org/

  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 1199 · col 469
screen.height10 calls

Frame: https://www.propublica.org/

  • https://www.google-analytics.com/analytics.jsline 93 · col 231
  • https://www.googletagmanager.com/gtag/js
  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 1199 · col 469
screen.width10 calls

Frame: https://www.propublica.org/

  • https://www.google-analytics.com/analytics.jsline 93 · col 219
  • https://www.googletagmanager.com/gtag/js
  • https://www.gstatic.com/recaptcha/releases/[redacted-id]/recaptcha__en.jsline 1199 · col 469
Providers, script signatures, and DNS 3 provider labels

Provider labels and static signatures are scanner observations. A library-name match does not establish that its code executed.

  • Google Adsstats.g.doubleclick.net
  • Google Analyticswww.google-analytics.com
  • Google Tag Managerwww.googletagmanager.com
Network and worker observations 148 requests
Captured scripts
38
Instrumented frames
4
Google Ads observed
Yes
Transmission evidence
Not validated

Legacy transmission hints are excluded. A request after an API call does not establish that the extracted value was sent.

Third-party hosts

  • ak.sail-horizon.com
  • analytics.google.com
  • api.sail-personalize.com
  • cdn-4.convertexperiments.com
  • cdn.parsely.com
  • fonts.gstatic.com
  • pixel.wp.com
  • platform.iteratehq.com
  • static.trueanthem.com
  • stats.g.doubleclick.net
  • stats.wp.com
  • www.google-analytics.com
  • www.google.com
  • www.googletagmanager.com
  • www.gstatic.com
Other recorded API calls 2
  • document.cookie.read121 calls
  • document.cookie.write29 calls
Source record and integrity
Original source
results/headless/propublica-org-20261022T231623.json
Original file SHA-256
02a42e017b30a170ebf6ad82bed990272dbcb60a6fb9c6d5d6bcf250ee7eb95f

Run ID: research-02a42e017b30. The JSON contains sanitized observations, not the original private scan payload.

Other scan attempts (2)

Navigation failed

Navigation failed

Canvas: UnmeasuredWebGL: UnmeasuredAudio: UnmeasuredFonts: UnmeasuredDevice: Unmeasured
Measurement
Navigation failed
Page context
Page not measured
Scan time
2026-10-21T20:47:03.023843Z
Browser / scanner
156.0.8078.4 / 0.3
Navigation failed — no usable scan result

Navigation or page loading failed in this browser setup. The record does not establish why it failed.

Source record and integrity
Original source
results/headless/propublica-org-20261021T204703.json
Original file SHA-256
68df476bfd099c07444e3066eb5553deeeca5711dcea251c11c8ec3adfc14cc2

Run ID: research-68df476bfd09. The JSON contains sanitized observations, not the original private scan payload.

Navigation failed

Navigation failed

Canvas: UnmeasuredWebGL: UnmeasuredAudio: UnmeasuredFonts: UnmeasuredDevice: Unmeasured
Measurement
Navigation failed
Page context
Page not measured
Scan time
2026-10-22T18:48:44.575621Z
Browser / scanner
156.0.8078.4 / 0.4
Navigation failed — no usable scan result

Navigation or page loading failed in this browser setup. The record does not establish why it failed.

Source record and integrity
Original source
results/headless/propublica-org-20261022T184844.json
Original file SHA-256
785a67f77f48ffee9e991054bc1167dd8ada88542e515eb5cb4475b0dc0829a6

Run ID: research-785a67f77f48. The JSON contains sanitized observations, not the original private scan payload.

Queries, request bodies, cookies, extracted values, raw errors, and session payloads are excluded before publication. The source digest identifies the original private record.

Read the sanitized JSON →