Inactive Account Manager for Hosts

Every server
has ghosts.

IAM4Hosts finds the hosting accounts whose websites and mail have moved elsewhere, then notifies, suspends and removes them on a schedule you set. Nothing happens without a paper trail, and you can keep anything with one click.

  • cPanel & WHM
  • Plesk
  • DirectAdmin

Freeware edition, limited to discovering 10 inactive accounts. Pro is an in-app purchase.

your-server:2087 / Plugins / Inactive Account Manager
The Inactive Accounts dashboard in WHM: a lifecycle overview showing 3 detected, 45 notified and 14 suspended accounts, above a list explaining why each account is listed and when its next step is due.

Get the highlights.

Customers move hosts. Domains lapse. The accounts stay behind, eating disk, backups, licences and your time.

0GB

of disk held by inactive accounts on a single production server, shown on the dashboard.

0accounts

moving through the lifecycle on that same server, each with its reason in plain English.

0guesswork

Only public DNS decides. Nothing is removed without a final re-check on the day.

How detection works

It asks the internet,
not the account.

For every domain on every account, including addon, parked and subdomains, IAM4Hosts looks up where the website and the mail really go. One domain pointing here is enough to keep the whole account active.

mybakery.co.uk
  1. WebsiteA record
  2. MailMX record
  3. NameserverNS record

This server: 203.0.113.10 · mail.your-server.net

Website points here

Any A record for any domain on the account resolves to one of this server's IP addresses.

Mail points here

The domain's MX records deliver to this server. Email-only customers stay active.

Trusted nameserver

Cloudflare and your own nameservers are trusted by default, so proxied sites are never flagged.

Not evidence

Logins, files on disk, databases, FTP, or a domain that merely exists in the panel. None of them keep a ghost alive.

The lifecycle

Four phases.
Like the moon.

Each inactive account fades on its own clock, counted from the day it was detected. Scroll to watch one go dark.

Day 0Detected
Day 0 · Detected

The scan notices the domains have gone.

None of the account's domains point here for web or mail. It appears in your list with the reason spelled out. Nothing else changes: the site, mail and files are untouched.

Day 7 · Notified

The owner gets one clear notice.

The reseller who owns the account receives an inactivity notice listing it, why it was flagged and the exact suspension and removal dates. One email per stage, batched, never daily nagging.

Day 30 · Suspended

The account is suspended. Not deleted.

Site and mail stop, through the control panel's own suspension, and a suspension notice goes out. Fully reversible: keep it, unsuspend it, carry on. Automatic suspension can be switched off.

Day 60 · Removed

One last look. Then it's gone.

On the day, DNS is checked once more. If any domain points back here, removal is cancelled and the account leaves the list. If not, it is removed and a final notice records it. Automatic removal can be switched off too.

Every account, explained

“Why is this listed?”
Always answered.

Open Details on any row to see every domain the scanner checked, what its records pointed to and when. Fixed the DNS? Re-check now and it leaves the list on the spot.

Inactive Accounts / sample1 / Details
sample1Reseller1NotifiedSuspension in 5 days
sample2Reseller2NotifiedSuspension in 5 days
wedding-pixrootDetectedNotice in 4 days
oldshopReseller1SuspendedRemoval in 21 days

Plain English

Every row says why in one sentence: where the site points, who handles the mail, how many other domains were checked.

Search and filter

Find any account by name, domain or email. Filter by Detected, Notified, Suspended or Due soon.

Bulk actions

Tick a page of accounts and keep, notify or suspend them in one go. Root can scan on demand.

Protected accounts

Keep it.
Forget it.

A protected account is never flagged, notified, suspended or removed, and every future scan walks straight past it. Protect from the list with Keep, or by username before it is ever detected.

  • Staging and development sites
  • Customers part-way through a migration
  • Accounts you simply want to keep
  • Remove protection to rejoin the lifecycle
Protected Accounts

Left alone

Protected accounts

Start typing a username or domainProtect
staging-acmestaging.acme.io · kept by root · just now
Remove protection
brightdentalbrightdental.co.uk · kept by Reseller2 · 3 days ago
Remove protection
migrate-jkjk-architects.com · kept by Reseller1 · 2 weeks ago
Remove protection
devboxdev.your-server.net · kept by root · 3 months ago
Remove protection

Email notifications

Notices that sound
like you.

Three templates, one for each stage, with placeholders for the reseller, the account list and the dates. Add your logo, pick an accent colour and watch the live preview change. Try it.

Accent colour

Placeholders

[CPANEL_RESELLER_USERNAME][ACCOUNTS][DATE_AUTO_SUSPENSION][DATE_AUTO_REMOVE][COMPANY_NAME][WHM_URL]
  • Send via SMTP with a pinned certificate, or the server mailer
  • Send a test to yourself before saving
  • Resellers set where their own notices go

FromYour Hosting Co <notices@your-host.com>

Toreseller1@agency.co.uk

SubjectAction needed: 3 inactive accounts on your-server

Your Hosting Co
Some of your accounts look inactive

Hi Reseller1, the accounts below no longer have any domains pointing at our server for web or mail. Unless you keep them, they will be suspended on 14 November and removed on 14 December.

AccountDomainSuspension
sample1sample1.com14 Nov
sample4sample4.com14 Nov
wedding-pixweddingpix.uk18 Nov
Review accounts in WHM

Sent by Your Hosting Co · You receive this because you own these accounts.

Settings

Your rules.
Your pace.

Set how long each phase waits, switch automatic suspension or removal off entirely, and tell the scanner what to leave alone. Drag the sliders to see a timeline for an account detected today.

Detected
Notified
Suspended
Removed

Each date moves an account one phase to the right. Removal always waits for a final DNS check.

Trusted nameservers

Domains on these nameservers always count as active.

*.ns.cloudflare.comns1.your-server.netns2.your-server.net

Excluded owners

Accounts owned by these resellers are never scanned.

internalpartner-agency

Scan schedule

Scan every 24 hours, or as often as every hour. The scheduler wakes every 5 minutes.

Updates

Each run checks for a newer release and tells you. Nothing installs itself, ever.

Up to date: 3.0.2

Activity log

A paper trail
for every move.

Every detection, notice, suspension, removal, protection change and re-check is written down, with who did it: a person, the scanner or the scheduler. Filter by kind, keep as many days as you like.

  • Grouped by day, newest first
  • Resellers see their own history only
  • Retention from 7 to 365 days
Activity Log

Audit trail

Activity log

Monday 3 November

oldshop removedFinal DNS check: still inactive · scheduler · 04:05
staging-acme protectedby root · 09:41
sample7 re-checked: active againshop.sample7.com now points here · Reseller3 · 10:12

Sunday 2 November

Inactivity notice sent to Reseller13 accounts · scheduler · 04:05
sample12 suspended30 days inactive · scheduler · 04:05
3 accounts detectedServer scan · 48 inactive in total · 04:00

Root and resellers

One server.
Everyone's own view.

Root runs the server: timings, templates, scans and every account. Resellers see the same tool, scoped to the accounts they own, so they can keep their customers' sites and fix DNS themselves. Switch the view.

WHM / root / Inactive Accounts
Inactive AccountsProtected AccountsActivity LogEmail NotificationsSettings
Search accounts, domains or emailsAll 6Scan now
AccountOwnerInactive forPhaseNext step
sample1sample1.comReseller124 daysNotifiedSuspension in 5 days
sample2sample2.comReseller224 daysNotifiedSuspension in 5 days
sample4sample4.comReseller119 daysNotifiedSuspension in 10 days
wedding-pixweddingpix.ukroot3 daysDetectedNotice in 4 days
sample12sample12.netReseller333 daysSuspendedRemoval in 27 days
oldshopold-shop.co.ukReseller141 daysSuspendedRemoval in 19 days

Compatibility

One plugin.
Three control panels.

The same scanner, lifecycle and screens, at home in whichever panel runs your servers. Plesk is supported on both Linux and Windows.

your-server:2087 / Plugins / Inactive Account Manager
Inactive Account Manager in WHM, listing inactive cPanel accounts with their lifecycle phase, the reason each is listed and the next step. Inactive Account Manager as a Plesk extension, listing inactive subscriptions by reseller with the lifecycle overview above. Inactive Account Manager as a DirectAdmin plugin, listing inactive user accounts with the reason each is listed and when it will be suspended.

cPanel & WHM

A native WHM plugin for root and resellers. Tested on WHM 138 with AlmaLinux 10 and CloudLinux 10.

Plesk

A Plesk extension for administrators and resellers, uploaded through Extensions. Works per subscription, with multi-server mail awareness.

DirectAdmin

A DirectAdmin plugin at admin and reseller level. Needs DirectAdmin 1.689 or newer; tested on 1.712 with CloudLinux 9.

Installation

One line to install.
Verified before it runs.

On cPanel & WHM and DirectAdmin, one command installs and later updates the plugin, keeping your settings, templates and history. On Plesk, upload the extension zip.

  1. Signature. The release manifest is checked against an Ed25519 key.
  2. Checksum. The zip must match the manifest's SHA-256.
  3. Install. Only then is anything unpacked or run.
root@your-server: ~

Free & Pro

Start free.
Go Pro from inside the app.

Install the freeware edition on any server and see exactly what it finds. When you need more, upgrade in the plugin itself, no reinstall.

Freeware

£0

Free for ever, on any number of servers.

  • Discovers up to 10 inactive accounts
  • cPanel & WHM, Plesk and DirectAdmin
  • DNS-based detection with full details
  • Keep and protect accounts
  • Signed, verified updates
Download for free
In-app purchase

Pro

Unlimited

Unlock from Settings in the plugin.

  • Everything in Freeware
  • Unlimited inactive accounts
  • Upgrade in place, settings kept
Start with the free download

Freeware version limited to discovering 10 accounts. In-app purchase available for the Pro version.

Questions, answered.

Will it ever remove an account that is still in use?

Not if any domain on it points here. An account is only inactive when every domain, including addon, parked and subdomains, sends neither web nor mail to this server and uses no trusted nameserver. On removal day DNS is checked one final time, and the removal is cancelled if anything has come back.

My customer's site is behind Cloudflare. Will it be flagged?

No. Cloudflare's nameservers are trusted by default, so any domain using them is treated as active. You can add your own nameservers, or remove Cloudflare from the list, in Settings.

Who receives the notices?

The reseller who owns the accounts, never the end customers. Accounts owned directly by root notify the address you set in Settings. Resellers can choose where their own notices go.

Can I run it without automatic suspension or removal?

Yes. Both are switches. With them off, IAM4Hosts detects and notifies on schedule, and you suspend or remove by hand when you are ready.

What does the free edition do?

Everything, for up to 10 inactive accounts per server. It is a full install, so you can see exactly what it finds and how it explains it. Pro removes the limit and is bought from inside the plugin.

Does it work on Plesk for Windows?

Yes. The Plesk edition runs on both Linux and Windows Plesk servers, and recognises mail hosted on a separate mail server in your DNS template, so those subscriptions stay active.

How do I install it?

On cPanel & WHM or DirectAdmin, run curl -fsSL https://iam4hosts.com/get | bash as root over SSH; the installer detects the panel by itself. On Plesk, download the extension zip and upload it in Extensions → My Extensions → Upload Extension. The first scan runs within five minutes.

How do updates work?

The plugin checks for new releases and tells you in a banner and in Settings, optionally by email. It never updates itself: you run the same one-line command, or upload the new Plesk zip, when it suits you. Settings, templates and history are kept.

How do I uninstall it?

On cPanel & WHM or DirectAdmin, run cd /root/InactiveAccountManager && bash install --uninstall as root. It removes the plugin files, the cron job, the panel registration, and the database and its user. On Plesk, go to Extensions → My Extensions → Inactive Account Manager → Remove; the scheduled task is removed first, then Plesk deletes the files and database. Uninstalling never changes any hosting account: anything it already suspended stays suspended until you unsuspend it in the panel.

Let the ghosts go.

Install IAM4Hosts free and see what's hiding on your servers by tomorrow morning.

  • cPanel & WHM
  • Plesk
  • DirectAdmin
Download for free

Freeware edition discovers up to 10 inactive accounts. Pro unlocks unlimited, as an in-app purchase.