A score you cannot audit is a score you should not trust. That sentence sits at the top of our methodology page and it is the reason the page exists at all. Every check we run, its point weight, its threshold and the effort we think the fix takes is published there, and every scan we issue records which version of that rubric scored it.
This post is the argument for doing it that way. It is not a complicated argument, but it runs against how most "AI visibility" products work, so it is worth setting out plainly.
What a proprietary score hides
The typical AI visibility score is a single number, a colour and a button. The number is produced by a model of some kind, the inputs are not disclosed, and the thresholds are not disclosed either. You cannot tell whether a 62 means you are missing structured data or whether the vendor's crawler was blocked at the edge and scored the resulting error page. You cannot tell whether the number would be different tomorrow because your site changed or because the vendor's weighting did.
That opacity is not an accident. A score nobody can check is a score nobody can argue with, and an audit business that cannot be argued with sells more audits. It also means the score can drift with the vendor's commercial interests, and nobody outside the vendor would know.
We think the right response is not a better black box. It is no box.
What publishing costs us
Publishing the rubric means you can read check A2 and see that we test six named crawlers, score proportionally, and give zero for a blanket disallow. You can read B5 and see the exact ratio thresholds. You can read C4 and see that one machine endpoint earns partial credit and more than one earns the full five points.
It also means you can disagree with us, specifically. You might think four points for llms.txt is generous for a convention that is still settling. You might think five points for server-rendered parity is not enough given how much depends on it. Those are real arguments, and we would rather have them in the open than have you quietly distrust a number you cannot interrogate. Most audit businesses depend on you not being able to name the check you disagree with. Ours depends on you being able to.
The other cost is that the rubric is a single definition, in one file, feeding both the scan engine and the published page. The methodology page is rendered from the same structure that scores every report, so what we publish and what we measure cannot disagree. That constraint is inconvenient at times. It is also the whole point.
Why the rubric is versioned
Standards in this area are moving. llms.txt adoption, MCP and WebMCP, the various agentic commerce proposals: all of them will change what a reasonable check looks like, and a rubric that never changes would be measuring 2025 forever.
So the rubric carries a version, and every scan stores the version it was scored under. When the rubric changes, the change is dated and explained in the changelog, and scores already issued are left alone. A site that scored 71 under one version does not become 68 because we tightened a threshold six weeks later. If you want to know what the site would score today, you re-scan it, and the new report says which version it used.
This matters more than it sounds. The leaderboard and the badge only mean anything if a score is a fixed statement about a site on a date under a named rubric. A number that can be retroactively rewritten is not evidence; it is an opinion with a timestamp.
What changed between v1.0.0 and v1.0.1
The rubric has already changed once, and the change is a useful example of why versioning is not a formality.
Check B5, clean text ratio, measures visible text as a proportion of HTML bytes. It is there to penalise div soup and megabyte pages. Under v1.0.0 the denominator was every byte of the document. When we audited our own site we found that our homepage's serialised server-rendering payload, which duplicates the page text so the browser can hydrate it, was 60% of the document. Measured against total bytes, B5 was penalising precisely the server-rendered architecture that check A7 rewards. It was measuring framework choice, not markup quality.
Version 1.0.1 excludes the contents of script and style elements from the denominator. The changelog entry says so, says why, and says that scores issued under v1.0.0 are not restated. That is the whole protocol: explain the delta, do not touch the history.
Why we score ourselves in public
We sell agent readiness. The first thing a sensible prospect does after reading a cold email from us is scan us, so our own report is public, scored by the same engine, with the same evidence blocks, including anything we have not yet fixed.
Internally we treat a drop in our own score as a broken build rather than a backlog item. That rule has practical consequences for how this site is built: server components only, no content that exists solely after hydration, cookieless analytics so there is no consent banner to count as an interstitial, no third-party embeds, and nothing sitting in front of the origin that might answer a bot with a challenge page. Every one of those is a rubric check in disguise.
Scoring ourselves is also how we found the B5 problem above, and reading your scan report walks through the same evidence blocks on any report. A rubric you only ever point at other people is a rubric you never have to defend.
Where the 100 comes from
The rubric asks four questions, and each is worth 25 points. Can agents find and reach the content at all (pillar A, discovery and access)? Once fetched, can a machine parse what the site is and sells (pillar B, understanding)? Can an agent actually do things, navigate, search, fill forms, transact (pillar C, actionability)? Should an agent, or the model behind it, trust and cite this site (pillar D, trust and freshness)?
Twenty-seven checks sit under those four questions. Every one is automatable from an unauthenticated crawl and returns evidence we captured rather than an opinion. The total maps to a grade: A+ for 95–100, A for 85–94, B for 70–84, C for 55–69, D for 40–54, F for 0–39. Grade B or better earns a badge that links back to the report it came from, because a badge that cannot be traced to its evidence would be exactly the kind of number we are arguing against.
Equal weighting across the four pillars is a deliberate choice, not a measured one. We do not have the aggregate data yet to say that discovery matters more than trust, and until we do, we would rather be transparently even-handed than falsely precise.
Check your own site
Run a free scan and read the result against the published rubric, starting with pillar A, since nothing else can be measured if agents cannot get in. If a check scored you wrongly, the methodology page tells you how to dispute it, and we will publish the correction.