[OJS 3.3.0-7] Identify users which were involved in editorial process (GDPR)

With respect to the GDPR rules and the ‘right to be forgotten’ we would like to inform all users who have been inactive since 24 months (users.date_last_login) that they will be deleted (via mergeUsers.php) if they not actively log in within the next 8 weeks.

"Problem": We need (and are allowed) to keep everyone who was at any point involved in an editorial process (as author, reviewer, or editor). We must identify this properly.

Via groups is no option as groups can be removed and mostly all users register with an author role.

Idea 1: Via API (OJS 3.4; via /submissions/{submission}/participants) I only get “active participants” and can find 1500 unique ones. Does not include reviewers or if users have been removed (something we use on a daily basis).

Idea 2: Picking all unique user_ids from multiple tables (stage_assignments, notes, event_log, email_log_users, query_participants, email_log_users). This way I get 18.000 users (14% of all registered users). This looks more realistic.

Question: Is there a better/easier solution to get this information? In case anyone has had a similar problem/task or has a hint this would be warmly welcome (as always).

Application Version: 3.3.0-7 (API test was 3.4-devel based)

All best,
Reto
Journal of Statistical Software