How it works

How RotSweep fingerprints a page

Concentric hash lattice over an abstract document silhouette

Content drift has to be boring to be useful. If the digest cries every time a site rotates a hero image, people turn it off. If it stays silent when the offer is removed, it has failed. The pipeline is how we stay on the right side of that.

The pipeline

  1. Fetch the URL.
  2. Follow redirects to the end. The final destination is what we compare, not the first hop. If that final URL is not the baseline destination, the link has drifted even if the status is 200. That check runs on every plan.
  3. Extract the main text of the destination page and strip volatile chrome.
  4. Fingerprint what remains. Compare it to the accepted baseline.

The product-level story of the three questions lives on How it works. This page is the comparison step.

What counts as the page

Main text. The article, the product description, the documented contract, the table you cited. That is what a human meant by “this URL”.

What does not count

Navigation, ads, cookie banners, timestamps, CSRF tokens, other volatile chrome. We do not screenshot. We do not diff pixels. We do not ask a language model whether the change “matters”. Those approaches are right for other products — see Visualping vs outbound monitoring — and wrong when the job is to say, repeatably, whether the page is still the page you meant.

Retries and baselines

A price change is recorded and does not alert on its own. A transient failure is re-checked after about ten minutes; only the retry failing flags the URL. When a site legitimately moved, accept-as-baseline makes the new destination and fingerprint the truth, and the alert stops.

The format of the fingerprint is a storage contract. Changing it would mark every monitored URL as drifted, so we do not bump it lightly. That is an engineering constraint, not a marketing one, and it is why this page does not invite you to tune the hash.

Questions

Will a cookie banner or a new article in the sidebar trigger drift?

That is what stripping volatile chrome is for. We fingerprint main text, not the raw HTML. A remaining class of false positives is why we re-check before flagging, and why accept-as-baseline is a first-class action.

Do you use a language model to decide if the change matters?

No. The comparison is a fingerprint of extracted main text against the baseline you accepted. A model would make the digest slower, more expensive and harder to explain.

How many of your links are already broken?

Fourteen days on Daily or Deep Sweep, card required. The digest is the product — one email when something changed, silence otherwise.

Start your free trial