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

www.goodrx.com

Requested addresshttps://www.goodrx.com/

Jul 6, 2026, 9:18 AM UTC

failed (HTTP 403); derived from status and warnings

Evidence quality

This report is built on an incomplete visit

Incomplete evidence: The visit did not complete. Counts below are lower bounds for a visit that did not finish, so an absence here is especially weak evidence. The evidence receipt states the exact per-visit quality.

Scan report ready for www.goodrx.com: 13 recorded request rows. The requested page was not established.

Comparison Reportv1 schema · facts legacy-derived · descriptive reportvisit failed

Brave-list blocking off/on comparison

Recorded final address https://www.goodrx.com/ (opens in a new tab)

The selected visit failed. Retained requests describe only the returned document or partial visit; they cannot establish absence of activity on the requested page.

ShareDownloads the No blocking 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

goodrx.com returned HTTP 403 instead of a verified normal page load.

HTTP 403 denied this visit. Signals below describe the returned error or block page, not goodrx.com's normal behavior. The status alone cannot identify the cause (authentication, access policy, automation filtering, or another control).

403HTTP status

Plain-Language Findings

What this visit means

Unfamiliar terms are defined in the glossary
playwright-chromium

Context

Bottom line: the requested page returned HTTP 403

The requested page responded with HTTP 403, so this report reflects the returned error or block document, not the site's normal behavior.

Tracker, cookie, storage, and fingerprinting signals here describe that returned document. They are retained evidence, not a privacy result for the site's normal page. The site answered and denied this visit. The status alone cannot distinguish authentication, access policy, automation filtering, or another cause, so a later re-scan may or may not differ. The request log and methodology below still show exactly what was observed.

13 requests observed before or with the error response.

Context

This Shields comparison is not conclusive

The "No blocking" visit returned HTTP 403, an error or block page, not the real site. and The "Brave-list blocking" visit returned HTTP 403, an error or block page, not the real site.

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.

2 disqualifying conditions named by the report's claim policy.Show matched requests

Context

Other third-party operators were identified outside the tracking-service catalog

Google were named by consent-platform signatures, reviewed ownership, or CNAME evidence without being classified as tracking services.

Operator identity and tracking classification are separate: naming an operator does not prove that a request was for tracking. This scan could not identify 2 of the 4 third-party hosts recorded here, so it cannot say who operates them. That is a limit of identity coverage, not evidence about the site.

8 cross-site requests across 4 third-party hosts.Show third-party requests

Context

Requests were dispatched to major-platform domains the catalog does not carry

This visit dispatched requests to Google domains that the reviewed ownership map names, though the service catalog carries no entry for them.

Asset and font hosts reach this state often: the ownership map establishes who operates the domain, and nothing here establishes the request's purpose or payload. These domains are not counted as catalog-matched requests.

4 cross-site domains seen overall.Show catalog-matched requests

Context

Returned HTTP 403 error or block page: No Google Analytics observed in retained evidence

This visit did not contact Google Analytics.

Neither Google Analytics nor its remarketing sync was observed in this visit. The page returned HTTP 403, so this absence describes an error or block page, not the site.

No google-analytics.com or googletagmanager.com requests.Show catalog-matched requests

Context

Returned HTTP 403 error or block page: No third-party cookies observed in retained evidence

The automated visit did not observe third-party cookies.

This does not prove the site never uses cookies; it means this visit did not observe third-party cookies. The page returned HTTP 403, so this absence describes an error or block page, not the site.

10 cookies total in this report.

Context

Input-monitoring signal involving a script from another domain

Listener coverage that could observe typing-related input events was registered through call chains that included a script served from another registrable domain, whose operator this scan did not establish.

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.

28 interaction-listener registrations with https://*.px-cloud.net/ in the registration call chain and 4 input-listener registrations with https://*.px-cloud.net/ in the registration call chain

Worth checking

WebGL entropy-read heuristic matched

1 behavioral heuristic matched: WebGL entropy-read 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.

25 parameter reads and 12 pixel readbacks; parameters: webgl.getParameter.UNMASKED_RENDERER_WEBGL and webgl.getParameter.UNMASKED_VENDOR_WEBGL

Brave Shields Comparison

No blocking and Brave-list blocking: two visits, no comparable metric delta

No blocking: 2,009msBrave-list blocking: 1,937ms
These two visits do not support a side-by-side comparison, so no deltas are shown.
  • The "No blocking" visit returned HTTP 403, an error or block page, not the real site.
  • The "Brave-list blocking" visit returned HTTP 403, an error or block page, not the real site.

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

5 conditions affect how this evidence reads

This report

  • Brave-list blocking comparison runs should be collected under matched crawl conditions, and the blocking run is a simulation with Brave's engine and default lists in this scanner's browser, not a live Brave visit. Differences can still reflect timing, experiments, cache state, consent 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, clicking, or consent interaction. Sites can behave differently for real users, browsers, regions, accounts, or network locations.
  • Counts are a lower bound: trackers that load only after interaction or consent, 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 returned HTTP 403; this report reflects an error or block page, not a normal load.

Brave-list blocking visit only

  • Brave Shields block simulation was enabled; matching requests were aborted before loading and are not included in request totals.

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
20260706-9b29789152377558eef257b78df8af74
Site
www.goodrx.com
Latest visit
Schema
v1 schema · facts legacy-derived · descriptive report
Verify recorded provenance

Baseline visit

Started
Run quality
failed (HTTP 403); 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
failed (HTTP 403); 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 .