DocsGetting started / Reading your scan report
Owner

Reading your scan report

A scan report is one page about one website: what AI could do there, where the number came from, and what to change. This page walks it top to bottom.

The report is generated, not written. Every line is a check that passed, failed or warned, and every number comes from a recorded scan that can be re-read.

A full report opens when you scan your own site. Every business in the index also has a public page at /b/<domain> with its score and top findings. The fifteen sample reports from 25 August 2026 have been replaced by that index, and their old /scan/<slug> addresses forward to /businesses.

One report, top to bottom, and the one thing missing from it

The name, withheld by defaultAn unnamed report carries a descriptor such as "plumber" where the name would sit. The dashed box is that space, left empty by design. A report is named only where a recorded, reviewed permission exists.

  1. The number and the verdictTop of the pageA score out of 100, a grade, and one sentence on what it means for a customer sent by AI.
  2. This report at a glanceBetween the score and the findingsFour tiles: actions found, how many are blocked, pages scanned (always one) and the scan date.
  3. What an agent can do here, and how ready the site is01Four tabs: Blockers, All actions, Readiness by area and Pages.
  4. The fix list03Everything with a named remedy, in the order the score reads them. Free, and the whole list.
  5. How this compares04This site against the sample mean, best and lowest score, and a table by vertical.
  6. What this report is, and what it is notAfter the findingsThree of its five one-line verdicts, plus a link to the full text, reproduced as section 05 below.
  7. What was removedFoot of the pageThree lines on every unnamed report: name and address, phone numbers and widget URLs, and raw markup, all withheld.
  • What every published report carries: the dial, the verdict, the headings and the rules
  • The fix list, the one part written for you to act on
  • A thing the scanner found on the site, drawn as its own shape, not ours
  • A field removed before publication: a dashed box where a name would be
The shape of every published report, drawn, and none in particular: the dial has no number and the box where a name would sit is empty. Parts are in the order the report shows them.

The grade bands are fixed at 70 and 40: agent-ready at 70 and above, partially ready from 40 to 69, invisible to agents below 40.

01. What an agent can actually do here

Every way in the scanner found on the page it fetched, and whether software could drive it. Blockers lists only the actions that are not agent-callable, with their reasons. All actions lists every one. Each row has these columns:

Columns on an action row
FieldWhat it holds
kindBooking, quote request, contact form, callback request, phone link or booking widget.
labelThe short name of the thing found, "booking form", "Cliniko booking widget".
detailFor a form, the number of fields. For a phone link, the link itself, which is withheld on a published report.
agentCallableTrue only on positive evidence: a declared tool, an advertised endpoint, a published catalogue, a known booking widget, or a form complete enough to fill.
callableViaOnly when callable: which route earned it.
blockersOnly when not callable: exactly what is missing, in plain words.
A tel: link is never agent-callable. It hands off to a human, which is a real customer path and not an action software can complete.

One action row from a published report

{
  "kind": "booking",
  "label": "booking form",
  "detail": "8 fields",
  "agentCallable": false,
  "blockers": [
    "a CAPTCHA on this page blocks legitimate agents"
  ]
}
Copied unchanged from the 25 August 2026 sample bundle, the Quay Dental Clinic report.

Eight fields, and the action is still closed to agents, because a CAPTCHA sits in front of it. If the section is empty, the scanner found no way in at all.

02. Where the score came from

Five categories, twenty points each, with every check listed underneath as a pass, a warning, a failure or a note. This is the "Readiness by area" tab. A bar above them shows the mix of failing, warning and clear checks.

The five categories on a report
CategoryWhat it measures
Crawlability and discoveryWhether an agent is allowed in, and whether the site tells it where things are.
Structured dataWhether trade, hours, phone, address and services are published in a form software can read.
Action affordancesWhether anything on the page could be acted on: a booking widget, a form, a number.
Form qualityWhether forms tell software what goes in each box and let it press send.
Agent interfaceWhether the site publishes any of the 2026 agent standards, or leaves an agent to scrape and guess.
The full point allocation for each category is on the agent-readiness score page.

03. The fix list

Everything the scanner found that has a named remedy, in the order the score reads them. These are instructions for whoever maintains the site. They are free, and they are the whole list; nothing is held back for a paid tier.

On a published report the fix text is rewritten to instructions only. Six fix strings in the 25 August scan advertised things that do not exist; the wording was corrected at the source on 26 August 2026, and publication refuses any report where the old text survives.

The WebMCP fix reads: "Declare your booking and quote actions as WebMCP tools on document.modelContext, keeping navigator.modelContext as a fallback for older builds, via the @mcp-b/global polyfill. WebMCP is a W3C Community Group draft and a Chrome 149 origin trial; no browser has shipped it to stable." Neither surface is a shipped browser API, so following the advice today means loading the polyfill.

04. How this compares

The same scanner, on the same day, over service businesses found the way a customer’s agent would find them: plain searches for a plumber, a physio and a real estate agent. Nobody was screened for looking bookable.

The sample this compares against
VerticalSitesMeanAgent can call directly
Trades558.01
Clinics547.60
Real estate531.40
All1545.71

05. What this report is, and what it is not

  • It measures one page, fetched once, read-only. It did not run scripts, click anything, fill a field, submit a form or crawl the rest of the site. A booking flow two clicks deep scores as if it were not there.
  • It understates most sites. Opening the same sample in a real browser reached actions the entry page could not show, on almost every site. The wall is the CAPTCHA and the consent tick at the end of the form, and an agent that gets past them is still acting uninvited.
  • The scanner's own console and HTML reports print "No online door" when the pages read have no form or booking widget. The score is unchanged, and the statement covers the pages read, not the whole site.
  • Read a score as a direction, not a verdict, and treat the fix list as the useful part.
  • The owner decides what an agent can do. An agent can find the business through frontlatch.com/mcp and read what its site offers. Once the owner claims the listing and switches an action on at /app, a matching request arrives as a job card by email, and nothing books until the owner accepts it.
  • No action ever fires without the owner turning it on. An owner proves they control the domain at /claim, then in /app switches an action on, chooses which agents may call it and sets a limit. Test mode is the default.

What was removed, and why these are named

Phone numbers, booking-widget URLs and the raw page markup are withheld on every published report. The business name and website address are withheld too, unless a recorded, reviewed permission names that business.

The businesses in the sample are real trading companies. They did not ask to be scanned and have no right of reply on these pages, so naming is off by default. Naming now follows the index, where a business can be removed at its /b/<domain> page.

Identifying fields are rebuilt from a safe vocabulary, and a final check refuses to publish a surviving hostname, business name or phone number that has no recorded permission. The lowest score in the 25 August sample was 12 out of 100.

Where the numbers came from

Report pages show a stored scan and never re-score it, so a claim can be walked back to its run. The fifteen samples come from one read-only run on 25 August 2026: sites scanned one at a time, two seconds apart, 15 of 15 scanned, none failed, no form filled and nothing submitted.

To scan any other site, go to /get-scanned and enter a domain. If you have claimed the domain, the Overview in /app has a Share your score button. It copies a public /score/<id> link showing the host, score, verdict and top three findings. Search engines do not index it, and Stop sharing makes it return 404.

See what an AI agent can do on your site.