High Level Network "Lobby" Question

Hey guys, user of UE for years, finally taking the plunge into learning more about networking and multiplayer design.

My question is in regards to how to structure something like a multiplayer lobby session. Take any popular online game (COD, Apex, DBD, Valorant, etc) where you have to load player data from a server. Stuff like player rank, player classes, unlocked classes, etc.

How do you structure the server call for that securely? What’s the best practice to keep as minimal information exposed to the client as needed. Just pull directly from some server API to get the needed info? Have a server instance running like you would in the game itself which is doing everything?

Additionally, how are games structured to have a “lobby” system. Something where you can see your party queued up with you while you search for a match?

Thanks guys, I tried searching online but there’s not a ton of information out there that I could find on the lobby part and loading initial player data. Thanks