Now in public beta

Hunt the ghost processes
in your infrastructure.

Fernwake finds the cron jobs, scripts and third-party integrations nobody remembers setting up. Inventory them, attribute them to a human, and decommission the ones nobody needs anymore.

5-minute install Read-only by default Self-host or cloud
fernwake@prod-us-east-1 · processes

Ghost processes · 47 found · last scan 2m ago

ProcessHostLast ownerStateLast seen
/usr/bin/sync-legacy.sh ghost app-03 running just now
crontab: @hourly mongo-trim ghost db-01 j.lim (off-boarded) running just now
lambda: invoice-retry-v2 ghost aws/us-east-1 unknown 4h ago
systemd: nightly-backup.service db-02 failing 32d ago
/opt/scripts/clean_tmp.py ghost app-07 running just now
Used by SRE teams at norther.io QuickLatch Sigil & Co. Hadron Maps BlueAxis Vellum Robotics
73%
of long-running infra has at least one ghost process
$184k
average annual cloud spend on processes nobody uses
5 min
average install time across our agent and agentless modes
47 hrs
median engineering hours reclaimed in the first month
The problem

Every team has a graveyard. Most teams just can't see it.

Over enough years, your infrastructure quietly accumulates cron jobs, scripts and third-party integrations whose original owner has long since left. They keep running. They keep costing money. And one day they break — and nobody knows what they did.

Before Fernwake

"Why is this running, and who put it here?"

The on-call engineer at 3am, staring at a Datadog alert for a process called fix-billing-temp.sh that nobody on the team has ever heard of. Git blame: three companies ago.

  • Cron jobs running on production servers with no documentation
  • AWS Lambdas firing every hour with no clear consumer
  • Third-party integrations still posting webhooks years after the vendor was replaced
  • Scripts run by ex-employees that nobody dares to turn off
incident_2024-11-14.log
# 03:14 — pager fired
# 03:18 — found process eating 80% memory on app-03
# 03:22 — git log: "added by abdullah, 2019"
# 03:25 — abdullah hasn't worked here since 2021
# 03:38 — chose to leave it running because nobody knows
#         what depends on it
#
# this is fine.
After Fernwake

Every running process, accounted for.

Fernwake builds a continuously-updated inventory of everything running across your stack — and tags every process with a human owner, a justification, and a sunset date.

  • Continuous discovery across servers, containers, cron, serverless
  • Automatic owner attribution from git history and ticketing systems
  • Decommission workflow with approvals and rollback
  • Cost attribution and impact estimates for cleanup
~ fernwake doctor
$ fernwake doctor

# Scanning 47 hosts, 3 cloud accounts...

 2,184 processes inventoried
!   47 ghosts (no owner, no docs, >30d uptime)
!   12 orphaned (last owner off-boarded)
!  218 stale  (no human touched in 90 days)

# Run `fernwake adopt <id>` to claim ownership
# Run `fernwake sunset <id>` to propose decommission
Built for SRE & platform teams

One console for everything you're afraid to touch.

Fernwake is read-only by default. Connect once, get a living inventory across every layer of your stack — without granting write access to anything.

Continuous discovery

An agent (or agentless poll) sweeps your hosts, container schedulers, cloud accounts, and CI runners every 60 seconds.

Owner attribution

Cross-references git blame, deploy logs, Jira/Linear, and your SSO directory to suggest the most likely human owner — even after they've left.

Ghost alerting

Get pinged the moment a new unowned process appears in production. Triage from Slack, Teams, or PagerDuty.

Cost attribution

Connects each process to the cloud line-item it generates. See exactly what your ghost graveyard is costing you each month.

Sunset workflow

Propose decommission with an approval chain. Run it dry, watch for downstream impact, then commit — with one-click rollback.

Read-only first

Fernwake never executes commands against your infra without explicit, audited approval. Connect over SSH or read-only IAM — that's it.

Install in 5 minutes

One command. Then start hunting.

Fernwake works in two modes: drop the agent on your hosts for live coverage, or run a read-only sweep from your laptop.

install
# Agentless sweep — start here
$ curl -fsSL https://get.fernwakeconsole.com | sh
$ fernwake login
$ fernwake scan --since=30d

# Or install the daemon for continuous discovery
$ fernwake agent install --read-only

Full installation guide in the docs →

Start with one server. End with peace of mind.

The Free tier covers up to 5 hosts forever — enough to clean one product team's worst graveyard.

Get started free →