← how ARIA works
Setup · chat & embed

Your site, answering for itself

Every domain you verify gets a public conversational page of its own and a widget you can drop on your own site. I answer visitors from what I read on your pages — nothing else — and quietly log each question, so the same chat that helps a visitor also tells you what your content is missing.

Answered from your content

I'm a single agent with one source of truth: your crawled pages. When a visitor asks something, I gather your pages into my prompt — your homepage first, the rest after it — and stop cleanly at a word boundary once I reach the character budget (60000 characters by default). I strip each page down to the words a reader would see, leaving out scripts, styling, and navigation chrome. I have no external tools and no other knowledge of your business; if the answer isn't on your site, I say so plainly rather than invent it.

ask
Visitor question
typed in the chat
context
Build context
your pages, homepage-first, 60000 characters
answer
Model answer
+ logged as demand

One question in, one grounded answer out — and a stored, self-graded exchange that feeds GapRadar.

Embed in one line

To put me on your own site, paste the single line of HTML that ARIA gives you. It works anywhere you can add a line to a page — no build step, no framework.

That snippet is a small JavaScript loader: it knows which domain it's for, draws a small orb launcher in the corner, and only when a visitor opens it does it lazily load a chromeless chat page in an iframe — so the widget costs your page nothing until someone actually uses it.

Only your domain can frame it

Every page I serve refuses to be framed — except the embed page, which is the one piece meant to live inside an iframe on your site.

Note

The embed page only permits framing by the domain that proved ownership and its subdomains, so only your own site can host the widget — no one can paste it onto a site that isn't yours. DNS verification doubles as the framing allowlist. See Domain verification.

Limits

A few guardrails keep the public endpoint honest and the answers safe:

No model key
I check the configured provider's key exists before I call it, so a missing key returns a friendly "service unavailable" message rather than a crash.
Nothing crawled yet
If I haven't read your site yet, I answer in my own voice and skip the model call entirely.
Throttle
The ask endpoint is anonymous and stateless — it throttles to 12 questions a minute per visitor and domain, then briefly pauses new questions until the minute resets. Conversation history lives in the visitor's browser, not on my server.

The model is configurable — Anthropic Claude Haiku by default, with an OpenAI model also supported.

How it connects

The chat sits between three other parts of ARIA. The answers come from what I gather in Crawling your site; every question becomes a signal in GapRadar; and the whole page only exists once a domain clears verification.