Baseline visit v1 schema · facts legacy-derived · descriptive report

www.npr.org

Requested addresshttps://www.npr.org/

Jul 2, 2026, 2:35 PM UTC

complete; derived from status and warnings

Public corrections ledger · SBL-CORR-2026-002

This report has a reviewed clarification

SBL-CORR-2026-002: The policy entity matcher did not recognize Amazon and Oracle under their catalog names. An unmentioned-entity result for Amazon Ads or Oracle Advertising is not reliable evidence that the policy omitted the company. Original policy text was not retained, so individual mention results cannot be reconstructed. Consult all clarification events for this report.

Read the public review record

Scan report ready for www.npr.org: 340 recorded request rows.

Comparison Reportv1 schema · facts legacy-derived · descriptive report

Consent comparison attempt (no banner clicked)

Recorded final address https://www.npr.org/ (opens in a new tab)
ShareDownloads the Accept-all attempt visit's request CSV, source report and correction context in a ZIP. Follows the evidence switcher below.PDF + evidence (opens in a new tab)Downloads a ZIP containing the PDF for every recorded visit, exact source JSON, correction context and file hashes. The scanner renders it on request.

What this actually means

npr.org contacted catalogued Google and LinkedIn domains during this visit.

SBL-CORR-2026-002: The policy entity matcher did not recognize Amazon and Oracle under their catalog names. An unmentioned-entity result for Amazon Ads or Oracle Advertising is not reliable evidence that the policy omitted the company. Original policy text was not retained, so individual mention results cannot be reconstructed. Consult all clarification events for this report.

15tracking-service entities
296cross-site requests
34third-party cookie records
2fingerprint-like patterns

Plain-Language Findings

What this visit means

Unfamiliar terms are defined in the glossary
playwright-chromium

Review-worthy

Bottom line: this visit has review-worthy signals

The scan observed signals a non-expert should not have to decode from raw request tables.

The cards below translate the evidence into plain language; severity reflects fixed reference thresholds, not measured population percentiles. The request log, domain table, and methodology remain below for verification.

340 requests observed in one controlled visit.

Worth checking

188 requests matched Brave Shields filter lists

188 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 124 request rows in this visit.Show matched requests

Context

No consent control activation was recorded in either visit

Neither visit recorded a control activation, so neither can be shown to reflect the choice it attempted, and this diff mostly shows run-to-run variance.

Many consent banners are only shown to visitors in regions where the law requires them (the EEA, UK, or California), so this scanner's location may simply not be served one; a banner may also use controls this scanner's catalog does not recognize, or a click may have been dispatched on a candidate that showed no observable reaction within the scanner's confirmation window. No claim about the site's consent behavior can be made from this pair of visits.

Third-party request totals are not comparable across these two visits, so no count delta is quoted.

Context

Tracking companies the privacy policy does not appear to name

PubMatic, Chartbeat and Comscore, plus 6 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 and LiveRamp.

Policy at https://www.npr.org/{seg}/{n}/privacy-policy; 0 checkable statements matched; 2 of 11 observed tracking companies named in the policy; policy mentions of Magnite and Amazon Ads are unknown because the historical alias matcher was incomplete.

Review-worthy

Requests were dispatched to catalogued service domains

Google, Magnite and PubMatic, plus 12 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 42 of the 79 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. The role taxonomy assigns these additional services explicitly non-tracking operational, support, security, consent-management, or hosting roles: Datadog. The role taxonomy leaves at least one catalog category unclassified for these identified services and assigns none a tracking-related role, so they are not counted as tracking-related: Optimizely.

296 cross-site requests across 79 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.

48 requests to these platforms.Show catalog-matched requests

Nothing observed

Google Analytics present, no remarketing signal

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.

Google Analytics host observed; no stats.g.doubleclick.net request.Show catalog-matched requests

Review-worthy

Third-party cookies were present

34 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.

77 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.

1,286 interaction-listener registrations attributed across https://ads.pubmatic.com/, https://cdn.cookielaw.org/ and https://cdn.cxense.com/, plus 15 others and same-site origins the probe could not separate, 383 input-listener registrations attributed across https://cdn.cookielaw.org/, https://cdn.cxense.com/ and https://cdn.jwplayer.com/, plus 7 others and same-site origins the probe could not separate and known session-replay vendor(s): Crazy Egg

Worth checking

Behavioral fingerprinting heuristics matched

2 behavioral heuristics matched: Canvas fingerprinting heuristic and Canvas font probing 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. The WebGL detection satisfied only the earlier single-signal rule (before 2026-07-20 the scanner recorded the WebGL heuristic after either a WebGL parameter read or a pixel readback, and the current rule requires both), so it is listed in the evidence but not counted among these heuristics.

2 canvases matched; reads: canvas.toDataURL, 58 measureText calls across up to 57 fonts; measured text contents are not stored and WebGL entropy-read heuristic (earlier single-signal rule): 4 parameter reads and 0 pixel readbacks; parameters: webgl.getParameter.UNMASKED_RENDERER_WEBGL, webgl.getParameter.UNMASKED_VENDOR_WEBGL and webgl2.getParameter.UNMASKED_RENDERER_WEBGL, plus 1 other

Consent Comparison

Accept-all attempt and Reject-all attempt: two visits, no comparable metric delta

Accept-all attempt: 18,858msReject-all attempt: 17,804ms
These two visits do not support a side-by-side comparison, so no deltas are shown.
  • The "Accept-all attempt" visit recorded no accept-all control activation, so it cannot be shown to reflect that choice.
  • The "Reject-all attempt" visit recorded no reject-all control activation, so it cannot be shown to reflect that choice.

Each visit's own evidence still stands: use the “Evidence shown” switcher below to inspect either visit's tables, and both visits are in the downloaded JSON.

Measurement limits

7 conditions affect how this evidence reads

This report

  • Consent comparison runs are sequential automated visits: one asked to click the banner's accept-all choice, one asked to click reject-all (first layer only). A run where no control was clicked reflects the pre-consent state instead; see each run's consent note. Differences can also come from timing, experiments, cache state, or bot detection.

Both visits

  • Each visit in this report is one automated, headless Chromium visit from a fixed en-US / UTC profile, with no scrolling or clicking except one scripted choice on the cookie/consent banner (disclosed below). Sites can behave differently for real users, browsers, regions, accounts, or network locations.
  • Counts are a lower bound: trackers that load only after further interaction, and any activity inside Web or Service Workers, are not observed. Service labels use a US-biased hand-curated catalog, so regional services may be under-labeled. Cookie and storage figures are an end-of-visit snapshot.
  • The page did not reach network idle before the scan window ended.
  • Read the site's privacy policy (https://www.npr.org/{seg}/{n}/privacy-policy) and compared its text against this visit's observed behavior. Policy checks are an automated text match with the matched sentences quoted, not a legal reading.

Accept-all attempt visit only

  • This visit was asked to choose "Accept all" on a cookie/consent banner, but no recognizable control was found (the banner may not be shown to this scanner's location, the choice may sit behind a settings layer, or the control is not in the catalog). Results reflect the pre-consent state.

Reject-all attempt visit only

  • This visit was asked to choose "Reject all" on a cookie/consent banner, but no recognizable control was found (the banner may not be shown to this scanner's location, the choice may sit behind a settings layer, or the control is not in the catalog). Results reflect the pre-consent state.

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.

Report ID
20260702-74b79a8d1cc1bd9cffeefab7ea0890bc
Site
www.npr.org
Latest visit
Schema
v1 schema · facts legacy-derived · descriptive report
Verify recorded provenance

Baseline visit

Started
Run quality
complete; derived from status and warnings
Scanner
playwright-chromium
Browser
149.0.7827.55
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
149.0.7827.55
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. 17 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 14 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 .