# doloop Answer Engine, spec sheet

A website answer engine that cannot make things up. It routes a clear question to a real page,
returns a short menu when the question is ambiguous, or declines when your site does not cover
it. No model runs when it answers, so every answer is reproducible at a published version and
you can read exactly why it routed where it did.

This sheet is honest about where it wins and where it does not. It is built for one job, on
purpose.

## The job it solves

Safe, reproducible answering of bounded informational questions on a website: FAQ, policy
lookup, navigation, support deflection, "what is", "how do I", "where do I find".

It does not try to solve:

- transactional actions (order status, password reset, balance, cancellations)
- open-ended sales discovery or long multi-turn conversations
- general knowledge or reasoning beyond your pages

Most chatbots try to be everything. This one is narrow by design, because the narrowness is
what lets it refuse to fabricate.

## The three behaviors, and nothing else

- **Route.** The question is clear. It returns the approved answer and a link to the real page.
- **Ask.** The question is genuinely ambiguous. It returns a short menu of two or three links
  and lets the person choose, rather than guessing.
- **Refuse.** Your site does not cover it. It says so plainly. It does not invent an answer to
  look helpful.

One honest clarification: refusing is not narrowing a hard question down to a single
guaranteed-correct answer. When it refuses, it is telling you the answer is not on the page,
not handing you a smaller set of guesses. And "cannot make things up" is a claim about
fabrication, not about being right every time. No fabrication is not the same as no mistakes.

## How it compares, for this job

| Property | Keyword / decision-tree bots | Generative chatbots (LLM / RAG) | doloop answer engine |
| --- | --- | --- | --- |
| Can it fabricate? | No | Yes, by construction | No, by construction |
| Reproducible and auditable | Yes | No | Yes, replay at a published version |
| Paraphrase and typo tolerance | Poor | Strong | Good, and improves from real use |
| Marginal cost per answer | Very low | Per token | Near zero, no model on the answer path |
| Injection and off-script risk | Low | Higher | Very low |
| Over-refusal risk | High | Low | Medium, highest on small or narrow sites |
| Learns from real traffic | No | Through retraining | Yes, from what real visitors choose |
| Setup | Medium | Low | Low, one embedded script |

**Where it wins:** sites that cannot afford a public wrong answer (regulated, high-trust, and
careful brands), high-volume bounded FAQ where per-token cost adds up, and anyone who needs to
audit why an answer was given.

**Where a generative chatbot still wins:** open-ended chat where fluency matters more than
never being wrong, conversations that must remember earlier turns, and anything that must
reason past the content on your pages.

## Honest limits

- **Single-turn by design.** It keeps a visible transcript so a conversation survives across
  pages, but each answer is routed independently. Nothing on the answer path reads earlier
  turns. A visitor who expects memory will notice.
- **Over-refusal is the failure mode we accept.** On a small or narrow site, an off-topic
  question can occasionally land near a real page, and the safe response is to refuse or ask.
  We monitor that refusal rate per site as a health signal.
- **The unattended, self-serve version is gated.** We do not yet ship the free auto-installed
  widget for a site we have not seen, because refuse-when-you-should has to be proven against
  that site's own real traffic first. The attended version, where we seed and check the site,
  is ready today.

## How it is delivered

One embeddable script on any page. The answer path runs no model, so there is nothing to meter
per token and nothing that can leak or go off-script. Priced in loops, metered per answer, with
a free tier. The behavior is reproducible: the same question at the same published version
returns the same answer, every time.

See it live: https://doloop.io/chat/
