Roblox message - Right to Erasure (pls help me)

So today i got this message from roblox and I dont know what to do?
I dont know anything about scripting and this game has only scripts that were free to use. I have no idea how can i delete this user from my game. I suspected it could be level and donation leaderboards, so i deleted them but i got this roblox message three times…

How can i even find data stores in my game?
I dont mind deleting them completely cuz this game is so old.

(i know i got link there to 3 articles but first one doesnt even work “page not found” 2nd one is just bunch of script language i cant understand 3rd one says nothing how to delete these data stores)

You could try turning off the datastore in the settings

that will resolve this problem?

that’s what i would do if you dont care about the game.

Okay thank u very much :heart::heart::heart::heart::heart::heart::heart::heart:

1 Like

To delete data from data stores, you need to use the DataStore:RemoveAsync() method.

First, go to your free-to-use scripts. You can easily find where data stores are updated: hold CTRL+SHIFT+F and search for UpdateAsync and SetAsync. Go to these positions in the script.

At these points, you might see code in this kind of format:

--ONE of these FOUR
DataStore:SetAsync(..., ...)
pcall(DataStore.SetAsync, DataStore, ..., ...)

DataStore:UpdateAsync(..., function(...)
    --blah blah, this bit doesn't matter
end)
pcall(DataStore.UpdateAsync, DataStore, ..., function(...)
    --blah blah, this bit still doesn't matter
end)

Now, you don’t need to understand what this code does. You need to retrieve a value from it.
In the code, I need you to get the value which is marked as key in my code snippet below:

--ignore if it's SetAsync or UpdateAsync, that does not matter.
--The placement of 'key' will be the same in both cases.
pcall(DataStore.UpdateAsync, DataStore, key, function(...)
end)
--or
DataStore:UpdateAsync(key, function(...)
end)

Now, this value market key. Why’d I ask you to get it? Well, basically, when we save player’s data, we need to provide a special thing called a key. This is basically what we use to access the player’s data.

When you get this key, it could look something like this:

"Key_"..player.UserId
"leadervalue-"..player.UserId
--or literally just
player.UserId

If you see any dots before or after the player’s UserId part, you need those. Those are what we call prefixes or suffixes to the key. If it literally just says player.UserId or just has a .UserId part to it, that makes the next part a whole lot easier.

Now, go to the top of that script, or use CTRL+SHIFT+F again to go back to search mode. Type in :GetDataStore. Go to where this position is in the script, and get what’s written in the speech marks. That’s the name of the data store.

Now, type this in the command bar:

--IGNORE THESE BITS WHICH ARE INDICATED BY -- and in italics
--they are comments and do not matter!
--what you need is below.

--suffix is the little string bit next to the key you had before.
local key = "Key-"..UserId --UserId is the UserId of the user who has right to erasure.
--Note if the dots were before the UserId part in the script, you must put it before here.
--If it was after, it needs to be after the UserId part here.

--in this command, "name" is the name of the data store which you got from the script earlier.
game:GetService("DataStoreService"):GetDataStore(name):RemoveAsync(key)

If it all worked out correctly, the player’s data will now be gone from the data store. I hope this helped explain it really simply, and if you need further help please let me know. This should let you remove data without having to disable the data stores.

Disclaimer

I am not sure if this is all you need to do to remove the required data by law. For that reason, I will not accept responsibility for insufficient/incompliant removal of data by the use of this code. You acknowledge that and accept by using my code. (I DONT WANNA GET SUED!!)

1 Like

Thank u very much. Maybe its stupid question but if i just delete the script which has anything about data stores, will i be okay?

No, those scripts are only used to access the data stores, removing them won’t remove the entries from the stores, which you need to do.

Ohh… Well… yesterday before u posted ur message i deleted those scripts so now i dont know how to find these “key”
And also disabled access to data stores in games settings, like Kult advised me to do… does it remove the data?

No, disabling access won’t remove the data from the data store. It’ll still be there. Since you deleted the scripts already, I don’t suppose you took a backup? If not, you can look at reverting your game to a previous version.

image


When i searched for " UpdateAsync" there was no results found, but after searching for “SetAsync” only these appeared (on screenshots)
I dont see any keys

Ok, I need you to search for these in the scripts and send the line you find them on.
DataStore =
toolsDS =


In cash/minute leaderboard script there was no “toolsDS =”

And in GearShopToolsSave script there was no line with “DataStore =” and “toolsDS =”

In GearShopToolsSave, there will be a line with toolsDS =
Search for either of these:
toolsDS=
toolsDS =


oh yeah

Ok, you need to run these two lines of code in the command bar one at a time.
First, do this one. You’ll need to replace --id with the UserId of the player you got the notification for. (remove both hyphens as well as id so just the UserId is there)

targetId = --id

Now, run these two lines of code in the command bar, one at a time:

game:GetService("DataStoreService"):GetDataStore("TimeStats"):RemoveAsync(targetId)
game:GetService("DataStoreService"):GetDataStore("ToolsData"):RemoveAsync(targetId.."-tools")

That should delete the data from the data store. Make sure to check that’s all you need to do.

Now, finally run this:

targetId = nil
Disclaimer (again)

I am not sure if this is all you need to do to remove the required data by law. For that reason, I will not accept responsibility for insufficient/incompliant removal of data by the use of this code. You acknowledge that and accept by using my code. (I DONT WANNA GET SUED!!)


in this one?

Yeah, that bar that says “Run a command…” at the bottom. If you click this button under View at the top:
image

you can check the output for errors, which will be in red text. Let me know if one of those comes up from running those lines of code.

i messed up one line by switching targetid with the numbers but i corrected it
does it look alright, as it should be?

No, sorry but I forgot to mention that you need to re-enable data store access for this to work.

Use the lines of code as I sent them, and do them one at a time.