Separate into two use cases:
- User initiated combining. Make ample sanity checks, escalate anything sus to admin.
- Admin initiated combining. Show sanity check results but allow the Force to run its natural course.
Perhaps support a hands-free UAC only in the case where the user controls all the email addresses involved: send a confirmation email to each and only perform after each email has confirmed. If any of them denies or takes too long to confirm, escalate.
Sussiness may include (not limited to)
- having wildly different personal details in the accounts (eg. three of these four mismatch: first name, last name, email address, phone number)
- being involved in the same event with both accounts
- having Desuprofile connections for both accounts
- having a prior UAC escalation
Open questions:
- Should we support multiple email addresses? Add an EmailAddress model despite keeping one of them as
Person.email?
- Should this go through Survey? This would warrant implementation of non-Event surveys and the root Scope
kompassi, though.