Create and send to a shared email address
This idea works under the assumption that your group is relatively fixed or that there is a subset of players that are always present.
Next time you all get together, create a new email address - this email address is going to be used as a destination of record for faction choice. The password for this account will be a passphrase - one made up by the always-present players. To create the password for the account, the always-present players take turns adding one word to the password, a process that is repeated on subsequent game-days to retrieve the most recent batch of choices.
For example, while creating the account, Player 1 (who maybe owns the game) enters a single word into the password field. Without moving on to the next screen (leaving the password field selected), have Player 2 (perhaps the player who always hosts) then enters another word, followed by Player 3, etc.
In the end, the password for the account is unknown to all players, but accessible to the group as a whole, by repeating the process to log in.
Before gameday, everyone sends a single email to the group account containing their faction choice. On gameday, log into the email address (probably in incognito mode to prevent the password being saved, etc) the emails are read and handled in whatever way you wish, and then delete the emails so that there's a clean record for next time.
After gameday, or after deciding on factions, make sure the email is not left signed in, and that the password is not saved, so that it cannot be tampered with between games. Repeat for future game days.