Complete
The bounded checks returned usable evidence. This does not verify a business, its products or fulfilment.
The evidence behind the result
A useful result tells you what was observed, what is missing and when it expires. ShopSafe has three different check suites. Their scores and scope are not interchangeable.
01 · For agents and applications
Public DNS, HTTP and TLS, up to three HTTP redirects, static sensitive-form checks and Google Web Risk Lookup. This suite does not run a browser, JavaScript or a language model.
Rules quick-2026-10-19-v4. The same recorded observations and evaluation time produce the same result.
Read the machine-readable rules or use the MCP resource shopsafe://verification/rules. Reading the rules does not start a check or spend credit.
Risk points · 0–100
Use the highest triggered value below. Points are not added together, and a score is not a probability.
Ordinary hosting, missing email records, certificate age, internationalised names, third-party payment providers and brand popularity add no quick-check points.
The bounded checks returned usable evidence. This does not verify a business, its products or fulfilment.
Some evidence is unavailable, stale or outside an allowance. A zero score with missing evidence stays unknown.
The page could not be observed and the submitted URL has no current usable reputation answer.
Check the exact URL, age and coverage before applying your own policy. A current match can still show high risk when page inspection is blocked.
Evidence expires after at most five minutes, or sooner if its source expires. Cached results retain their original observation time. An expired record remains history.
0/100 · no_known_threats · complete coverage.
0/100 · unknown · partial coverage.
95/100 · high_risk · complete coverage.
95/100 · high_risk · partial coverage.
70/100 · elevated_risk · complete coverage.
Synthetic examples illustrate the rules. They are not real website assessments or a measured accuracy benchmark.
The parser associates supported password and card fields with their forms, including explicit form IDs and supported submit-button destinations. Text-only markup, inert template contents and non-submitting button actions are excluded. Supported card autofill fields include inputs, text areas and selectors. A third-party HTTPS payment form adds no risk by itself.
The limits are 100 forms, 2000 controls and 30000 HTML tags, within the bounded HTTP response. Exceeding these limits makes form coverage unavailable. Conditional forms, ambiguous table or foreign-namespace markup, certain script states and XML/XHTML also return incomplete evidence. The result identifies a parsing limit or unsupported structure while retaining usable HTTP and TLS observations. Embedded documents, JavaScript changes, custom widgets, runtime submission and the identity of a payment recipient are not verified.
Google Web Risk provides URL reputation evidence. Some unsafe sites may be missed and some safe sites may be flagged in error. Neither this evidence nor ShopSafe guarantees the safety of a site or transaction.
02 · For verified brand owners
Protect compares a candidate with the verified official homepage and up to two owner-selected official pages. Each page is assessed separately; points are not pooled across references.
Rules protect-2026-10-19-v9. Its priority score helps order review work. It is not the quick URL risk score or a finding that a business has committed fraud.
03 · The public website checker
The public checker uses rendered page content, domain and infrastructure observations, available reputation sources and a bounded AI assessment. Its heuristic scoring differs from deterministic agent verification.
Result version 2026-10-18-url-scope-v2. The result lists the checks that ran, their findings and source coverage. A familiar brand does not bypass an exact URL threat match.
Review and correction
Operate a site with a result you think is wrong? Supply the URL and the finding you dispute so it can be reviewed.
Help improve ShopSafe with optional usage analytics. We keep form entries and sign-in details out of analytics.