Monitoring

What Is Continuous Website Security Monitoring? (And When a One-Time Scan Is Enough)

Two very different things are sold under one name. What posture monitoring actually watches, what a regression looks like, which checks belong on a schedule — and the honest cases where a single scan is all you need.

Webcuris Research

Security Engineering

·4 min read

A timeline of daily checks with one day flagged: header vanished, alerted same day

Continuous website security monitoring is the practice of re-checking your site's security posture on a schedule — headers, TLS, certificates, DNS, cookies, dependencies — and alerting you when something that was right becomes wrong. It exists because posture does not stay fixed: it drifts with every deploy, migration and DNS edit, usually without anyone intending to change security at all.

Two different things are sold under this name

Search for "website security monitoring" and most of what you find is compromise detection: services that scan your pages for injected malware, check whether you have landed on blocklists, and watch for defacement. That is legitimate and answers a real question — has my site already been hacked? This article is about the other discipline, posture monitoring, which answers an earlier question: is my site drifting toward being hackable, and would I notice?

Compromise detectionPosture monitoring
The questionIs my site infected right now?Did my defences silently degrade?
Typical findingInjected script, blocklist entryDropped header, expiring certificate, new vulnerable dependency
When it firesAfter the incidentBefore it — the misconfiguration is the precondition
What you do about itIncident response, cleanupA config change, usually one line, usually today
Both are real. Confusing them means buying one and believing you have the other.

Why posture changes when nobody touches security

  • A deploy rewrites server config. A refactored nginx block or a new framework version quietly drops a header — most missing-HSTS findings on established sites are regressions, not omissions.
  • Infrastructure moves. A CDN migration or a new load balancer becomes the layer that talks to browsers, and nobody configured headers there.
  • Certificates expire on their own schedule, which is indifferent to yours.
  • Marketing edits DNS. A verification TXT record here, a new SaaS CNAME there — each one a small change to who can send mail as you or serve content under your name.
  • Advisories land overnight. Your dependency did not change; what the world knows about it did. Yesterday's clean scan is simply out of date.

What a regression actually looks like

Monitoring is only useful if it distinguishes news from noise. A raw re-scan every day produces the same fifty findings every day; what matters is the delta. Webcuris tracks every finding's identity across scans and reports each one in exactly one of four states:

StateMeaningThe right reaction
NewFirst time this finding has existed on this assetTriage it — this is the alert that deserves attention
PersistingKnown, still presentWhatever you decided last time still stands
RegressedWas fixed, is backFind the deploy that resurrected it — this is the most informative state a finding can have
FixedGone since the last scanConfirm it was your fix and not an accident of timing
Alerting keys on new and regressed. Persisting findings must never page you twice.

What to monitor, and how often

CheckCadenceWhy that cadence
Security headers & cookie flagsDaily, and after every deployDeploys are when they vanish; a day is the most you want to not know
Certificate validity & expiryDaily, alerting 14+ days outThe failure is total and the fix takes minutes if you are early
TLS configurationDailyChanges rarely, breaks loudly — cheap to watch
DNS: SPF, DKIM, DMARCDailyEdited by more people than any other security surface
Dependency advisoriesDailyThe advisory feed moves whether you deploy or not
Subdomain inventory (via certificate transparency)WeeklyNew certificates reveal new surface — including surface you forgot
Two timelines compared: a one-time scan sees day 0 and misses a day-47 regression; monitoring runs the same checks daily and alerts within a day
The same site, two disciplines. The one-time scan was correct; it just stopped looking.

Can you build this yourself?

Partially, and honestly: yes. One header on one host is a cron job:

the do-it-yourself version, one check of ~40bash
curl -sI https://example.com | grep -qi strict-transport-security \
  || mail -s "HSTS header vanished on example.com" you@example.com <<< "check the last deploy"

What the cron job does not give you is everything around it: knowing which of the forty other checks matter, severity that reflects exploitability rather than presence, regression tracking so the same finding does not alert daily, evidence stored from the moment of detection, and one view across every site and repository you are responsible for. Scripts scale linearly with your patience; the patience is usually the first thing to regress.

When a one-time scan is genuinely enough

  • A pre-launch check — you want a list of what to fix before the site exists publicly.
  • A point-in-time deliverable — an audit, a due-diligence answer, a compliance snapshot.
  • A site that truly never changes — no deploys, no DNS edits, no team. Rarer than believed: certificates and advisories move without you.

Everything else deploys, and everything that deploys drifts. Run the free scan to see where you stand today; if what you find is worth fixing, it is worth knowing the day it comes back — that is what monitoring is for.

Get the next one

One email when a new article goes out. No newsletter, no drip sequence, no sales follow-up.

Unsubscribe in one click. We never sell or share the address.

Keep reading

Contact

Talk to us.

Questions about what the engine checks, whether it fits your estate, or what it deliberately refuses to do. A person reads every message.

  1. 01You writePlain form, no qualifying call, no obligation. The marketing checkbox is optional and unticked.
  2. 02A person reads itMessages land with the team, not a queue-bot. Nothing is auto-replied.
  3. 03You get an answerTo the address you gave — including “this product is not the right fit”, when that is the honest answer.
Reporting a vulnerability?
Read the disclosure policy first — it tells you what is in scope and what to expect.
New messagereplies go to your email

We reply to this address, so a disposable one will not reach you.

+91

0 / 4000