How to hide a player's user group
How to hide the player user group on the client side so that cheaters cannot know about the player user group?
You would have to prevent it from being sent in the first place. Simply keep this information on the server and not on shared/client. If you don't want people knowing usergroups then you do not want to send it to the client (which is how the cheater gets it).
Alternatively get a good anti cheat.
I think this task isn't as easy as you may think. You'd need to either run a custom admin system, or edit one enough to where it's not dependant on usergroups clientside. Not as easy as you may think. Then you'd need to go through all your other addons also using usergroups on client side, and edit them so that it's no longer dependant. Any system with some form of administration or restricted menus will likely need client side usergroups in order to function correctly. You're probably looking at needing to hire someone from the Job section to convert it all, then needing any new or updated addons also converting.
It's a lot of work, for basically no benefit. It's not the end of the world that cheaters can see a user's usergroup. They'll slip up eventually anyways. I ran essentially no anti-cheat for a long time with XYZ and had hardly any cheating problems. User reports and the trust of your moderators is more than enough imo. Your server doesn't host 1 million players a day with an overwhelming amount of reports. It's very likely you have 1 moderator for every 3 to 4 players, so it's easily manageable. The reason big games have anti-cheats is because their playerbase is far too large to moderate by hand. That's not the case with gmod.
Agree with Owain. I don't think it would be worth it in the slightest.
Can't imagine why cheaters knowing another persons usergroup would be a problem? I mean, sure, they'll stop doing what they're doing when there's staff around but 90% of the time people will know who staff are. Plus, wouldn't you want other players to know who staff are too?
Thanks for the answers provided, I'll try to remove the usual user verification first and make my own, so that cheaters saw the data of the old system that is intended only for them.
If you really want to block users from seeing usergroups clientside, you can overwrite the GetUserGroup function on the client to return "user", although it'll likely break addons that depend on it.