Your monitor says
200 OK. Your site is broken.
Uptime tools answer one question: did the server respond? Almost every real failure answers it with yes — and then serves an unrendered {{title}}, a database stack trace, a blank shell, or another app entirely. CortexAI finds those, works out why, and fixes them before you find out from a customer.
No credit card. No agent to install. Point it at a URL and it starts working.
The failures nobody is watching for
Every monitoring product on the market checks whether a request succeeded. That catches the outage you'd have heard about anyway. It is blind to the entire class of failure where the server is perfectly healthy and the page is wrong.
It returned 200
A deploy shipped the template instead of its output. The tab title literally reads {{project_title}}. Status: 200. Uptime: 100%. Every monitor is green.
It's the wrong site
A vhost points at another app's port, so one domain quietly serves a different product. Both are up. Both respond fast. Nothing on the market compares your properties against each other, so nothing notices.
It's empty
The JS bundle 404s, the app never renders, and the server returns a valid HTML document with nothing in it. Response time is excellent — there's nothing to send.
It's leaking
An unhandled exception renders straight to the browser, publishing your file paths, dependency versions and database error text to anyone who loads the URL.
It changed
Something you did not approve is now on the page. No alert exists for "the content is different than it was" — only for "the request failed".
You find out from a customer
Which is the real problem. With ten, forty or a hundred properties, the only person checking each one by eye is you, and only after somebody complains.
27 detectors, built for defects that pass a health check
Each one exists because it catches something real that returns HTTP 200. Run against your fleet, most of them will never fire. The ones that do will tell you something you did not know.
Rendering & integrity
Template syntax visible to users. Stack traces and database errors rendered to the page. A healthy status with an empty body. Lorem ipsum and "coming soon" live in production. Navigation links that 404. Content that changed against the baseline you approved.
Configuration & routing
Two domains serving the same application. "Welcome to nginx" where your site should be. The CDN up and the origin dead. A localhost:3000 API URL shipped to production. Deploys that don't take effect because HTML is being cached.
Security posture
Certificates read directly off the socket, so you get the real expiry date rather than whatever a cached header claims. Insecure assets that browsers silently block. Source maps left published beside the production bundle.
Your own invariants
Content Contracts let you declare what must be true: this page must contain the pricing table, must never contain the word "staging", must answer in under 800ms, must send this header. Break one and it's a defect — whatever the status code says.
Then it does something about it
Detection is the easy half. CortexAI runs a closed loop — diagnose, act, verify, resolve — and you choose how far up the ladder you let it climb. You can move back down at any time.
Off
Probe and report only. The drift catalogue runs; nothing else does.
Diagnose
Every incident gets a root-cause analysis and a ready-to-run fix with a rollback, waiting for your approval. Nothing touches the server until you say so.
Assist
Low-risk remediation applies itself — restarting a stopped process, reloading a validated config, re-verifying a URL. Anything heavier waits for you.
Autonomous
The agent sweeps on your schedule, diagnoses what it finds, applies low and medium-risk fixes, re-probes to confirm the defect is actually gone, rolls back if it isn't, and closes the incident. You get a summary, not a pager alert.
Why it can't go wrong the way you're imagining
The obvious objection to an AI with root on your server is that a language model could emit anything. So it doesn't get to. The model never writes a shell command — it selects from a fixed vocabulary of typed primitives, each with a validated argument schema, each executed with an argv array and no shell involved.
- No shell, no string interpolation, no injection surface
- No delete, move or overwrite primitive exists at all
- Nginx is never reloaded before nginx -t passes
- Two auto-attempts per incident, then it escalates to you
- A cooldown window stops restart loops
- Every action, argument and exit code lands in an audit log
An action outside the allowlist isn't run — it becomes a copy-paste block with your name on it. That boundary is the entire safety model, and it holds whether the model behaves or not.
Running in about four minutes
Paste your domains
One per line, or Label | https://url. Forty sites import in one go.
Run the first sweep
You'll get a fleet health score and a ranked list of what's actually wrong. This is usually the uncomfortable part.
Approve baselines
Tell CortexAI which render is the good one. From then on, any unannounced change is a finding.
Pick your autonomy level
Start on Diagnose. Move to Autonomous once you've read a few runbooks and trust them.
Pricing
Prices in AUD, per month, GST inclusive. Cancel any time.
Sentinel Free
For a handful of properties
- 3 properties
- 2 sweeps a day
- Full drift catalogue
- 2 content contracts
- 7 days of history
- AI root-cause analysis
- Self-healing
- Collision detection
Sentinel Pro popular
For a real fleet
- 25 properties
- Hourly sweeps
- AI root-cause on every incident
- Self-healing runbooks & verification
- Cross-property collision detection
- Navigation link crawling
- 100 content contracts
- Webhook alerts · 90 days history
Sentinel Business
For an estate
- 250 properties
- Sweeps every 15 minutes
- 500 AI analyses a day
- Full autonomous mode
- REST API & API keys
- 1,000 content contracts
- 2 years of history
- Priority support
Questions
How is this different from Pingdom, UptimeRobot or Better Stack?
Those answer "did the request succeed?". CortexAI assumes it did and asks what came back. An unrendered template, a leaked stack trace, a blank shell, the wrong application, content that changed since you approved it — all of those are HTTP 200, and all of them are invisible to a status-code monitor. The second difference is that CortexAI acts on what it finds instead of sending you a notification about it.
Do I have to install an agent on my server?
No. Detection is entirely external — it requests your pages the way a visitor does. You only install anything if you want the self-healing tier, which needs CortexAI running on the host it is healing. Detection, diagnosis and runbook generation all work with nothing installed; you just apply the fix yourself.
What actually happens if the AI gets it wrong?
It runs an action from a fixed allowlist or it runs nothing. The worst realistic outcome is a process being restarted that didn't need restarting, or an Nginx reload after a config that already passed validation. There is no primitive for deleting, moving or overwriting anything. After two failed attempts on the same incident it stops trying and escalates to you, and every action it took is in the audit log with its exit code.
Will it flood me with false positives?
Findings are folded into incidents, so a defect that persists across twenty sweeps is one incident with an occurrence count, not twenty alerts. Only high and critical incidents page you, and only once each. Detectors you don't care about can be switched off per property, and the fingerprint that powers drift detection masks volatile content — timestamps, tokens, counters — so normal page activity doesn't register as a change.
Does it need an AI key to be useful?
No. Every defect class has a deterministic playbook behind it, so you get a root cause and an executable runbook with no model involved at all. The language model reads the evidence and sharpens the explanation and the action ordering — it makes the output better, it isn't load-bearing.
What data do you keep?
Response metadata, a structural fingerprint of each page, and short excerpts of text where a defect was found — enough to show you the evidence. Full page bodies are never stored. Retention follows your plan and old probes are trimmed nightly.
Find out what your fleet is actually serving
Three properties, free, no card. The first sweep takes under a minute and tends to surface something you'd rather have known about last month.
Run your first sweep