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.