SBL-CORR-2026-001: The historical input-probe disclosure overstates coverage. Unload-only transmissions were not reliably recorded. Focus and blur handlers could run, and per-field failures were not fully counted. These reports cannot establish absence of input transmission outside their retained observations.
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
facebook.com triggered fingerprint-like browser API patterns.
SBL-CORR-2026-001: The historical input-probe disclosure overstates coverage. Unload-only transmissions were not reliably recorded. Focus and blur handlers could run, and per-field failures were not fully counted. These reports cannot establish absence of input transmission outside their retained observations.
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.
30 requests observed in one controlled visit.
Context
5 requests matched Brave Shields filter lists
5 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 0 request rows in this visit.Show matched requests
Low signal
No change observed in the Brave-list blocking attempt
The blocking visit (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)) showed no change in the comparable metrics (third-party requests, third-party cookies and tracking-related service requests).
The blocking visit's engine directly blocked 5 requests; ad rotation, experiments, or caching between the two visits can offset or outweigh what blocking removed, which is how totals can hold steady or rise despite direct blocks. A single paired comparison can also reflect run-to-run variance (ad rotation, caching, experiments), so treat this as no observed difference for this pair of visits, not evidence that blocking removes nothing.
Signed per-metric differences between the two visits; nothing is summed across metrics.Show matched requests
Context
No known services matched
This scan did not match any third-party domains to the service catalog or another identity source.
No known operator or catalog entity was matched. This scan could not identify 2 of the 2 third-party hosts recorded here, so it cannot say who operates them. That is a limit of identity coverage, not evidence about the site.
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.
4 cookies total in this report.No third-party cookies observed.
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.
62 interaction-listener registrations with https://static.*.fbcdn.net/ in the registration call chain and 21 input-listener registrations with https://static.*.fbcdn.net/ in the registration call chain
Worth checking
Behavioral fingerprinting heuristics matched
3 behavioral heuristics matched: Canvas fingerprinting heuristic, Canvas font probing heuristic and 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.
2 canvases matched; reads: canvas.toDataURL, 104 measureText calls across up to 80 fonts; measured text contents are not stored and 34 parameter reads and 1 pixel readback; parameters: webgl.getParameter.UNMASKED_RENDERER_WEBGL, webgl.getParameter.UNMASKED_VENDOR_WEBGL and webgl2.getParameter.UNMASKED_RENDERER_WEBGL, plus 1 other
Brave Shields Comparison
No blocking → Brave-list blocking delta
No blocking: 9,139msBrave-list blocking: 9,216ms
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.
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.
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
No visible cookie-name changes to show; privacy-filtered names are not itemized.
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
No entity changes observed.
Measurement limits
6 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 (never submitting the form) to test whether typed input is captured and sent to third parties. The value is synthetic and is not stored. Requests the page sent during and after this typing, including any unload beacons, are part of the recorded request log and counts.
Brave-list blocking visit only
Brave Shields block simulation was enabled; matching requests were aborted before loading and are not included in request totals.
How to use this report
Read the findings and measurement limits first, then inspect the evidence for each recorded visit. Comparisons include both visits, even where a difference cannot be interpreted.
Keep this PDF with its evidence package: the source JSON, correction context, export receipt and SHA256SUMS. The package preserves source bytes and the correction context at export time. Hashes check file consistency; they do not establish independent measurement accuracy or a signed attestation.
2026-07-27T10:11:03.878Z · complete; derived from status and warnings
Retained observations from this visit. Missing measurements do not establish absence of activity.
Request attribution map
Which actor each third-party request is attributed to, from the initiator the browser reported. Attribution, not causation: an initiator may itself have been told what to fetch, and requests with no reported initiator are not distinguished from ones fetched from several. Asterisks mark subdomain labels hidden for privacy.
Attributed requests
0
Not attributable
24
Third-party requests
24
No unique actor could be assigned to 24 of these requests. That includes requests for which the browser reported no usable initiator, and repeated URLs seen with conflicting initiators. This report does not distinguish those causes, so they are counted together rather than drawn.
24 third-party requests: 0 attributed to a single recorded actor, 24 not attributable.
No retained third-party request has one recorded actor to draw. This is not evidence that no actor was involved: the visit may have reported no actor or several actors for the same request.
By the numbers
Recorded counts and evidence availability from this one visit. The findings above interpret them.
Requests3024 third-party
Matched Shields lists5classification reported by this visit; no engine readback recorded
Third-party domains20 distinct catalogued service entities
Every domain this visit recorded, with its role, request count and catalog match.
Domain
Role
Requests
Catalog match
Resource types
static.*.fbcdn.net
third-party
23
No catalog match
stylesheet, image, font, script
www.instagram.com
third-party
1
No catalog match
xhr
www.facebook.com
first-party
6
No catalog match
document, ping, xhr
Request log
30 recorded requests
In hosts and URLs, * and … mark details hidden for privacy.
Request references name this visit's retained JSON rows in order (B = baseline, V = variant, S = single). R0001 is the first request row.
Every request row this visit retained, with its time, status, resource type, domain and recorded provenance.
Ref
Time
Status
Type
Domain
Provenance
URL
B:R0001
46ms
200
document
www.facebook.com
Not attributed
https://www.facebook.com/
B:R0002
327ms
200
stylesheet
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0003
335ms
200
ping
www.facebook.com
Not attributed
https://www.facebook.com/…
B:R0004
565ms
200
image
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0005
1,302ms
200
font
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0006
1,304ms
200
font
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0007
1,309ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0008
1,309ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0009
1,309ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0010
1,310ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0011
1,310ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0012
1,310ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0013
1,310ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0014
1,310ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0015
1,310ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0016
1,311ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0017
1,311ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0018
1,311ms
200
stylesheet
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0019
1,937ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0020
1,937ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0021
1,938ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0022
1,938ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0023
1,938ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0024
1,938ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0025
1,978ms
200
xhr
www.facebook.com
Not attributed
https://www.facebook.com/…
B:R0026
1,979ms
200
xhr
www.instagram.com
Not attributed
https://www.instagram.com/…
B:R0027
2,037ms
200
image
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
B:R0028
2,196ms
200
xhr
www.facebook.com
Not attributed
https://www.facebook.com/…
B:R0029
2,933ms
200
xhr
www.facebook.com
Not attributed
https://www.facebook.com/…
B:R0030
3,929ms
200
xhr
www.facebook.com
Not attributed
https://www.facebook.com/…
Brave-list blocking — evidence
2026-07-27T10:11:13.025Z · complete; derived from status and warnings
Retained observations from this visit. Missing measurements do not establish absence of activity.
Request attribution map
Which actor each third-party request is attributed to, from the initiator the browser reported. Attribution, not causation: an initiator may itself have been told what to fetch, and requests with no reported initiator are not distinguished from ones fetched from several. Asterisks mark subdomain labels hidden for privacy.
Attributed requests
0
Not attributable
24
Third-party requests
24
No unique actor could be assigned to 24 of these requests. That includes requests for which the browser reported no usable initiator, and repeated URLs seen with conflicting initiators. This report does not distinguish those causes, so they are counted together rather than drawn.
24 third-party requests: 0 attributed to a single recorded actor, 24 not attributable.
No retained third-party request has one recorded actor to draw. This is not evidence that no actor was involved: the visit may have reported no actor or several actors for the same request.
By the numbers
Recorded counts and evidence availability from this one visit. The findings above interpret them.
Requests2924 third-party
Blocked by Brave lists5engine blocks reported by this visit; no engine readback recorded
Third-party domains20 distinct catalogued service entities
Every domain this visit recorded, with its role, request count and catalog match.
Domain
Role
Requests
Catalog match
Resource types
static.*.fbcdn.net
third-party
23
No catalog match
stylesheet, image, font, script
www.instagram.com
third-party
1
No catalog match
xhr
www.facebook.com
first-party
5
No catalog match
document, xhr
Request log
29 recorded requests
In hosts and URLs, * and … mark details hidden for privacy.
Request references name this visit's retained JSON rows in order (B = baseline, V = variant, S = single). R0001 is the first request row.
Every request row this visit retained, with its time, status, resource type, domain and recorded provenance.
Ref
Time
Status
Type
Domain
Provenance
URL
V:R0001
47ms
200
document
www.facebook.com
Not attributed
https://www.facebook.com/
V:R0002
331ms
200
stylesheet
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0003
623ms
200
image
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0004
1,295ms
200
font
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0005
1,296ms
200
font
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0006
1,297ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0007
1,299ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0008
1,299ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0009
1,300ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0010
1,300ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0011
1,300ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0012
1,301ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0013
1,302ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0014
1,302ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0015
1,302ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0016
1,303ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0017
1,303ms
200
stylesheet
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0018
1,934ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0019
1,935ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0020
1,935ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0021
1,936ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0022
1,936ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0023
1,936ms
200
script
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0024
1,991ms
200
xhr
www.instagram.com
Not attributed
https://www.instagram.com/…
V:R0025
2,000ms
200
xhr
www.facebook.com
Not attributed
https://www.facebook.com/…
V:R0026
2,049ms
200
image
static.*.fbcdn.net
Not attributed
https://static.*.fbcdn.net/…
V:R0027
2,209ms
200
xhr
www.facebook.com
Not attributed
https://www.facebook.com/…
V:R0028
2,935ms
200
xhr
www.facebook.com
Not attributed
https://www.facebook.com/…
V:R0029
3,928ms
200
xhr
www.facebook.com
Not attributed
https://www.facebook.com/…
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.
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. 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 .
Reports record one automated visit per condition; visits may be incomplete. Results describe these visits, not everything a site can do.