I am concerned about the security implications of my data structures exposed to hackers through the client APIs. Specifically, today I am evaluating the trading and shared data systems. I would like to broker all those transactions through cloudscript. When clients can call these APIs, it's impossible to build a secure system. I feel that playfab's overall design seems to be to let players mess up their own stuff, as long as they can't mess up someone else's -- but when it comes to communication between players, that plan falls apart.
So what I need is:
1. All client APIs on the server as well -- otherwise there's no choice but to let the clients have their way with my data
2. Disable individual APIs or groups of APIs on the client -- otherwise, my brokering through cloudscript can be worked around by hackers on the client.
To be clear, my overall plan is to remove responsibility for everything from the client to the cloudscript, and that requires being able to do it from cloudscript, and being able to eliminate the client's access.
#1 is more important -- right now, I can't even explore the trading system in detail because the APIs dont exist on the server.
#2 is an admittedly abstruse scenario, and one that can be fixed in due time. However it seems to be analogous to closing ports you aren't using, which would be a basic security practice.
I'm also concerned about the integrity of the inventory system. Hackers can choose any combination of items I haven't analyzed and populate their inventory with it. They could buy items in impossible and untested combinations, or stuff that isn't on sale yet. I need all this under my control.