← Docs

This Scanner API doc explains how free scans finish 26 checks in under 10 seconds (ruleset v20).

Scanner API

The scanner runs deterministic AI-search hygiene checks plus an evidence-graded rulebook. A grade or a pass is not a citation. Shipped today: 26 automated checks on L0–L3 and 182 rules in the rulebook.

The scanner evaluates HTML or text against the deterministic AI-search hygiene checks plus an evidence-graded rulebook. Same deterministic engine powers MCP, CLI, GitHub Action, and the web UI. A grade or a pass is not a citation.

Keyed results: judge field

Detailed (keyed) scans attach a judge on each check and on work-list items. The label is assigned by the deterministic judgeForCheck mapping — not an LLM on our side.

How the grade is computed

Each group and the page get a letter from the share of evaluated checks that failed. A failed warn check counts 50% as much as a failed error. Any failed error rules out an A. Warnings alone keep an A until their weight reaches 5% of the checks run. After that the grade is B under 25%, C under 50%, D under 75%, and F above. Skipped checks do not count, but a page the scanner could not read never grades A.

Free tier (grades + fundamental fixes)

Keyed tier (detailed)

Machine-readable contract

The customer REST surface (POST /api/scan, keyed GET /api/checks, keyed GET /api/rules) is published as a parseable OpenAPI 3 document for agents and tooling:

Invariants

Updated