We are doing a similar user cleansing, but more manually, and only with users with bounced emails. Depending of your country and the personal data regulations, you may have additional restrictions in deleting personal data.
For example, in Spain, as a UE country with GDPR, we cannot delete users freely, and the data protection officer of our organization told us that we also have to take in consideration the intellectual property laws.
For example, any user that has send any submission at any time cannot be deleted, we can just disable them, just in case they have a legal problem in the future. We established that users that have not send any submission but have participated in any other way in a submission (in a revision, in an editor decision, as copywriter, etc.) can only be deleted if there were not any activity (login session) in the last 5 years, and only if the submission they participated was published more than 4 years ago .
This deadline is not because a legal reason, but because a specific Spanish journal quality evaluation. They ask for the internal documentation of the last 4 issues of the journals, and if the journal is annual, you have to keep it for 4 years, plus 1 additional year just in case the editorial revision was too long. We usually rely on the submission ID, so we set a number for the ID that was published more than 4 years ago, and all the ID involved must have a smaller numbe r.
The users with any submission activity, we can delete them without looking their last login date. But that’s because we only delete the users with bounced emails, so their personal information (email) is wrong and we are allowed to correct wrong information according to GD PR.
The users with editor or manager roles are an exception, so we talk first with the journal editors if they knew them before doing anyth ing.
When a user is disabled (this sound really wrong), the field reasons for disabling the user is really useful, we use as a message to us in the future. For example, the users that must keep disabled forever, or the date when a user can be disabled. We are using OJS 3.3.0.22, maybe other versions work diffe rent.
So, the IT team create a spreadsheet with all the relevant information for all the users of all the journals, and the librarians check for the emails of the users, and make decisions following a decision tree, then the librarians send regularly spreadsheets to the IT team so they can apply the requested changes quicker than manually.
But maybe your country does not have such a strict regulation and you do not have to complicate things as much as we do.