4ort galaxy · bot identity

Every 4ort fetcher signs its requests.

If a request reached you claiming to be one of ours, you don't have to take the User-Agent's word for it. Each of our fetchers signs with Web Bot Auth (HTTP Message Signatures, RFC 9421) using a key that lives only on the machine that sent it — and publishes the public half below.

Who we are

4ort is an agent-first internet: search, reference data and tools built for AI agents to use directly. It is operated by Artificial Instincts LLC. Our fetchers collect public information only — no logins, no paywalls, no bypassing bot protection — and we would rather be slow and welcome than fast and blocked.

Our fetchers

4ort-lake

active
4ort-lake/1.0 (+https://4ort.net/bot)4ort-lake/1.0 (+https://4ort.net/bot; agents@4ort.ai)only to open.canada.ca, www.cer-rec.gc.ca, www.cbsa-asfc.gc.ca, nlftp.mlit.go.jp4ort-galaxy-lake/1.0 (+https://4ort.ai; agents@4ort.ai)only to github.com/trending

Downloads public open-data releases — government registries, statistical tables, bulk dataset files — for the 4ort data lake. It fetches files that are published to be downloaded; it does not follow links across a site.

  • One request at a time, sequential — concurrency 1
  • At least 1 s between requests to a host by default; slower per host where a site asks
  • Honours 429 / Retry-After (up to 15 min), and stops a host after 3 throttles in a run
  • robots.txt read first and cached 24 h; a Disallow is a Disallow

4ort-nexus

active
4ort-nexus/1.0 (+https://4ort.net/bot)fort-wba/1.0 (+https://4ort.net/bot)only to fetching Web Bot Auth key directories, ours and other operators'

The crawler behind 4ort.nexus, search where AI agents are the customer, and its river of fresh pages. It discovers and indexes public pages and the machine-readable surfaces sites publish for agents.

  • One request in flight per host AND per registrable domain — *.example.com shares one slot
  • At least 10 s between requests to the same host, or your Crawl-delay if larger
  • Any 429 or 5xx backs off the whole host for 24 h, or longer if Retry-After asks
  • No URL is refetched within 24 h; ETag / Last-Modified sent, so unchanged pages cost a 304
  • robots.txt cached 24 h; an unreachable robots.txt fails CLOSED — we do not crawl

4ortShop

paused
4ortShop/1.0 (+https://4ort.shop; privacy@4ort.ai)

The product-catalog agent behind 4ort.shop. Where a store publishes a UCP manifest it uses that API instead of reading pages. Paused since 2026-09-16; documented here so the key it signs with is accounted for.

  • Paced per platform, well under one request per second across a whole platform
  • Obeys robots.txt including Crawl-delay; a noindex is binding

Verify a request

A signed 4ort request carries three headers. The signature covers the host it was sent to and the Signature-Agent header, and expires about a minute after it is made.

Signature-Agent: "https://4ort.net"
Signature-Input: sig1=("@authority" "signature-agent");created=…;keyid="<kid>";
                 alg="ed25519";expires=…;nonce="…";tag="web-bot-auth"
Signature: sig1=:…:

Resolve keyid in our key directory: https://4ort.net/.well-known/http-message-signatures-directory (application/http-message-signatures-directory+json). Every kid is the RFC 8037 JWK thumbprint of its key, so you can check our labelling rather than trust it. Fetch the directory fresh and honour its cache headers — don't pin a key: a key removed from the directory is retired.

BoxSigns forkidValidDirectory proof
box1-db 4ort-lake GqyJkHT-0Dir09yQjjzvuEH9znQE3zwfsp1pK5OknOg 2026-10-24 → 2027-10-24 ● proof valid to 2026-10-31
xyz 4ort-nexus nexus-river sfOjwruLmFzMnik0OddPqElZBl9_T5i3Izhbr216vC8 2026-10-24 → 2027-10-24 ● proof valid to 2026-10-31
hangar 4ortShop ZSTujQJOaMj2pvR8rHCoXLzunSSNfS7aklTmAm-Orlg 2026-09-06 → 2027-09-06 ● proof valid to 2026-11-23

Keys rotate by overlap: a new key appears here beside the old one before it is used, and the old one is removed after. An unsigned request that claims a 4ort user agent is not proof of anything — please tell us about it.

Opt out

robots.txt is the fastest way: each fetcher obeys its own group and falls back to *. Changes reach us within 24 hours, which is how long we cache robots.txt.

User-agent: 4ort-lake
Disallow: /

User-agent: 4ort-nexus
Disallow: /

User-agent: 4ortShop
Disallow: /

To slow us down instead of blocking, set Crawl-delay, or answer 429 with Retry-After — we back off. For anything else — a rate you'd like, a path to avoid, a request we shouldn't have made — email agents@4ort.ai. A human reads it.

© 2026 Artificial Instincts LLC · Contact & abuse reports: agents@4ort.ai · Legal