What Scovant does

A measurement system for sites that need to work for agents.

Three product layers. Run any one, stack all three. Same scores, same vocabulary, same scoreboard.

The 65 rules

What we look at, across seven categories.

Discoverability
AI_CRAWLER_BLOCKED
AI crawlers allowed in robots.txt
BOT_PROTECTION_BLOCKING_AGENTS
No bot-protection wall for agents
BLOCKED_CRAWLABILITY
Pages crawlable — no noindex, no errors
SITEMAP_MISSING_OR_INVALID
Sitemap present & valid
LLMS_TXT_MISSING_OR_INVALID
llms.txt published
MARKDOWN_FOR_AGENTS_ABSENT
Markdown representation for agents
LINK_HEADERS_ABSENT
Agent-relevant Link headers
CONTENT_SIGNALS_ABSENT
Content-Signal directives in robots.txt
Structured
MISSING_PRODUCT_SCHEMA
Product schema on detail pages
MISSING_OFFER_DATA
Offer data populated
PRICE_MISSING_INVALID
Price valid in the Offer
MISSING_AVAILABILITY
Availability declared
VARIANT_INFO_MISSING
Variant info exposed
PAGE_TOKEN_BLOAT
Page token cost reasonable for agents
HEADING_HIERARCHY_POOR
Sound heading hierarchy
SEMANTIC_HTML_ABSENT
Semantic HTML5 landmarks
Consistency
PRICE_MISMATCH
Visible price matches structured data
INCONSISTENT_STRUCTURED_DATA
Schema blocks agree with each other
DUPLICATE_CONFLICTING_ENTITIES
No duplicate conflicting entities
Actionability
JS_ONLY_CRITICAL_CONTENT
Critical content not JS-only
MCP_ENDPOINT_ABSENT
MCP endpoint published
MCP_DISCOVERY_INVALID
MCP discovery answers a live handshake
AGENT_INTERFACE_DISCOVERY_ABSENT
Agent interface discovery surface
Trust
MISSING_RETURNS_POLICY
Return policy findable
SHIPPING_INFO_UNAVAILABLE
Shipping info available pre-checkout
MISSING_OG_META_FOR_CITATION
OpenGraph meta for citation
UCP
UCP_PROFILE_ABSENT
Profile present at /.well-known/ucp
UCP_PROFILE_INVALID
Profile schema valid
UCP_CHECKOUT_MISSING
Checkout capability declared
UCP_SIGNING_KEYS_INVALID
Signing keys are valid JWKs
AGENT_PAYMENTS_ABSENT
Agent payment protocols beyond UCP
Citability
CITABILITY_WEAK
Passages quotable by AI answer engines

Every failed check comes with a concrete fix — and one credit turns the whole list into an agent-readable Markdown fix plan. See pricing →

Universal Commerce Protocol

The open standard for agentic commerce. Scovant checks if your site is ready.

UCP is an Apache-2.0 open standard at ucp.dev for AI agents to discover and transact with businesses. It defines a JSON profile at /.well-known/ucp that declares Checkout, Order, Identity Linking, and Payment Token Exchange capabilities. Scovant is one of the first third-party scanners for the protocol — every commerce scan validates your UCP readiness end-to-end.

UCP_PROFILE_ABSENT
Profile present
GET /.well-known/ucp returns 200 with valid JSON.
UCP_PROFILE_INVALID
Schema valid
ucp_version, services, capabilities, signing_keys are well-formed.
UCP_CHECKOUT_MISSING
Checkout declared
Commerce sites declare dev.ucp.commerce.checkout capability.
UCP_SIGNING_KEYS_INVALID
Signing keys valid
signing_keys[] entries follow the JWK kid/kty/use=sig shape.
AGENT_PAYMENTS_ABSENT
Agent payments
Info-level: x402/L402-style payment protocols beyond UCP.
Read the full spec at ucp.dev →Sample implementations →
The simulation engine

Real flows, in a real browser, with a visual replay.

Scovant simulates real user journeys in a headless browser powered by Playwright. It walks through interactions step by step — like adding items to a cart or finding a signup page — capturing screenshots, console errors, and network failures at every stage. You get a full visual replay showing exactly where things break.

▶
Step-by-step execution
Navigate, click, fill forms, and wait for DOM/network idle.
◧
Screenshot capture
Visual evidence at every step of the journey.
!
Failure classification
Pinpoints where and why an interaction fails.
CI for AI agents

Catch agent regressions before agents do.

Wire up your deploy webhook and every commit runs a full Scovant pass against your environment's baseline. We diff the score, the MCP tool interface, and security-relevant findings, and tell you honestly whether a drop is a real regression or just a scoring-model update.

■
Baseline per environment
Every push is compared against your environment’s current baseline, not a fixed snapshot.
✓
ci.completed, every run
A signed webhook fires on every compared run — pass or fail — so “no regressions” is a verified state, not silence.
△
regressions.detected on drops
A second webhook, with the full regression list, fires only when something actually broke.
≡
Score, interface & security regressions
We diff the score, the MCP tool interface, and security-relevant findings — not just the overall number.
⬡
Website vs. model split
A scoring-model update is flagged as a model change, never mistaken for something your deploy broke.
Agentic Security & Trust

What your agent interfaces expose, made visible to you.

Every scan runs a set of passive security and trust checks over your declared agent interfaces — reported, never scored. Verify a domain and you can opt into authorized read-only checks against your own tools, and optionally into write-class checks against a sandbox endpoint you control. Results are yours alone.

◈
18 passive security checks, every scan
Agentic Security & Trust checks run on every scan and are reported alongside the score — they never change it.
⇄
Authorized active checks
For domains you’ve DNS-verified, optional checks call your own declared tools read-only, with your credential.
□
Sandbox writes, opt-in
Write-class tool calls run only against a sandbox endpoint you provide — never your production site.
◆
Owner-only visibility
Active and sandbox findings are visible to you alone — never scored, never shown on a public report.

Want this running on your site?