Open source · Apache-2.0 · runs offline

See what AI bots do
on your site. Then decide.

One command reads the access log you already have. It shows which AI crawlers, search bots, and agents hit you, what they took, what that cost, and who ignored your robots.txt. No install on your servers, no signup, and the log never leaves your machine.

npx agentborder analyze --sample

60 seconds with the bundled demo log. Then point it at your own: npx agentborder analyze ./access.log

Interactive demo

Today is manageable. The curve is the problem.

Press run. The calendar starts at this month, at today's bot levels. Then it starts moving, slowly at first, then faster, with bot growth paced to measured rates. The humans stay constant. The bots do not.

monitor enforce
simulation · synthetic traffic · future pacing is a projection from measured growth, labeled on screen
012026today · bot levels in the range commonly measured now
0
bot requests per minute
0
robots.txt violations
78 ms
server response time (simulated)
0%
bot share of traffic
your-site.com
Docs
Products
Pricing
API
Blog
Checkout

same site, same minute

today  →  projected
bot requests0
peak bot req/min0
robots.txt violations0
bot share of traffic0
checkout write attempts by bots0

The growth is measured, not imagined. AI traffic to US retail sites grew 4,700% year over year (Adobe). Wikimedia reported crawler bandwidth up 50% in a year. Read the Docs found AI crawlers pulling 73 TB in a single month before anyone noticed. Once the calendar starts moving, the demo is a projection built on those rates, and it says so on screen.

The part nobody has a playbook for

Agents stopped just reading

They buy, book, write, and pay on their own now. Impressive, and new in a way that matters: a purchase no human made, a review no human wrote, scraping at machine speed. Old bot playbooks assume bots only read. And the population keeps growing, AI traffic to US retail sites was up 4,700% year over year (Adobe).

Whatever you decide to do about it, allow, block, charge, or defend, every option starts the same way: knowing which agents are on your site and what they are doing. That part takes one command.

The report

Numbers you can put in front of anyone

Terminal summary in 60 seconds. Full html report with every judgment traced to a source. This is real output from the bundled sample log.

AGENTBORDER ANALYZE · bot & AI-agent traffic report period: 2026-08-04 → 2026-08-10 (7.0 days, 2,407 requests) TRAFFIC COMPOSITION Humans ██████████░░░░░░░░░░░░░░ 40.7% 980 req · 20.0 MB Bots & AI agents ██████████████░░░░░░░░░░ 59.3% 1,427 req · 26.2 MB TOP BOTS (identity = self-declared User-Agent) bytespider ai-crawler 475 req 6.5 MB peak 90/min ⚠ 475 robots.txt violations gptbot ai-crawler 315 req 9.5 MB ⚠ 58 robots.txt violations claudebot ai-crawler 210 req 5.4 MB oai-searchbot ai-search 84 req 1.3 MB ROBOTS.TXT COMPLIANCE (per RFC 9309) 533 violations out of 1,427 bot requests checked (37.4%) AI EXPOSURE SCORE 64 / 100 = bot share 23.7 + ai-crawler 18.7 + robots 7.5 + unknown 2.2 + bot-writes 1.2

Who is really visiting

Every bot named and grouped: training crawlers, AI search, assistants, agents, SEO tools, unknown automation. 51 documented bots, cross-checked against the community ai.robots.txt list.

dataset versioned, sources included

Who ignores your robots.txt

Your robots.txt is parsed per RFC 9309 and checked against what each bot actually requested. Violations are counted per bot, not guessed.

basis: RFC 9309

What it costs you

Bot bandwidth converted with your host's published unit price. The formula is printed next to the number, with the source. Estimates say they are estimates.

Vercel, Netlify, CloudFront presets

Bursts and write attempts

Peak requests per minute per bot, 404 crawl waste, and POST attempts by bots. The patterns that take sites down or fill them with spam.

computed from your log timestamps

A draft policy, ready to review

The report ends with a config generated from your own traffic. It starts in monitor mode, which blocks nothing and records what would happen.

you review every line before enforcing

Week over week

Run it again with --compare and see what changed: bot share, violations, new bots that showed up since last time.

--card makes a shareable summary image
Then control it

From watching to deciding, at your pace

The same package includes middleware. Three lines, zero dependencies. It starts in monitor mode and blocks nothing until you turn enforcement on, starting at 1% of bot traffic.

1 · observe
Install and change nothing. Bot events accumulate in a local file while your site behaves exactly as before.
const { createAgentborder } = require('agentborder');
app.use(createAgentborder(config));  // monitor mode
2 · decide by action
Rules are who × what: allow AI search on product pages, rate-limit price checks, block training crawlers, keep checkout human.
{ "category": "ai-search",
  "action": "product.read", "effect": "allow" }
{ "category": "ai-crawler",
  "action": "*", "effect": "block" }
3 · enforce, carefully
Turn it on for 1% of bot traffic. Watch. Raise it. One env var rolls everything back instantly. Errors inside the gate always fail open.
AGENTBORDER_MODE=enforce
AGENTBORDER_ENFORCE_PERCENT=1
Why trust it

Built to be checked

The standards and data this tool is built on.

RFC 9309 RFC 9421 ED25519 READ THE DOCS VENDOR BOT DOCS

Citations, not endorsements. Every catalog entry ships with its source URL and retrieval date, so you can check each one.

  • Offline by design. The analyzer makes zero network calls. Your log never leaves your machine. You can verify this in the source, it is a few files of plain Node.
  • No claim without a basis. robots.txt verdicts cite RFC 9309. Cost figures print their formula and source. A User-Agent is treated as a claim, never labeled verified without cryptographic proof.
  • Cryptographic identity is built in. The middleware ships a working Web Bot Auth verifier (RFC 9421, Ed25519). Signed agents verify in about 0.13ms, spoofed signatures are flagged as spoofed.
  • Fail open, always. Any error inside the gate lets the request through. Breaking your site is the one thing this tool is not allowed to do.
  • Apache-2.0. The core is fully open. Paid services, when they arrive, are operations on top: a weekly bot catalog, a fleet console, audit reports. Flat per-domain pricing, no per-request metering.
Start now

Your log already has the answers

npx agentborder analyze ./access.log --robots ./robots.txt