Plugin suite

Accounts that clean themselves up.

Moodle creates accounts easily and rarely cleans them up. After a few years the user list is full of people who left long ago. These two plugins automate that cleanup, and make it reversible.

What you use this for

  • Accounts of people who have not logged in for months should be suspended automatically.
  • You need to demonstrably comply with a retention period for personal data.
  • An account was deleted by accident and is still needed.
  • Your HR or membership integration adds users but never removes leavers.

The plugins

User Suspension

Suspends accounts automatically and deletes them afterwards according to your rules, with exclusion lists for accounts that must always stay.

tool_usersuspension · GPL, free to use
17 releases since 2015 · Moodle 4.4–5.0

User Restore

Restores accounts deleted by Moodle, including the enrolments and results attached to them.

tool_userrestore · GPL, free to use
9 releases since 2015 · Moodle 4.2–5.1

Good to know

  • Cleanup runs on Moodle cron. If your cron is unreliable nothing happens. That is the most common cause of "the plugin does nothing".
  • Test the settings on a staging environment first. A wrongly configured period suspends more accounts in one cron run than intended.
  • User Restore works on accounts Moodle has marked as deleted. If the database has been purged since, there is nothing left to restore.

Frequently asked questions

Can we exclude certain accounts?

Yes. You can exclude accounts, so administrators, service integrations and test accounts are never suspended.

Is suspending the same as deleting?

No. Suspension blocks login but leaves the data in place; deletion is the final step. You can configure both with their own period, so there is a window in between.

Does this help with GDPR?

It is a tool, not a legal guarantee. The plugin enforces the retention period you define; deciding which period is correct remains your call.

Need this to do something it does not do yet?

The plugins are open source and free to use. If you need a change, a migration or someone to keep them working across Moodle upgrades, that is what we do.

Plan a callAbout plugin developmentContact →

No obligation, no sales pitch. We advise first; a proposal comes later.

Other plugin suites

All plugins →