After a long conversation with ChatGPT, I believe I have (in theory) the basics down.
There are some action events I could hook:
For early intervention
- signup_user – the earliest point
- after_signup_user – a little later, when the activation link has been sent
There were two hooks mentioned that I’m less sure of (will edit answer when I have learned more)
- wpmu_activate_user – I’m guessing this is when the activation link is clicked
- wpmu_signup_user_notification – not sure at all about this one, but it might be a bit later for me
However, we also talked about a filter that might be good – validate_user_signup, which would catch things soonest and prevent junk data from ever entering the database to start with.
Edit: Upon further conversation, bp_signup_validate came up as a confirmed BuddyPress event trigger, which might also prove useful. It seems to fire around the same time as signup_user during the form validation phase.