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

www.bankofamerica.com

https://www.bankofamerica.com/

Sep 7, 2026, 4:40 AM UTC

complete; derived from status and warnings

Scan report ready for www.bankofamerica.com: 209 recorded request rows.

Comparison Reportv1 schema · facts legacy-derived · descriptive report

Brave-list blocking off/on comparison

https://www.bankofamerica.com/ (opens in a new tab)
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

bankofamerica.com recorded 14 fewer third-party requests in the visit configured for Brave-list blocking.

The visit with no blocking made 209 requests; the visit configured to apply Brave's ad-block engine and default Shields filter lists (a simulation in this scanner's browser, not a live Brave-browser visit) recorded 14 fewer third-party requests. The blocker directly stopped 30 requests; the remaining difference may include follow-on requests that never started once their sources were blocked, plus run-to-run variance.

2tracking-service entities
113cross-site requests
4third-party cookie records
4fingerprint-like patterns

Plain-Language Findings

What this visit means

Unfamiliar terms are defined in the glossary
playwright-chromium

Worth checking

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.

209 requests observed in one controlled visit.

Worth checking

41 requests matched Brave Shields filter lists

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

Nothing observed

Lower values observed across comparable metrics in the Brave-list blocking attempt

With the scanner configured to apply Brave's ad-block engine and default Shields filter lists (a simulation in this scanner's browser, not a live Brave-browser visit; application was not verified), this paired visit showed 14 fewer third-party requests, 4 fewer third-party cookies and 1 fewer tracking-related service request.

Services only seen in the unblocked visit: Adobe. The blocking visit's engine directly blocked 30 requests; the remaining difference may include follow-on requests that never started once their sources were blocked. A single paired comparison can also reflect run-to-run variance (ad rotation, caching, experiments), so treat this as an observed difference, not a measured blocking rate.

Signed per-metric differences between the two visits; nothing is summed across metrics.Show matched requests

Worth checking

1 first-party DNS alias matched tracking checks

1 resolved target matched Brave filter lists; those matches do not identify the operators.

The scanner followed DNS CNAME chains from first-party subdomains and checked resolved targets against the service catalog and Brave filter lists. These matches do not establish a request's purpose, profiling, or an intent to conceal tracking. A filter-list match alone is not a verified service identity or proof of tracking.

{label}.bankofamerica.com → {label}.{label}.{label}.we-stats.com (Brave filter-list match; operator unverified)Open domain evidence

Worth checking

Consent tooling and requests to tracking-service entities appeared before any choice

www.bankofamerica.com sent a request to OneTrust, a consent management platform (the tooling that shows cookie banners), and the request log included 2 distinct catalogued tracking-related services before the scanner made any consent choice; 2 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

Tealium and Adobe 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.

Policy at https://{label}.bankofamerica.com/en/privacy; 0 checkable statements matched; 0 of 2 observed tracking companies named in the policy.

Context

Catalogued service domains recorded responses during this visit

Tealium and Adobe 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 tag management / customer data and analytics / advertising. This scan could not identify 5 of the 9 third-party hosts recorded here, so it cannot say who operates them. That is a limit of identity coverage, not evidence about the site.

113 cross-site requests across 9 third-party hosts.Modest distinct tracking-service entities count.Show third-party requests

Nothing observed

No requests to major-platform domains were recorded

No requests to catalogued Google, Meta, TikTok, X, Microsoft, LinkedIn, or Pinterest domains were observed in this visit.

Major-platform domains were not observed in this single passive visit; interaction-gated requests could still load for real users.

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

Nothing observed

No Google Analytics observed

This visit did not contact Google Analytics.

Neither Google Analytics nor its remarketing sync was observed in this visit.

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

Context

Third-party cookies were present

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

58 cookies total in this report.Modest third-party cookies count.

Context

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.

530 interaction-listener registrations with https://cdn.cookielaw.org/, https://*.bac-assets.com/ and https://*.tiqcdn.com/, plus 1 other in the registration call chain and 200 input-listener registrations with https://cdn.cookielaw.org/, https://*.bac-assets.com/ and https://*.tiqcdn.com/, plus 1 other in the registration call chain

Worth checking

Behavioral fingerprinting heuristics matched

4 behavioral heuristics matched: Canvas fingerprinting heuristic, Offline audio rendering heuristic, Canvas font probing heuristic and WebRTC peer-connection probing.

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.

3 canvases matched; reads: canvas.toDataURL, 1 offline render with audio.OfflineAudioContext.createOscillator and audio.OfflineAudioContext.startRendering, 31 measureText calls across up to 16 fonts; measured text contents are not stored and 4 peer connections with 4 data channels, 4 offers, and 4 local descriptions

Brave Shields Comparison

No blocking → Brave-list blocking delta

No blocking: 10,978msBrave-list blocking: 9,837ms
Some deltas are not comparable across these two visits and are not shown.
  • Other detector and causal-path deltas (each visit's own evidence still renders below): v1 never recorded detector versions, so fingerprinting and pixel deltas cannot be proven to come from matching instrumentation.
  • The Shields-number delta (each visit's own evidence still renders below): The two visits measured different Shields quantities (filter-list matches vs engine-blocked requests), which must never share a delta.
  • Fingerprinting deltas (each visit's own evidence still renders below): At least one visit did not complete the fingerprint measurement, so no exact cross-visit delta is shown.
  • Ad-pixel deltas (each visit's own evidence still renders below): At least one visit did not complete the pixel measurement, so no exact cross-visit delta is shown.
Requests-68No blocking: 209 · Brave-list blocking: 141
Third-party requests-14No blocking: 113 · Brave-list blocking: 99
Third-party domains-5No blocking: 9 · Brave-list blocking: 4
Cookies-29No blocking: 58 · Brave-list blocking: 29
Third-party cookies-4No blocking: 4 · Brave-list blocking: 0
Storage keys-19No blocking: 33 · Brave-list blocking: 14
Catalog-matched requests-1No blocking: 17 · Brave-list blocking: 16

Every signed change is Brave-list blocking minus No blocking. A positive or negative direction is descriptive, not a judgment that the result is better or worse.

Cookie and storage count deltas include every observation. Name-level lists show only reviewed names; unreviewed names are not itemized because they can contain identifiers.

Largest per-domain request-count changes

*.bankofamerica.comfirst partyNo blocking: 62 · Brave-list blocking: 7Show No blocking requests · Show Brave-list blocking requests-55
cdn.cookielaw.orgunlabeled third partyNo blocking: 12 · Brave-list blocking: 3Show No blocking requests · Show Brave-list blocking requests-9
*.glancecdn.netunlabeled third partyNo blocking: 2 · Brave-list blocking: 0Show No blocking requests · Show Brave-list blocking requests-2
www2.bac-assets.comunlabeled third partyNo blocking: 47 · Brave-list blocking: 48Show No blocking requests · Show Brave-list blocking requests+1
secure.bankofamerica.comfirst partyNo blocking: 33 · Brave-list blocking: 34Show No blocking requests · Show Brave-list blocking requests+1
*.advanced-web-analytics.comunlabeled third partyNo blocking: 1 · Brave-list blocking: 0Show No blocking requests · Show Brave-list blocking requests-1
*.agkn.comunlabeled third partyNo blocking: 1 · Brave-list blocking: 0Show No blocking requests · Show Brave-list blocking requests-1
*.demdex.netAdobe · analytics / advertisingNo blocking: 1 · Brave-list blocking: 0Show No blocking requests · Show Brave-list blocking requests-1
*.onetrust.comunlabeled third partyNo blocking: 1 · Brave-list blocking: 0Show No blocking requests · Show Brave-list blocking requests-1

Domains only with Brave-list blocking

No domain changes observed.

Domains only with No blocking

*.glancecdn.netunlabeled · Show No blocking requests2
*.advanced-web-analytics.comunlabeled · Show No blocking requests1
*.agkn.comunlabeled · Show No blocking requests1
*.demdex.netAdobe · analytics / advertising · Show No blocking requests1
*.onetrust.comunlabeled · Show No blocking requests1

Visible cookie names only with Brave-list blocking

No visible cookie-name changes to show; privacy-filtered names are not itemized.

Visible cookie names only with No blocking

OptanonConsent.www.bankofamerica.comfirst-party

Visible storage keys only with Brave-list blocking

No visible storage-key changes to show; privacy-filtered keys are not itemized.

Visible storage keys only with No blocking

No visible storage-key changes to show; privacy-filtered keys are not itemized.

Entities only with Brave-list blocking

No entity changes observed.

Entities only with No blocking

Adobe1 domain1

Measurement limits

8 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.
  • The two visits ran in randomized order; the "No blocking" visit ran first.

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 are not observed; Service Workers are blocked, and Web Worker or WebSocket traffic may be incomplete. 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, with storage keys read from the top frame only.
  • This scan typed a synthetic test value into 2 form fields with native form submission blocked. Focus, input and blur handlers may run and send requests. The value is synthetic and is not stored. Observed requests during typing and the following wait are included in the request log. Teardown-only transmissions are not measured.
  • Resolved 1 first-party subdomain that is a CNAME alias for a third-party tracker (CNAME cloaking), which request-URL matching alone would miss.
  • Read the site's privacy policy (https://{label}.bankofamerica.com/en/privacy) 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.

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
20260907-b2bbd9f09b96e2f1e178148dedca2484
Site
www.bankofamerica.com
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
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 .