01
No inbound port
The agent dials out over WSS. Port 22 stays closed, NAT and VPN stop mattering. Your servers are reachable by you — and by nothing else.
Server management console · web terminal · monitoring · status pages
Every command is signed in your browser and verified on the machine. No SSH port to expose, no credentials we can read.
No credit card · set up in ~30 seconds · hosted in the EU
One ops minute, on loop — the signature step is your browser
Why teams replace SSH bastions and jump hosts — three guarantees no SSH setup gives you
01
The agent dials out over WSS. Port 22 stays closed, NAT and VPN stop mattering. Your servers are reachable by you — and by nothing else.
02
Every command is signed in your browser with an Ed25519 key from your vault. The backend relays it verbatim, the agent verifies it — a compromised control plane still cannot run a thing.
03
Credentials are encrypted before they leave your machine (Argon2id, AES-256-GCM). What we store, we cannot read. A 24-word phrase is your only recovery.
These three guarantees are only worth the code that enforces them. Read the agent’s source
SEC.01
Everything server operations need day to day — web terminal, file editing, scheduled commands, uptime monitoring, incident management, status pages, alerting — built to chain together. Run your pointer down the index: each line replays a live preview of the real screen.
$
14:02:11 upstream timed out (110) — 2 hits
$ nginx -T | grep proxy_read_timeout
proxy_read_timeout 30s;
Unified history — every source, one list
A real terminal over the agent tunnel — no exposed SSH port, no client. Pin it: it docks bottom-right and stays alive while you work elsewhere in the console. Close the tab and the shell keeps running; re-attach where you left off.
Explorer, editor and terminal on one screen: open nginx.conf, change a line, ⌘S, reload the service. Atomic saves that keep permissions; uploads and downloads on the same signed path. A large file goes up in chunks, each signed on its own — to 512 MB, with no SFTP on the side.
systemd services and containers are not just listed: start, stop, restart, reload the config, enable at boot. The buttons only appear for what systemd actually supervises — a pm2 process is not offered a command that would fail every time. Interactive shell inside a container, without leaving the page. And whatever only listens on the machine — Prometheus on 127.0.0.1, an admin API — is queried from the console, with no port opened and no SSH tunnel to set up.
Schedule commands from the console; the agent runs them locally — no browser session, no open port. Last 20 runs with output, next run in the server’s local time, alert after consecutive failures.
HTTP, TCP, SSL expiry, DNS, ping, shell, disk, process, script, heartbeat — plus a threshold on the metrics the agent already reports, the one check that runs no command and so keeps working when the box is too loaded to fork a shell. A 200 that renders an error page no longer passes: assert on the body or a JSON field.
Public status pages on your domain: components by product, live incident updates, subscribers with double opt-in, an embeddable badge. Point a CNAME, HTTPS is handled.
Open an incident by hand or let a failing monitor open it the moment it flips. Markdown timeline, impacted components, straight to your status page and its subscribers.
Email, Slack, Discord, Teams, Telegram, PagerDuty, Opsgenie, ntfy, SMS and ten more — twenty destinations, routed by rules: per-rule cooldown, quiet hours, on-call escalation when nobody acknowledges.
Verified playbooks that inspect the machine first, adapt, and verify every step — nginx, Postgres hardening, fail2ban, TLS. Search by intent: type “firewall”, get ufw. The official catalog doesn’t cover your in-house stack? Write your own recipes and they show up next to ours.
Describe the job; the copilot reads your inventory, proposes a plan with risk levels, and waits. You approve, it executes and verifies. Every command still gets signed by your browser.
$
14:02:11 upstream timed out (110) — 2 hits
$ nginx -T | grep proxy_read_timeout
proxy_read_timeout 30s;
Unified history — every source, one list
A shell that outlives the tab — and the page
A real terminal over the agent tunnel — no exposed SSH port, no client. Pin it: it docks bottom-right and stays alive while you work elsewhere in the console. Close the tab and the shell keeps running; re-attach where you left off.
SEC.02
A secure alternative to shared SSH access: the private key never leaves your browser, the control plane only relays what you signed, and the agent verifies the signature on the server before anything runs. Steal our database — you still can’t run a command.
Vault
X25519 · AES-256-GCM · Argon2id. Encrypted in your browser before it leaves; a 24-word BIP39 phrase is the only recovery. No back door, for anyone.
Audit
Every sensitive action lands in an append-only log, hash-chained with SHA-256. Nothing edited or deleted without breaking the chain. CSV export any time.
Blast radius
Leak our whole database: an attacker holds encrypted blobs and a log they can’t rewrite. Commands still require your browser and your signature.
SEC.03
Connect a server with an SSH key or a lightweight agent, let Servor discover what runs on it, then operate it from the console. No YAML, no gateway, no onboarding call — about a minute.
01
A standard SSH key, or the lightweight agent for machines behind NAT and VPN — installed in ~30 seconds, outbound tunnel included. No port to open.
SSH bootstrap or agent · ~30s
02
Servor inventories the box: OS, services, open ports, containers, expiring certificates — then suggests the monitors worth creating.
Auto inventory · monitor suggestions
03
Terminal, files, cron, monitors, status pages — one screen. When a job outgrows a click, hand it to the copilot: it plans, you approve.
One deck · every instrument
2→0
servers per team
0
monitor check types
0+
verified recipes
0.00%
uptime, watched
SEC.04
Server management pricing per seat, no surprise tiers, no “contact us”. Two servers free — a real plan, not a trial.
Free
€0forever
Two servers, the full console. Not a trial.
Operations
€9/mo · +€9 per extra seat
For teams running real traffic.
AI
€29/mo · +€9 per extra seat
Four times the credits, for daily copilot work.
AI credit top-ups carry over · seats prorated · cancel whenever
Compare every limit →SEC.05
Straight answers on remote command execution, credential encryption, VPN and NAT, and billing.
No — and not as a policy, as a construction. Every command is signed in your browser with a key derived from your vault; the backend only relays the signed grant, and the agent on your machine verifies the signature before executing. A fully compromised Servor backend holds nothing it could use to run a command.
Your SSH credentials, API keys and secrets are encrypted in your browser with a key derived from your passphrase (Argon2id, 64MB, 3 iterations — then AES-256-GCM). Servor only ever stores encrypted blobs. Without your passphrase or your 24-word recovery phrase, nobody — including us — can decrypt them.
Yes, that’s the default mode. The agent installed on the machine initiates an outbound WebSocket connection to Servor. No inbound port to open, no firewall rule to add, no client-side network configuration. If the machine can reach the internet, Servor can operate it.
Servor is an operational console, not a provisioning tool. Where Ansible and Terraform describe a desired state, Servor is where you diagnose, intervene and verify day to day: a terminal, a file editor, monitors, incidents, one-off signed commands. Plenty of teams run both.
When you initialize the vault you receive a 24-word BIP39 recovery phrase — print it or put it in your password manager. With it you can set a new passphrase at any time. Without either, the data is unrecoverable — by design, because a back door for you would be a back door for everyone.
Operations is €9/month and AI €29/month, each with one seat included; extra seats are €9/month on either plan. Seats prorate on the spot when added, removals apply at the end of the period. AI credit top-ups carry over with no expiry. The Free plan is not a trial — two servers, forever.
Free for 2 servers · live in ~30 seconds
Put your fleet
on the deck.
Your first server reports in before this page finishes scrolling