Not sure if this is the right channel to mention it, but I think the "rce" setting should also be enforced by the client (right now, it appears to only be enforced by the server) - my suggestion would be that in netclient/wireguard/common.go(
https://github.com/gravitl/netmaker/blob/master/netclient/wireguard/common.go#L345) in WireWgConfig() you do a config check (defaulting to disabling PostUp/PostDown), and set PostUp and PostDown to empty strings if rce is not locally "allowed". Otherwise, a compromised server can run code on clients by pushing a rogue config manually.