cut short: the visit hit the scanner's request-recording cap, so its counts are truncated; the visit hit the scan proxy's traffic budget, so it stopped forwarding further traffic; the in-page fingerprint observer could not read every frame, so the fingerprinting evidence is incomplete; derived from status and warnings
Incomplete evidence: evidence was cut short before completion (the visit hit the scanner's request-recording cap, so its counts are truncated; the visit hit the scan proxy's traffic budget, so it stopped forwarding further traffic; and 1 more). Counts for the affected evidence are lower bounds; families that completed carry only their ordinary limits. The evidence receipt states the exact per-visit quality.
What this actually means
npr.org's retained request log includes catalogued Google and LinkedIn domains.
Retained request rows include 23 distinct catalogued tracking-service entities; 22 of the retained service matches recorded responses across at least 163 retained cross-site domains. A catalog match identifies the service domain, not why the request occurred or what it carried. It also looks like keyboard-input listeners were registered through a call chain that included a cross-site script and 3 browser-fingerprinting heuristics matched.
The scan observed signals a non-expert should not have to decode from raw request tables. Some activity evidence was also incomplete: request counts are retained lower bounds, cookie counts are an incomplete end-state snapshot and storage counts are an incomplete end-state snapshot.
The cards below translate the evidence into plain language. This failed or incomplete evidence is not ranked against corpus percentiles; positive signals remain visible as lower bounds. The request log, domain table, and methodology remain below for verification.
at least 1,000 retained requests observed in one controlled visit.
Worth checking
at least 599 retained requests matched Brave Shields filter lists
at least 599 retained requests matched the default filter lists of Brave Shields, the ad and tracker blocker built into the Brave browser, while loading normally.
Computed with Brave's own ad-block engine and default filter lists in classification mode: matched requests were not blocked by the scanner and remain in this report's observed request counts. Matching shows what Shields would target on this visit's traffic; an actual Shields visit blocks these and also prevents their follow-on requests, so this number is neither a measured block count nor the total effect.
The hand-curated service catalog separately matched at least 379 retained request rows in this visit.Show matched requests
Context
This Shields comparison is not conclusive
The "No blocking" visit hit the 1,000-request recording cap, so its counts are truncated. and The "No blocking" visit exhausted its proxy connection and target safety budget, so its request evidence is incomplete.
The raw request logs of both visits remain below for transparency, but the diff between them supports no claim about what the compared condition changed.
Consent tooling and requests to tracking-service entities appeared before any choice
www.npr.org sent a request to OneTrust, a consent management platform (the tooling that shows cookie banners), and the request log included at least 23 retained distinct catalogued tracking-related services before the scanner made any consent choice; 22 companies answered.
A request to the platform's loader proves the page attempted to fetch consent tooling; an observed response supports delivery, but neither fact proves a banner was visibly shown to this scanner. Banner display can vary by region and visit context. The scanner never clicks a banner in this mode, so this report records requests made before the scanner made a consent choice. It does not determine whether any request required consent or whether the site's behavior complied with applicable law. More tracking-service entities or requests may appear after "Accept" than this report captures, so the counts here are lower bounds for users who consent.
Consent platform detected via a request to cdn.cookielaw.org.
Context
Tracking companies the privacy policy does not appear to name
PubMatic, Magnite and Sovrn, plus 8 others were sent requests during this visit, but the policy text matched none of the names this scan knows those companies by.
Policies often disclose vendor categories rather than company names, so an unnamed vendor is a transparency gap worth reviewing, not automatically a violation. Named in the policy: Google, LiveRamp and Chartbeat.
Policy at https://www.npr.org/{seg}/{n}/privacy-policy; 0 checkable statements matched; 3 of 14 observed tracking companies named in the policy; policy mentions of Amazon Ads are unknown because the historical alias matcher was incomplete.
Review-worthy
Requests were dispatched to catalogued service domains
Google, Amazon Ads and PubMatic, plus 20 others appeared in the request log.
A catalog match identifies a maintainer-reviewed service/domain mapping; it does not establish why an individual request occurred, what it carried, or whether profiling happened. Functional catalog labels include analytics / tag management, advertising and advertising / supply-side platform. This scan could not identify 118 of the 163 third-party hosts recorded here, so it cannot say who operates them. That is a limit of identity coverage, not evidence about the site. Catalog labels include session-replay or behavior-analytics services: Crazy Egg; the domain match alone does not prove that a recording occurred.
at least 961 retained cross-site requests across at least 163 retained third-party hosts.Show third-party requests
Context
Requests were dispatched to catalogued major-platform domains
This visit dispatched requests to catalogued domains for Google and LinkedIn.
The domain matches identify services, not the requests' purpose, payload, or whether any profile linking occurred.
Incomplete evidence: Google Analytics present, no remarketing signal in retained evidence before collection stopped
Google Analytics was observed, but no DoubleClick remarketing sync appeared in this visit.
Standard analytics collection was observed, without the stats.g.doubleclick.net advertising sync. Evidence collection was cut short, so this covers only what was recorded before the cutoff.
164 third-party cookies showed up during the visit.
The scanner observed cookie metadata whose domain crossed the scanned site's registrable-domain boundary. This report does not retain cookie values or partition keys, so it does not establish whether a cookie was a persistent identifier or could recognize a visitor across sites.
206 cookies total in this report.
Worth checking
Input-monitoring signal involving a third-party script
Listener coverage that could observe typing-related input events was registered through call chains that included a third-party script.
This is a behavioral instrumentation signal from listener registration, stack-attributed script origins, and known-vendor requests: it shows the page was instrumented to observe interaction, not that anything was transmitted. Stack attribution records the script origins present in the bounded registration call chain; a cross-site origin in that chain does not by itself establish that the cross-site script registered the listener, because first-party code can register its own listeners through a helper served from elsewhere. A different registrable domain is also not by itself a different operator: sites commonly serve their own scripts from a separate asset domain, so the card says third party only when the catalog or reviewed ownership attributes an origin to another organization. On scanners that run the active keystroke-capture probe, actual transmission is tested separately (a synthetic value is typed, never real input, and no typed values are collected); treat this card as a review prompt rather than proof.
646 interaction-listener registrations with https://ads.pubmatic.com/, https://cdn.cookielaw.org/ and https://cdn.cxense.com/, plus 11 others in the registration call chain, 186 input-listener registrations with https://cdn.cookielaw.org/, https://cdn.cxense.com/ and https://cdn.piano.io/, plus 7 others in the registration call chain and known session-replay vendor(s): Crazy Egg
Worth checking
Behavioral fingerprinting heuristics matched
At least 3 behavioral heuristics matched in retained evidence: Canvas fingerprinting heuristic, Canvas font probing heuristic and Offline audio rendering heuristic.
These heuristics look for behavior patterns such as canvas readback after drawing, repeated canvas font measurement, WebGL entropy reads, offline audio rendering, or WebRTC peer-connection setup. They are review prompts for this visit, not proof of cross-site identity tracking.
2 canvases matched; reads: canvas.toDataURL, 69 measureText calls across up to 57 fonts; measured text contents are not stored and 1 offline render with audio.OfflineAudioContext.createAnalyser, audio.OfflineAudioContext.createDynamicsCompressor and audio.OfflineAudioContext.createOscillator, plus 2 others
Raw evidence
Open the interactive evidence explorer
The findings above are built from the stored report. Load the request rows, domains, cookies, storage keys, browser signals, visit phases, charts and CSV export when you want to check them; the versioned report JSON is always available below without this interface.
This versioned report is currently retained in the public corpus. Follow the currently retained site history, repeat the same public route when it is available, or request a transparent evidence correction.
cut short: the visit hit the scanner's request-recording cap, so its counts are truncated; the visit hit the scan proxy's traffic budget, so it stopped forwarding further traffic; the in-page fingerprint observer could not read every frame, so the fingerprinting evidence is incomplete; derived from status and warnings
Scanner
playwright-chromium
Browser
151.0.7922.34
Redaction
not recorded by this schema
Provenance
Exact build and instrument digests were not recorded by this legacy schema.
Variant visit
Started
Run quality
complete; derived from status and warnings
Scanner
playwright-chromium
Browser
151.0.7922.34
Redaction
not recorded by this schema
Provenance
Exact build and instrument digests were not recorded by this legacy schema.
Recorded provenance is self-reported measurement metadata, not a cryptographic attestation. The public versioned report JSON contains the retained public evidence; see the methodology for interpretation and retention limits.
This report covers what the scanner measures, not everything a site can do. 16 browser surfaces are not instrumented at all (Every page except the one that was scanned; Anything that only loads after scrolling or interaction; Why a request happened, as a causal chain; and 13 others), 3 capabilities are declined by policy, and 3 are outside what any single visit can see. Their absence from this report is not evidence that they did not occur. Read the published coverage boundary.
Detector accuracy is unmeasured. No calibration study currently publishes a precision or recall for the detectors on this page, so a detector match here is a recorded observation, not a calibrated classification. How detector accuracy is measured.
Approved use boundary: This report is investigative evidence that requires independent corroboration. It is not a standalone legal determination and not the sole exhibit in a legal proceeding. Recorded in this project's release manifest on .