About
Why a specification, and not just a tool
A score is only worth something if you can argue with it. That constraint decided almost every other decision here.
What AXRAY is
AXRAY fetches a page the way a crawling AI agent does — one plain HTTP request, no browser, no JavaScript, a hard timeout and a hard byte cap — and reports what actually arrived. It asks 53 questions about the result across five pillars and returns a score out of 100 with a fix list ordered by how many points each change recovers.
The constraint is the product. A tool that rendered the page first would flatter you: it would tell you what a browser sees, which you already know, rather than what a crawler sees, which is the thing quietly deciding how you get described in an answer you never read.
Why the rubric is public
Every check, its weight and its reasoning are published at the AX specification, generated from the scoring code so it cannot drift away from what the scanner does. That is not generosity. A number nobody can inspect is a number nobody should act on, and a standard that only one vendor can compute is not a standard. Publishing it means you can disagree with a weight, and that we have to defend it.
It also means the rubric can be gamed, which is why we check for substance rather than presence and say so on the same page. An open rubric that pretends it cannot be gamed is the thing actually worth distrusting.
What we deliberately do not do
- We do not render. No headless browser, ever. It would produce a more flattering number and a less true one.
- We do not hammer your origin. A scan is a handful of requests, one host is fetched a limited number of times an hour across all users combined, and crawls obey your robots.txt and your crawl delay.
- We do not publish anything about your site because somebody scanned it. The AX Index lists only domains whose owners proved control and asked to be listed.
- We do not guess at intent. A check that cannot be evaluated is marked not applicable rather than failed.
Our crawler identifies itself as Mozilla/5.0 (compatible; AXRAY/1.0; +https://axray.online/bot) AgentExperienceScanner. If you would rather we did not
fetch your site at all, say so in your robots.txt and we stop.
If you think a score is wrong
Send the report link and the check id to hello@axray.online, or use the contact form. If a check is wrong we fix the check rather than the score, the fix appears in the changelog, and the specification page updates on the next deploy. Scores are opinions produced by a published rubric, not statements of fact about your business, and the terms say so.
Who runs this
AXRAY is operated by a small independent team. The legal entity behind it is not published on this page yet — and rather than put a plausible-sounding name here, we would rather say that plainly. If you need it before you can buy, write to hello@axray.online and you will get it in writing.
How this is built
One Node process, no framework, and no runtime dependencies beyond the standard library: the database is the built-in SQLite, the HTTP client is the built-in one, the HTML parser was written for this. That is not minimalism for its own sake — it is what makes the whole deployment a Dockerfile, and what means a scan is answered by the same code you can read.