Skip to content

Crawler identification

PulseGate-Indexer

You are probably here because you found this name in an access log. This page says who we are, exactly what we send, what we take, and how to make us stop.

PulseGate is a public index of software, operated by Dymaxio s.r.o. We fetch the home page of a project to check that it exists and is still running, and to build its entry in the index. Every figure below is the limit our code enforces, named with the file that enforces it — and all of it is checkable against your own access log, which is the record that does not require taking our word for anything.

The exact User-Agent

Own site
PulseGate-Indexer/1.0 (+https://www.pulsegate.ai/bot)Sent to a project's own website — the address its listing is filed under.
Registries
PulseGate-Indexer/1.0 (+https://www.pulsegate.ai/bot; contact: support@pulsegate.ai)Sent to package registries and code-host APIs whose own policy asks a client to identify itself: GitHub, crates.io, PyPI.
Matching
If you are writing an allow-list or a block rule, match on the prefix PulseGate-Indexer/ rather than the whole string — the version moves, the name does not.
Anything else
Those two strings are the only ones that carry our name. Anything else in your logs claiming to be PulseGate is not us.

How to stop us

What to do
  • Email the domain to the address below. There is no automated opt-out and no form — a person reads it and adds the domain by hand.
  • That stops requests from us to your site. It is not the same as taking your listing out of the index — ask for that in the same email if you want it too.
Where to write
One of the User-Agent strings above carries a different address. This is the inbox we read: admin@pulsegate.ai
robots.txt
We honour robots.txt for this crawler. A Disallow rule matching PulseGate-Indexer, or *, stops us fetching that path — we check before the request, not after.
Your listing
To add or correct an entry, use Submit a project. To report something wrong with one, use Report an issue.

What we fetch

Scope
These figures describe requests to a project's own website — the lane that carries our name. How we read public catalogues and registries is a separate matter and is not described here.
Requests per listing
One GET for the page, plus up to 5 of that site's own script files. packages/alive/src/_httpHelpers.ts · STACK_JS_MAX_FILES
At once
At most 2 requests to the same host in flight. packages/alive/src/politeFetch.ts · PER_HOST_CONCURRENCY
Maximum read
300 kB — the rest of the response is discarded. packages/alive/src/enricherGate.ts · MAX_BYTES
Timeout
10 seconds. packages/alive/src/enricherGate.ts · TIMEOUT_MS
Those scripts
Read only to detect which technologies the project is built on, 5 second timeout each. packages/alive/src/_httpHelpers.ts · STACK_JS_TIMEOUT_MS
JavaScript
Usually none: the page is read as it arrives. When a plain fetch is blocked or returns an empty shell, that one page is opened once in a headless browser, which runs the page's own scripts. That fallback sends a Chrome user-agent, not the name above — so it will not look like us in your log.
Never
  • No sign-in, and no attempt at one.
  • No forms submitted.
  • No cookies kept or sent back, and no storage carried between visits.
  • No personal data collected.

How often

On discovery
Once. packages/alive/src/enricherGate.ts
After a failed fetch
Exponential backoff, from 30 seconds up to 30 minutes. packages/alive/src/politeFetch.ts · BACKOFF_BASE_MS, BACKOFF_MAX_MS
If you push back
A 429 or a 503 puts your host on backoff at once — we do not retry through it. packages/alive/src/politeFetch.ts · applyHostBackoff
After repeated failures
8 failed fetches in a row and the host is left alone for 7 days. packages/alive/src/politeFetch.ts · DEAD_HOST_FAILURE_THRESHOLD, DEAD_HOST_BACKOFF_MS
Re-checking a listing
Every 30 to 180 days, depending on how active the project looks. packages/alive/src/scheduler.ts · CADENCE_DAYS

How to confirm it is us

Signal
The User-Agent is the only signal today — which cuts both ways: a header is just text, so a request carrying our exact string is not proof that it came from us. We publish no IP ranges: our egress is shared cloud infrastructure, so any range we named would cover other people's traffic as well as ours. We are not listed in a verified-bot directory. If either changes, this page changes with it.

Last updated 2 September 2026.