In the past 2 weeks, I have received 5 right of erasure requests. The game I have to presume this is for (seeing as no specific game is supplied in this message) uses very complex data saving methods pertaining to users in some cases having data stored in up to 5 or 6 individual datastores, and in some of these, data is indexed by a unique generated hash dependent on player submitted values - not the player’s ID.
I’m also not able to search through my logs of most of the stuff that’s stored in these datastores, as the erasure requests come with IDs, without telling me the player’s name.
Automatic Erasure API
To partially fix this, an automatic erasure API which developers can access would massively reduce the workload of this task.
The way I theorise it working would be that on the creation of a new DataStore entry, a function of the service is called, and the parameters of PlayerId, GlobalDataStore Name and Datastore Index value are passed.
In the event of a right of erasure request, these entries would automatically be purged. A message could still be sent to the developer, letting them know that if they use the service, the data was purged, but if they do not, they must manually do it themselves.
Currently right of erasure requests are taking up a lot of my time. I can create a tool to search through the more basic of my datastores is easily, but searching through the more complex datastores I have in the game which, once again, I have to assume is being referenced, is a massive pain. Even in my games where I use simple data storage, it’s still very annoying with the frequency I receive these messages.
An alternative method would be adding an optional parameter to SetAsync and UpdateAsync which is a player value, and performs the same function. e.g.
ilgdpr:SetAsync(key, 57, game.Players.Builderman)