MONITORING + SUPPLY-CHAIN SECURITY · EU-HOSTED

One agent finds the critical CVE you didn't know
you were running in production .

Monsys watches your Linux and Windows servers, scans every npm/pip/composer/go dependency against OSV.dev, fingerprints every running binary, and lays down honeypots that light up the moment someone touches them. On a typical environment we surface hundreds of CVE matches within 90 seconds — often several CRITICAL the operator didn't know were running in production. Detection to fix in minutes, not weeks.

Install in 30 seconds →View the dashboard$ curl -fsSL get.monsys.ai/install.sh | sudo bash ⌘C
app.monsys.ai/overview
UPTIME 30D
99.98%
SERVERS
42
OPEN
3
ANOMALIES
7
CLUSTER LOAD · 60M
ANTHROPIC, MAY 2026Anthropic's own Detection team cut false positives from 33% to 7% and saved 1,870 hours in a single month with Claude. What they built in-house, we ship as a product.
See the proof
Why monsys.ai

Monitoring waits for an alert. We find the problem before that alert needs to fire.

Three differences that end up in your customer's audit report.

01 / Supply-chain

We scan what you actually run

npm, pip, composer, go and gem lockfiles per project against OSV.dev. Container images via Trivy hub-side — no extra software on the customer host. Process DNA detects when a running binary is silently swapped.

osv.dev + trivy + process DNA
02 / Silent

Rules you can actually set

Thresholds with duration ('CPU >85% for 1h'), per-container rules, maintenance windows for upgrades. Honeypot canaries (fake AWS keys, GPG, Kube config, GitLab runner tokens) trigger an instant Critical. No alert spam.

alert builder + maintenance
03 / EU

Data stays in the EU

Hub hosted in Belgium by GoTrust BV. Detection runs on the host — only aggregated signals leave, never raw log lines. Self-hosting available: one Docker-compose stack, 5 MB Rust agent.

EU only · self-host
One command

Connect a server in 30 seconds — and it stays on the map forever.

Generate a token in the hub, paste the line in your terminal, and the agent registers itself. No ports to open, no YAML files.

Try free →
# Linux x86_64 · Linux ARM64 · Windows x64
$ curl -fsSL get.monsys.ai/install.sh \
    | sudo MONSYS_TOKEN=<your-token> bash
# Windows (PowerShell admin):
PS> iwr -useb get.monsys.ai/install.ps1 | iex
# 5 MB statically-linked Rust binary, runs as systemd / Windows service.
✓ agent registered · web-edge-01 · 4s ago
Core

What the agent does on every host.

One Rust binary, four categories of signals. All processed locally; only aggregates reach the hub.

01

Realtime telemetry

CPU, RAM, disk, network, load every 15s into TimescaleDB. 90-day retention by default. Per-NIC traffic sparklines, per-disk growth + 'days until full' projection.

02

Deep inventory

Packages + services + containers + listening ports + local users + sudo rules + SSH keys (fingerprint only) + password policy from /etc/shadow + lsblk tree + DMI hardware + NICs + filesystem findings (SUID/SGID/world-writable/orphaned).

03

Honeypot detection

10+ canary paths with realistic credentials: AWS, SSH, Kube, Docker auth, GitLab runner, Postgres pgpass, GPG private key, Grafana token, WordPress config. One read action = instant Critical via inotify.

04

Process DNA

SHA256 fingerprint of every top-process binary. TOFU baseline on first observation; deviation = Critical. Manifest-aware rebaseline: legitimate auto-updates don't trigger false positives.

05

Hardened agent · any Linux

One 5 MB statically-linked Rust binary (musl libc, zero glibc dependencies → runs on RHEL/Alma/Rocky 8+9, Fedora, Debian 11+12, Ubuntu 18.04+ through 24.04, Alpine 3.10+, SUSE/SLES, Oracle Linux, Amazon Linux). systemd service or StartServiceCtrlDispatcher (Windows). Scope-locked sudoers for emergency + self-update only. Ed25519 payload signing with TOFU pinning on the hub.

06

Multi-tenant via RLS + audit

Postgres Row Level Security per tenant, explicit tenant_id WHERE on every query (defence-in-depth). Owner / Admin / Operator / Viewer roles. Every write hits audit_log with user/IP/payload (secrets scrubbed).

Supply-chain security

One page, three classes of vulnerabilities, zero extra software on the customer host.

OS packages, container images, and application dependencies — all automatically scanned, linked to your servers, with fix version and risk score.

OS packages → NVD + EPSS

apt, rpm, winget and wmic are read by the agent. The hub matches against NVD + EPSS (exploit likelihood) and assigns a risk score. Internet-exposed processes get a 1.5× boost.

10k+ packages

Container images → Trivy

Agents report image names. The hub runs Trivy server-side against every unique image. Customer host needs no Trivy, no root access — just `docker ps` output is enough.

9 languages / package managers

App deps → OSV.dev

package-lock.json, yarn.lock, requirements.txt, composer.lock, Gemfile.lock and go.sum are parsed. Hub batch-queries OSV.dev (free, EU-friendly) per (package, version). 14 CRITICAL and 1,984 other CVEs found in our test fleet.

1,998 matches live

We do NOT send lockfile contents to our backend. Only parsed (package, version) tuples — the same info `npm ls` gives anyone with shell access.

Detection-to-fix in minutes

Hundreds of findings in 90 seconds. CRITICALs patched within the hour.

On a recently-monitored environment (Belgian MSP, ~10 production hosts running Node.js + Go services) the pipeline went live at 16:47. Within 90 seconds OSV.dev reported back 1,998 matches — including 14 CRITICAL nobody knew about. All patched before 17:00.

CRITICAL

First batch returns

T+45s

OSV.dev batch-query → 1,000 (package, version) tuples per request, severity normalised by the hub

CRITICAL

1,998 matches mapped

T+5min

10,854 dependencies across 4 ecosystems (npm / Go / Packagist / PyPI) — linked to project_path + risk_score

CRITICAL

All 14 CRITICAL patched

T+13min

Operator saw the fix version next to each CVE; one `go get` + redeploy cycle. Auto-update rolls the rest.

No six-week-old detection report. No "we'll get to it next sprint". The fix version sits next to the CVE, the playbook runs in one click.

Platform

The full platform. No roadmap — already shipping.

Twelve building blocks we've already built. Every feature below can be turned on for your tenant today.

01

Alert builder + maintenance

Thresholds with duration (CPU>85% for 1h), per-container rules, fleet aggregates (≥3 prod agents offline). Maintenance windows silence ALL alerts during upgrades. 8 quick-start templates.

02

Capacity planning

Per server: linear regression over 14 days of CPU/mem/network + per-mount disk growth. 'Days until ceiling' projection with date. No ML pretension — just honest regression.

03

Insights — anomaly detection

Z-score on last 15 min vs 7-day baseline per agent per metric. |z| > 2.5 = outlier. Classic statistics, no black-box ML — the operator sees what's out of line immediately.

04

Audit log + viewer role

Every POST/PUT/PATCH/DELETE captured with user/IP/method/path/resource. Read-only 'viewer' role blocks writes. Useful filter: /audit?resource_type=playbook, scoped per tenant.

05

Playbook execute

JSON action specs, admin-approved, operator-triggered from an alert. Hub signs an Ed25519 emergency token → agent verifies + executes. Every run logged in /audit with the nonce.

06

Process DNA + auto-rebaseline

SHA256 hash of /proc/<pid>/exe for every top process. Deviation = Critical — unless the new hash matches our auto-update manifest. False positives on release deploys eliminated.

07

Honeypots (10+ variants)

Fake AWS keys, SSH, Kube config, Docker auth, GitLab runner token, Postgres pgpass, GPG private key, Grafana token, WordPress config. One read action = instant Critical.

08

Auto-update (opt-in)

Agent + hub each get a release manifest. Hub-side: 6h poll, curl download, sha256 verify, sudo installer, atomic swap, systemd restart. Manifest-aware Process DNA accepts the new hash automatically.

09

Per-tenant branding

Logo, accent colour, display name — set in /settings → Branding, customers see their own logo in the topbar. Backend validates https-only for logo URLs (no javascript: XSS).

10

Emergency console · Linux & Windows

Browser terminal over WebSocket — no SSH or RDP port needed. Linux: `bash --restricted` as low-priv `monsys-console` user, no sudoers entry. Windows: PowerShell via ConPTY inside a JEA endpoint with ~60 whitelisted IR cmdlets (no Invoke-Expression, no Remove-Item, no privilege escalation). 15-min hard limit, TOTP + reason ≥20 chars required. Every keystroke logged immutably with SHA256 seal.

11

Topology + diagrams

Auto-detected graph (nodes + edges + zones). Generator → PNG/SVG/PDF with 4 layout algorithms, Mermaid export. Alert overlay: red = critical, yellow = warn, on each node.

12

AI Explain (local)

One click on alert/log — local llama3.1:8b explains what it means. NL/FR/EN replies, first reply typically <4s on CPU. No external AI vendor, so no GDPR questions.

Cloud Asset Discovery

Find every server. Even the ones without an agent.

Connect your AWS, Azure, GCP, Hetzner, Proxmox, DigitalOcean, Scaleway, OVH or IONOS account. monsys.ai discovers every resource every 4 hours, matches them to your existing agents, and flags whatever isn't being monitored.

Amazon Web Services

EC2 · RDS · S3 · VPC · ELB · IAM

Microsoft Azure

VMs · SQL · Storage · NSGs · VNets

Google Cloud

GCE · Cloud SQL · GCS · Firewalls

Hetzner Cloud

Servers · Networks · Firewalls · Volumes

Proxmox VE

Self-hosted: VMs · LXC · Storage · Nodes

DigitalOcean

Droplets · Volumes · LBs · Managed DBs

Scaleway

Instances · SGs · Volumes · RDB

OVH Public Cloud

Instances · Networks · Failover IPs

IONOS Cloud

Datacenters · Servers · Volumes · LANs

AGENTLESS CHECKS

CIS-compliant findings out of the box — no install required.

  • S3 / GCS / Storage Accounts with public ACLs or no encryption
  • RDS / Cloud SQL / Azure SQL with public IPs or no backups
  • Security groups & NSG rules exposing SSH/RDP to 0.0.0.0/0
  • VMs without a Monsys agent — auto-generated install commands (curl / SSM / Ansible)
  • Monthly cost estimate per resource, wired into your topology diagram
# /cloud/summary — overview per account
{
  "name": "Acme AWS Production",
  "provider": "aws",
  "total_resources": 187,
  "running_resources": 142,
  "missing_agent": 23,
  "public_resources": 8,
  "critical_findings": 4,
  "total_monthly_cost": 2841.20
}
# 9 providers · AES-256-GCM credentials · tenant-isolated
How we're different

Comparison with popular alternatives.

Honest tradeoffs — no marketing gloss. For each tool we show both when monsys is the better choice and when the opposite is true.

AI Explain

Click "Explain this" next to any log or alert.

A local llama3.1:8b explains what the log means and whether action is needed. No external AI provider — your data stays on our backend.

  • One click on every alert in the dashboard
  • Answers in NL / FR / EN
  • Ollama runs in the same Docker stack
  • First answer typically < 4s on CPU
# nginx upstream timeout — agent log line
WARN nginx: upstream timed out (110)
# click "Verklaar dit" → llama3.1:8b →
"De agent meldt dat een TCP-verbinding op poort 443
timed out is — typische upstream-traagheid. Niet acuut
gevaarlijk; we zien dit elke nacht 1–2× tijdens batch-
verwerking. Geen actie nodig tenzij p99 > 1s."
How it works

Three steps. First metrics in 30 seconds.

No YAML jungle, no per-OS agent templates — one command per host.

STEP 01

Create an account

Email + password. No credit card. You immediately get a tenant and a dashboard login.

# account aangemaakt
✓ tenant: jouw-bedrijf
STEP 02

Install the agent

In Settings → Agents type a hostname. We mint a token and give you a one-liner. On the target server: one curl command as root.

$ curl -fsSL get.monsys.ai/install.sh \
  | sudo MONSYS_TOKEN=$T bash
✓ web-edge-01 connected
STEP 03

See live data

Within 30s you see CPU/RAM/disk/network of the host in the Overview screen. Alerts fire on threshold breaches from the first measurement.

# telemetrie binnen 30s
cpu 4.2% mem 1.6 GB
load 0.2 uptime 3d
Pricing

First 5 servers free. Forever.

Monitoring five servers costs zero euros. Forever. From your sixth server: €3 per server per month — via Stripe or PayPal, cancel any month.

Free

5 servers free · forever · no card required
€0/mo · 5 servers free
  • 5 servers, 15s metrics
  • 7 days retention
  • Email + ntfy push alerts
  • Community support
Start free

Enterprise

For regulated workloads
on request
  • Self-host or EU dedicated
  • Custom retention · audit log export
  • Volume discount > 100 servers
  • Security review & SLA
Contact sales
RUST AGENT
5 MB
musl-static · any Linux ≥ kernel 2.6 · windows x64
DETECTION
on the host
aggregates only upstream
AI MODEL
llama3.1:8b
local via Ollama
HOSTING
EU only
or self-host (Docker)