For site owners

The RoutineInk fetcher

If you found this page in your logs, this is what made the request, why, and how to stop it. No account or correspondence required for any of it.

How it identifies itself

Every server-side request we make carries this User-Agent, unmodified:

RoutineInk/1.0 (+https://routineink.com/bot)

We do not rotate it, do not impersonate a browser, and do not use residential proxies. If a request claiming to be us does any of those things, it is not us.

What it is doing

RoutineInk sends things people are already reading to their own Kindle. The fetcher does two jobs:

  • Polling feeds a user subscribed to. One conditional request per feed per interval, with If-None-Match and If-Modified-Since, so an unchanged feed costs you a 304 and nothing else.
  • Fetching one article, once, when a person asked for it. This is a fallback path. The primary path is our browser extension, which extracts the article inside the reader's own tab and never touches your server at all.

There is no crawl. We never follow links to discover pages, and we never index anything.

The rules it follows

  • robots.txt is honoured, including Crawl-delay.
  • Rate limited per host, and hard-capped at one request per source per poll.
  • Response bodies over 5 MB are abandoned mid-stream.
  • A 403, 429 or 401 stops that source rather than being retried harder. Repeated failures back off and then disable the source, and the person who subscribed is told why.
  • We never authenticate, never solve a challenge, and never work around an access control. If content is behind a login, the extension reads it in the reader's own session or it does not get read.

Blocking it

Add this to your robots.txt and we will stop:

User-agent: RoutineInk
Disallow: /

If you would rather allow feed polling but not article fetches, disallow the article paths and leave the feed path open — we treat the two identically and obey whichever rule matches.

Where it comes from

Requests originate from Cloudflare Workers, so they arrive from Cloudflare's published IP ranges rather than a fixed address we can give you. The User-Agent above is the reliable way to identify us.

Talking to a person

help@routineink.com reaches someone who can answer. Takedown requests, a rate you would prefer, or a bug in how we render your pages — all fine, and all answered. If you want us gone entirely, the robots.txt above is faster than an email and does not depend on us reading it.