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.
Incomplete evidence: evidence was cut short before completion (the Worker instrumentation could not record every request, so the request evidence is incomplete). 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.
Scan report ready for neocities.org: 60 recorded request rows.
The selected visit did not finish collecting request evidence. Request counts are lower bounds; Run quality records the reason.
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
neocities.org 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. Some activity evidence was also incomplete: request counts are retained lower bounds.
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.
at least 60 retained requests observed in one controlled visit.
Nothing observed
Incomplete evidence: No requests matched Brave Shields filter lists in retained evidence before collection stopped
No requests matched the default filter lists of Brave Shields, the ad and tracker blocker built into the Brave browser.
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 0 retained request rows in this visit.Show matched requests
Context
This Shields comparison is not conclusive
The "No blocking" visit reported GPC Worker capture loss, so its request evidence is incomplete. and The "Brave-list blocking" visit reported GPC Worker capture loss, 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.
Incomplete evidence: No known services matched in retained evidence before collection stopped
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 4 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. Evidence collection was cut short, so this covers only what was recorded before the cutoff.
at least 7 retained cross-site requests across at least 4 retained third-party hosts.Show third-party requests
Context
Incomplete evidence: No requests to major-platform domains were recorded in retained evidence before collection stopped
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. Evidence collection was cut short, so this covers only what was recorded before the cutoff.
Incomplete evidence: No Google Analytics observed in retained evidence before collection stopped
This visit did not contact Google Analytics.
Neither Google Analytics nor its remarketing sync was observed in this visit. Evidence collection was cut short, so this covers only what was recorded before the cutoff.
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.
1 cookie 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.
19 interaction-listener registrations with https://hcaptcha.com/ in the registration call chain and 6 input-listener registrations with https://hcaptcha.com/ in the registration call chain
Worth checking
Behavioral fingerprinting heuristics matched
2 behavioral heuristics matched: Offline audio rendering 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.
1 offline render with audio.OfflineAudioContext.createAnalyser, audio.OfflineAudioContext.createDynamicsCompressor and audio.OfflineAudioContext.createOscillator, plus 1 other and 104 measureText calls across up to 12 fonts; measured text contents are not stored
Brave Shields Comparison
No blocking and Brave-list blocking: two visits, no comparable metric delta
No blocking: 5,964msBrave-list blocking: 6,042ms
These two visits do not support a side-by-side comparison, so no deltas are shown.
The "No blocking" visit reported GPC Worker capture loss, so its request evidence is incomplete.
The "Brave-list blocking" visit reported GPC Worker capture loss, so its request evidence is incomplete.
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
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 "Brave-list 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 6 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.
The scan blocked or could not verify one or more Web Workers while applying the simulated GPC signal; request evidence may be incomplete.
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-25T18:24:53.158Z · cut short: the Worker instrumentation could not record every request, so the request evidence is incomplete; 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
Incomplete
Not attributable
≥7
Third-party requests
≥7
No unique actor could be assigned to ≥7 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.
The retained rows establish no useful floor for requests with one recorded actor. Request capture was incomplete, so every count is a lower bound and no coverage percentage is reported.
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.
Requests≥60≥7 retained third-party
Matched Shields lists≥0classification reported by this visit; no engine readback recorded
Third-party domains≥40 distinct catalogued service entities retained
Every domain this visit recorded, with its role, request count and catalog match.
Domain
Role
Requests
Catalog match
Resource types
*.hcaptcha.com
third-party
3
No catalog match
document, script
*.*.hcaptcha.com
third-party
2
No catalog match
fetch
hcaptcha.com
third-party
1
No catalog match
script
api.hcaptcha.com
third-party
1
No catalog match
xhr
neocities.org
first-party
53
No catalog match
document, stylesheet, script, image, font, xhr
These are retained domain rows, not a complete inventory.
Request log
60 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
neocities.org
Not attributed
https://neocities.org/
B:R0002
150ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
B:R0003
151ms
200
script
neocities.org
Not attributed
https://neocities.org/…
B:R0004
153ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0005
153ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0006
224ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0007
238ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0008
244ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
B:R0009
244ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
B:R0010
245ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
B:R0011
246ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
B:R0012
246ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
B:R0013
247ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
B:R0014
249ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0015
278ms
200
script
neocities.org
Not attributed
https://neocities.org/…
B:R0016
301ms
200
script
neocities.org
Not attributed
https://neocities.org/…
B:R0017
305ms
200
script
neocities.org
Not attributed
https://neocities.org/…
B:R0018
305ms
200
script
hcaptcha.com
Not attributed
https://hcaptcha.com/…
B:R0019
305ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0020
306ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0021
306ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0022
307ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0023
307ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0024
308ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0025
308ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0026
308ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0027
309ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0028
309ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0029
340ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0030
341ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0031
344ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0032
344ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0033
344ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0034
345ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0035
345ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0036
346ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0037
346ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0038
346ms
200
image
neocities.org
Not attributed
https://neocities.org/…
B:R0039
347ms
200
font
neocities.org
Not attributed
https://neocities.org/…
B:R0040
347ms
200
font
neocities.org
Not attributed
https://neocities.org/…
B:R0041
347ms
200
font
neocities.org
Not attributed
https://neocities.org/…
B:R0042
348ms
200
font
neocities.org
Not attributed
https://neocities.org/…
B:R0043
510ms
200
fetch
*.*.hcaptcha.com
Not attributed
https://*.*.hcaptcha.com/…
B:R0044
516ms
200
document
*.hcaptcha.com
Not attributed
https://*.hcaptcha.com/…/static/…
B:R0045
516ms
200
document
*.hcaptcha.com
Not attributed
https://*.hcaptcha.com/…/static/…
B:R0046
668ms
200
fetch
*.*.hcaptcha.com
Not attributed
https://*.*.hcaptcha.com/…
B:R0047
675ms
200
xhr
api.hcaptcha.com
Not attributed
https://api.hcaptcha.com/…?v&…
B:R0048
752ms
200
script
*.hcaptcha.com
Not attributed
https://*.hcaptcha.com/…
B:R0049
2,335ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
B:R0050
2,335ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
B:R0051
2,418ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
B:R0052
2,419ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
B:R0053
2,503ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
B:R0054
2,503ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
B:R0055
2,581ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
B:R0056
2,581ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
B:R0057
2,657ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
B:R0058
2,658ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
B:R0059
2,734ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
B:R0060
2,735ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
This log contains retained rows only; collection did not produce a complete request inventory.
Brave-list blocking — evidence
2026-07-25T18:24:47.109Z · cut short: the Worker instrumentation could not record every request, so the request evidence is incomplete; 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
Incomplete
Not attributable
≥7
Third-party requests
≥7
No unique actor could be assigned to ≥7 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.
The retained rows establish no useful floor for requests with one recorded actor. Request capture was incomplete, so every count is a lower bound and no coverage percentage is reported.
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.
Requests≥60≥7 retained third-party
Blocked by Brave lists≥0engine blocks reported by this visit; no engine readback recorded
Third-party domains≥40 distinct catalogued service entities retained
Every domain this visit recorded, with its role, request count and catalog match.
Domain
Role
Requests
Catalog match
Resource types
*.hcaptcha.com
third-party
3
No catalog match
document, script
*.*.hcaptcha.com
third-party
2
No catalog match
fetch
hcaptcha.com
third-party
1
No catalog match
script
api.hcaptcha.com
third-party
1
No catalog match
xhr
neocities.org
first-party
53
No catalog match
document, stylesheet, script, image, font, xhr
These are retained domain rows, not a complete inventory.
Request log
60 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
58ms
200
document
neocities.org
Not attributed
https://neocities.org/
V:R0002
188ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
V:R0003
189ms
200
script
neocities.org
Not attributed
https://neocities.org/…
V:R0004
190ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0005
190ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0006
263ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0007
284ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
V:R0008
285ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
V:R0009
285ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
V:R0010
286ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
V:R0011
286ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
V:R0012
286ms
200
stylesheet
neocities.org
Not attributed
https://neocities.org/…
V:R0013
287ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0014
310ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0015
348ms
200
script
neocities.org
Not attributed
https://neocities.org/…
V:R0016
348ms
200
script
neocities.org
Not attributed
https://neocities.org/…
V:R0017
351ms
200
script
neocities.org
Not attributed
https://neocities.org/…
V:R0018
351ms
200
script
hcaptcha.com
Not attributed
https://hcaptcha.com/…
V:R0019
351ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0020
352ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0021
352ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0022
353ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0023
353ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0024
353ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0025
354ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0026
354ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0027
355ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0028
355ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0029
396ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0030
397ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0031
397ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0032
398ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0033
398ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0034
399ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0035
399ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0036
399ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0037
400ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0038
400ms
200
image
neocities.org
Not attributed
https://neocities.org/…
V:R0039
400ms
200
font
neocities.org
Not attributed
https://neocities.org/…
V:R0040
402ms
200
font
neocities.org
Not attributed
https://neocities.org/…
V:R0041
402ms
200
font
neocities.org
Not attributed
https://neocities.org/…
V:R0042
403ms
200
font
neocities.org
Not attributed
https://neocities.org/…
V:R0043
557ms
200
fetch
*.*.hcaptcha.com
Not attributed
https://*.*.hcaptcha.com/…
V:R0044
560ms
200
document
*.hcaptcha.com
Not attributed
https://*.hcaptcha.com/…/static/…
V:R0045
561ms
200
document
*.hcaptcha.com
Not attributed
https://*.hcaptcha.com/…/static/…
V:R0046
759ms
200
fetch
*.*.hcaptcha.com
Not attributed
https://*.*.hcaptcha.com/…
V:R0047
775ms
200
xhr
api.hcaptcha.com
Not attributed
https://api.hcaptcha.com/…?v&…
V:R0048
823ms
200
script
*.hcaptcha.com
Not attributed
https://*.hcaptcha.com/…
V:R0049
2,419ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
V:R0050
2,420ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
V:R0051
2,502ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
V:R0052
2,503ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
V:R0053
2,580ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
V:R0054
2,581ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
V:R0055
2,656ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
V:R0056
2,657ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
V:R0057
2,736ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
V:R0058
2,737ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
V:R0059
2,814ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
V:R0060
2,815ms
200
xhr
neocities.org
Not attributed
https://neocities.org/…
This log contains retained rows only; collection did not produce a complete request inventory.
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 Worker instrumentation could not record every request, so the request evidence is incomplete; 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
cut short: the Worker instrumentation could not record every request, so the request evidence is incomplete; 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.