Curious who "architected" this design for you? I would assume this "architect" would know whether his/her own design should work or not, so that you don't actually have to post the original question of this thread here other than to ask if anyone else has done something similar before.
And pardon my ignorance, I don't work with Grid a whole lot, but I don't recall grid & node requiring login authentication, so that must be a custom implementation? If that is actually available with grid hub/node by default, please point me to the info about that.
Is your setup described as a central hub in your network, and a unique node at each client site, and the custom mapping of node configs allows you to route specifically to each client node? So your hub sits between web app and client node, acting as proxy to route action to client node from web app? If so, an alternate design could be to remove this "extraneous" proxy, and move the node routing logic away from hub into the web app itself. The web app probably already has some of that logic that it passes to the hub to tell the hub what "capability" it needs for where to run. So, when user clicks link, the web app should know which specific client (node) needs to execute the commands (this could be tied to the user's login or other unique identifiers). So the web app then sends the Selenium commands directly to the client's "node". The client's "node" in this case is an abstract term. The node itself can be a hub at client site that talks to the real node to execute commands, or instead of hub + node, it's just a RemoteWebDriver server instance running at client site (no hub, just a node in RemoteWebDriver non-Grid mode). And each client site could be deployed like this.
In the original setup or my described alternate setup, you still have to find a way to "secure" the connection between your site/end (e.g. your web app or your hub as endpoint) and the client's site/end (their node as endpoint). I just think from a networking topology perspective, the alternate setup is simpler as it is better to use less connections (or shorter routes) and less middleman proxies.
A reason you may want to stick with your hub design is if you need to check status and manage the execution of commands across multiple clients (assuming they take a while or you need to restart nodes), where the hub may give you a nice GUI dashboard for that vs without a hub. Otherwise, the hub just seems like an extra layer for not much gain.