Skip to content
modsignal
Engineering

Exact diff, semantic, or browser agent: choosing a check tier

modsignal's three check tiers trade cost for judgment. How each one works, what each one catches, and a simple rule for picking the right tier per page.

Every modsignal monitor runs on one of three check tiers. They're not quality levels — the cheapest tier is the right answer for some pages — they're three different definitions of what "changed" means. Picking the right one per page is most of the craft of setting up a monitor, so here's how each works under the hood and where each belongs.

Exact diff: "did the text change at all?"

The exact-diff tier fetches the page, extracts its text content, and compares it byte-for-byte against the last snapshot. Any difference is a change; identical text is silence.

There's no judgment involved, which is precisely its value. For some pages, every change is signal:

  • Legal documents — terms of service, DPAs, privacy policies.
  • Subprocessor lists and security pages.
  • Standards, specs, and regulatory registers.

These pages don't run A/B tests and don't rotate testimonials. When the text moves, someone meant it to move, and you want to know regardless of what it says. Exact diff catches a single changed word, costs almost nothing, and never hallucinates — the diff is the evidence.

Its failure mode is the noisy page. Point it at a marketing page with a "trusted by" carousel and it will dutifully alert on every rotation. That's not a bug in the tier; it's the wrong tier for the page.

Semantic: "did the change I described happen?"

The semantic tier is where the prompt earns its keep. On each check, the model reads the new page against two things: the last snapshot and your description of what matters. Then it answers a narrow question — did the change the user described actually happen? — and only an affirmative answer becomes an alert.

This is what makes plain-language monitoring work in practice. "Tell me if the per-seat price changes, ignore copy edits" is unanswerable for a diff algorithm and routine for a model reading the page. The testimonial rotation gets classified as noise; the trial quietly shortening from 14 days to 7 gets classified as the thing you asked about.

Every semantic alert ships with the sentence, the before/after evidence, and a confidence score. The confidence number isn't decoration — it's the model's own uncertainty surfaced, so a 72% alert reads differently than a 96% one, and you can calibrate how much re-checking a given monitor's alerts deserve.

The semantic tier still sees the page as fetched HTML. Which brings us to the third tier.

Browser agent: "check it the way a person would"

Some pages are empty shells without JavaScript. Pricing calculators, dashboards, marketplaces, anything built as a client-rendered app — a plain fetch returns a <div id="root"> and a bundle reference, and there's nothing to diff or read.

The agent tier launches a real Chromium browser, loads the page, waits for it to hydrate, and then hands the rendered result to the same semantic check. It can scroll, and it sees what a visitor sees — including the number that only exists after three API calls resolve.

It's the most expensive tier per check, which is why it's a choice rather than the default. Use it when a plain fetch of the page doesn't contain the content you care about. A quick test: view the page source in your browser (not the inspector — the raw source). If the price you're watching isn't in there, you need the agent.

The simple rule

  • The page is quiet and every change matters → exact diff.
  • The page is noisy and only some changes matter → semantic.
  • The content isn't in the HTML until a browser runs it → browser agent.

Tiers are set per monitor, and changing one is a dropdown, not a migration. A pattern we see often: start a new monitor on exact diff for a week to learn how the page behaves, then move it to semantic with a prompt written against the noise you actually observed. The first week's false alarms become the second week's "ignore" clause.

All three tiers are on every plan — the free tier includes exact diff and semantic on 3 monitors at app.modsignal.io.

Watch a page of your own.

Write the prompt, set the interval and get the first alert when something actually changes.

Get started