AINativeainative.axAX AUDIT
METHODOLOGY

How AX Audit actually scores a site

This page documents exactly what the scanner checks, how those checks turn into a score and a grade, and where the automation reaches its limits. If you’re deciding whether to trust a report — your own or a competitor’s — this is the page to read first.

01 · WHAT THIS SCAN IS

A point-in-time automated scan, not a certification

AX Audit runs a set of automated checks against a URL you submit and returns a score out of 100, a letter grade, and a per-check breakdown. It is a fast, repeatable way to see how an AI agent would experience your site today — not a comprehensive audit, not a security assessment, and not a guarantee of anything about your site’s actual safety or legal compliance.

This is not a security or compliance certification. A high score means your site exposes the machine-readable signals an agent looks for. It says nothing about whether your APIs are secure, your terms are enforceable, or your infrastructure can handle agent traffic at scale.

02 · WHAT WE CHECK

Six categories, from “can it find you” to “can it become your customer”

Every check maps to one of five categories from the open AgentReady (AR-*) standard, plus AR-PROV, a sixth category AINative authored and proposed as an upstream contribution to that standard. We don’t publish a fixed total check count here, because the set of checks changes as the underlying standards (OAuth profiles, MCP conventions, x402, etc.) evolve — what’s stable is the six categories below and what each one is trying to verify.

AR-DISC
Discoverability — Can an agent find you?
Agent Discoverability (llms.txt, AGENTS.md, agent.json, agents.txt, agent-manifest.txt, ai-plugin.json, agent-card.json) · Machine-Readable Content (robots.txt, sitemap.xml, feed.xml) · MCP Discovery
AR-CONT
Content — Can it read and parse you?
Content Negotiation (Accept: text/markdown) · Structured Data (JSON-LD, Schema.org, OpenGraph) · SSR Detection · Token Efficiency
AR-CAP
Capabilities — Can it call you?
API Documentation (openapi.json, /docs, /swagger.json, /api-docs) · API Catalog (RFC 9727) · NLWeb /ask Endpoint · ?mode=agent Dedicated Agent View · WebMCP Tool Quality (document.modelContext)
AR-AUTH
Identity & Access — Can it authenticate against you?
Authentication Standards (OAuth/OIDC endpoints, Web Bot Auth, Content Signal) · Security Transparency (security.txt)
AR-COMM
Commerce — Can it pay you?
x402 Agent Payment Discovery (.well-known/x402, live 402 challenge)
AR-PROV
Provisioning — Can it open an account with you — no human in the loop?
account-create · machine-readable terms · credential issuance · signed-mandate consent
AR-PROV is AINative’s own extension to AgentReady, not (yet) part of the upstream standard. We score it because we think it’s the next rung on the ladder — see the AR-PROV guide for the full spec.
—
General reliability signals — Checks that don't map cleanly to one AR-* category
HTTP error handling (404 behavior) · rate-limit headers
These verify basic API hygiene an agent relies on regardless of category — they're real, scored checks, just not ones that fit a single AR-* bucket honestly.
02B · STANDARDS WE SCAN

Every file and endpoint the scanner actually looks for

This is the real list — every path below is pulled directly from live scan output (the detailsfield on each check), not a marketing summary. We don’t publish a category-weighted percentage breakdown (e.g. “Discoverability 20%, Parsability 20%”) because that model doesn’t reflect how the scanner actually scores — every named check (listed in the categories above) carries its own individual point value, and those sum to 100.

robots.txtllms.txtllms-full.txtsitemap.xmlopenapi.jsonai-plugin.jsonsecurity.txtAGENTS.mdagent.jsonagents.txtagent-card.jsonmcp.jsonmcp/server-card.jsonagent-manifest.txtsdks.txt.well-known/content-signal.json.well-known/provisioning.well-known/api-catalog.well-known/x402feed.xml.md content negotiationJSON-LD / Schema.orgSSR detection
03 · THE SCORING MATH

Sum of per-check scores, mapped to a grade

Each check the scanner runs returns a pass/fail, a score, and a max score for that check — for example, { name: "robots.txt", passed: true, score: 8, max_score: 10 }. The overall score is the sum of every check’s scoredivided by the sum of every check’s max_score, expressed out of 100. There is no hidden weighting beyond what each check’s own max score encodes, and no manual adjustment after the scan runs.

That score maps to a grade using fixed thresholds — the same thresholds the scanner’s own result pages use, reproduced here exactly:

A++
score 98–100
A+
score 95–97
A
score 90–94
B
score 80–89
C
score 70–79
D
score 50–69
F
score 0–49

Separately, the scanner groups any score into one of three bands for quick visual reference on result pages:

GOODscore ≥ 90
NEEDS WORK50 ≤ score < 90
POORscore < 50
04 · THE RAW RESULT SHAPE

Every check is shown, not just the summary

Nothing about the score is black-boxed. Every scan returns the full list of individual checks with their pass/fail state, points earned, points possible, and a details string describing exactly what the scanner observed — the actual response header, file, or endpoint it looked at. This is the real shape of that response:

{
  "url": "https://example.com",
  "score": 74,
  "max_score": 100,
  "grade": "C",
  "checks": [
    {
      "name": "llms.txt present",
      "passed": false,
      "score": 0,
      "max_score": 8,
      "details": "No /llms.txt found (404)"
    },
    {
      "name": "robots.txt allows AI crawlers",
      "passed": true,
      "score": 10,
      "max_score": 10,
      "details": "GPTBot, ClaudeBot, PerplexityBot all allowed"
    }
    // ...one entry per check, every category represented
  ],
  "scanned_at": "2026-10-23T18:04:00Z"
}
05 · LIMITS OF THIS SCAN

What automated checks can and can’t tell you

We’d rather you trust a report because you understand its limits than because you assumed it has none. Some honest caveats:

  • Automated checks can produce incorrect results.A failed check may reflect a scanning limitation — a timeout, a bot-blocking rule, a JavaScript-rendered page the scanner couldn’t execute — rather than a real gap on your site. Read the details field on any failed check before treating it as ground truth.
  • We do not manually review scans.Every report is generated entirely by the automated checker, with no human verification step before it’s shown to you. That makes it fast and repeatable, and also means it carries the error modes of any automated crawl.
  • A pass means a signal is present, not that it’s correct. A check for JSON-LD, for example, verifies that structured data exists and parses — it doesn’t verify that every field in it is accurate.
  • This is a snapshot, not continuous monitoring. The score reflects what the scanner observed at scanned_at. Sites change; so do scores.
  • Standards are still moving.Several categories this scanner checks (AR-COMM payment protocols, AR-PROV provisioning) describe emerging, not-yet-universal standards. A low score in those categories often means a standard that’s still early, not necessarily a mistake on your part.
06 · SEE IT RUN

Read the standard, or scan a real site

The AgentReady categories (AR-DISC through AR-COMM) are an open standard. AR-PROV is AINative’s own proposed extension, published openly and used to score ainative.ax itself — our own site is scanned by the same checker, against the same thresholds, in public.

Run a scan →Read the guides →