Here's a theory on how it might work:
1. When logging into Starmade with your registry account, after checking the account's authenticity, the registry could send a datagram to the game with a "temporary" code key and an expiration date/time.
2. Every time a player logs into or disconnects from a server, the game sends a datagram with the server address, the temporary code key, current time, and the connection status (connected/disconnected). This would allow the registry to direct "friends" to play with this player or to do anything where the player's "location" (current server) is important, like blacklisted/whitelisted servers.
3. About 5 minutes before the temporary code key expires, the game sends a datagram to the registry with the original temporary code key and a request for a refresh. At this point, the registry sends a new temporary code key and expiration time back to the game. For that five minute window, either temporary code key will reference that particular player. This will ensure that lag will not cause the wrong temporary code key to fail a datagram as an "imposter".
With that, the registry can track your details and if/when a "friend list" is implemented, friends can use the registry's knowledge of the player's "location" (which server, or none) and allow friends to join in at will.
The temporary code key should ensure that imposters can't send incorrect data to the registry via handcrafted datagrams, unless they snoop the temporary code key when it is originally sent from the registry to the player. Whenever it is sent, the legitimate code key should be encrypted in such a way that it can always be decrypted back to the original code key. A specific passcode or encryption key (as random and temporary as the code key) should be sent along with the temporary code key by the registry, to ensure that it can be reliably encrypted by the client, and only decrypted by the registry.
This process can theoretically be programmed by the website developer and the launcher developer in tandem, instead of the core game developer. (Schema) The core developer could then easily implement a quick server-connect/server-disconnect hook to send the datagram for server connections, using processes developed by the other two developers.
Edit: maybe have a client setting or two for this process, and if you want more privacy, the "guest" login should stop this key and location exchange from happening at all.