Creating a User - Tag relation plugin

No it doesn’t need to be manual. There are quite a few different ways you could fill out the user custom fields based on the CSV. It really depends on how you want to handle the updates. I’d suggest doing the other parts first and just testing this out with a small dataset. Then if you’re happy with how it’s working add an automatic import for the CSV. Making that part efficient is a secondary step.