# Onto-Reader · About our fetcher
> Onto-Reader/1.0 is an on-demand fetcher, not a crawler. What it is, what it does, and the exact robots.txt to allow or block it.

**Source:** /about-bot
**Extracted:** 2026-08-28T19:19:40.235Z

---
Onto-Reader

## An on-demand fetcher, _not a crawler._

You found this because our user-agent string points here. It is one GET, made only when a customer asks for that exact URL, and it reads your robots.txt first. Everything you need to allow or block it is on this page.

The string in your logs

`Onto-Reader/1.0 (+https://buildonto.dev/about-bot)`

Origin network

Vercel edge · api.buildonto.dev

Operator

Onto — buildonto.dev

Contact

founder@buildonto.dev

1

Request per call

15s

Hard timeout

1 hr

Cache before refetch

Behaviour

### What it does, and what it never does.

The second column is the part most people actually want to know.

#### It does

*   Fetches a URL only when an authenticated customer requests that exact URL
*   Reads /robots.txt before every fetch and honours a block
*   One GET per call, 15-second hard timeout, follows redirects
*   Caches for one hour, so a repeated request doesn't hit you twice
*   Surfaces 403 / 401 / timeout to the caller as a named error

#### It never

*   Spider, follow links, or build an index
*   Execute JavaScript, accept cookies, or submit forms
*   Queue background jobs against your origin
*   Retry silently after your server refuses it

Control it

### Two lines to stop it. One caveat to know.

Onto-Reader re-reads robots.txt on the next request, so a change takes effect immediately and there is nothing to notify us about.

#### Allow it everywhere

The default. Nothing to add — Onto-Reader treats an absent rule as permission, the same as any well-behaved agent.

User-agent: \*
Allow: /

#### Block it entirely

Onto-Reader matches on GPTBot. A global disallow stops every fetch, and the API returns the policy state to whoever asked.

User-agent: GPTBot
Disallow: /

#### Path rules won't stop it

Worth knowing: Onto-Reader currently checks for a site-wide disallow only. Per-path rules like these are read but not enforced against the fetch, so a route you want kept out needs a site-wide block or real authentication.

User-agent: GPTBot
Disallow: /admin/
Disallow: /account/
Allow: /

Why it exists

### It reads for one person at a time.

Onto turns a page into clean Markdown so an agent can use it without downloading a megabyte of markup. That only happens when someone asks for your URL specifically — there is no index being built, and nothing is stored beyond the one-hour cache.

If Onto-Reader is in your logs, one of our customers pointed an agent at your page. Blocking it blocks that read; it does not affect any other crawler, and it does not remove you from anything.

If it behaved in a way this page doesn't describe, that is a bug and we want to hear about it — [founder@buildonto.dev](mailto:founder@buildonto.dev).

While you're here

### See what an agent gets from your site.

The same extraction Onto-Reader performs, run on your URL, with a score for how readable it came back.

[Scan your site](/scanner) [How the fetch works](/how-it-works)