Stop exploiters from seeing other people's Data

I was wondering if there was a way to save and be able to access data on the server using an instance under each player.
Like this:
image

This is very convenient, because I am able to access the data at all times without having to use the DataStore functions (like GetAsync and UpdateAsync) to read or update data.
Say, every time that I view the preferences menu or update it, I could just invoke a remote function to the server and receive all the preferences and their values.

The issue is that every client in the server is able to see your data. I’d like to avoid this as it invades privacy and future data that should be readable on the server ONLY.
image

Here, I am viewing the Players service from the client of Player3. As you can see I am able to see every other player’s data folders too. So an exploiters would easily be able to get the data of all players.

A fix here would be to simply read data constantly using the GetAsync() method, but I’d like to use this as less as possible (preferably only on PlayerAdded and PlayerRemoving), because of all the limits and stuff. Being able to update values just by changing the value property of an instance and saving it all to a table when the player leaves would be more efficient.

So whats the solution to reading data only on the server without using GetAsync all the time?

Couldn’t you add a folder to ServerStorage, which would contain folders with the players data?

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.