Help with Right-Of-Erasure removal of Datastore UserID

Hi guys.
Very sorry if this is the wrong place to ask this because i don’t really know.

But We’ve recieved a “Right of Erasure” Message asking us to remove an ID out of a Datastore and such, and since I know Datastores have something to do with scripting i chose to write it here…

But the game doesn’t have any datastores that i can see, also the Studio API to Datastore has always been off, and I don’t remember adding a datastore in the game.

I’ve tried the website it gave to remove an ID from the datastore but it was very confusing for me as I don’t do scripting or anything. I’ve tried to find a way to remove an ID from youtube but I didn’t really find a good video, as I couldn’t find the datastore we needed to delete the ID.

I’d appreciate some help in knowing what i’m supposed to do and how I can delete anything from a datastore, or delete a datastore entirely…

I downloaded a plugin Datastore Editor but i couldn’t find anything in that either that i could delete or anything.

Thanks. =)

If you don’t store any data on the user you can ignore the message.

You always get this message even if you don’t have any datastores, because Roblox has no way of knowing whether you store information for a player.

So because the player had joined the game and has had their account deleted it will still send regardless?

If i don’t do anything about it will anything happen?
Because theres no datastorea on the game and i dont want trouble

Does your game save data? Did you press “List Stores” on the plugin from the place that has been queried with the Right-Of-Erasure? If it does, there should be a Key that is saved to the datastore for each player. You can use that to delete the data.

image

Yes one came up called general or something but didnt have anything on it so i assumed it to be nothing. Maybe that’s where it is… just i have no idea how to delete or configure it

1 Like

I would suggest you look for the script that saves the data if there is one. When looking, look out for something that says :GetAsync() or :SetAsync(). These methods are what read and write to the DataStores.

Inside the parenthesis should be the formation of a Key. It may look like "Key_" .. Player.UserId, this is what we are going to use to access and delete the data. Look back at your Right-Of-Erasure message, copy the corresponding Id from the message and paste it INSIDE A NOTE, NOT IN THE SCRIPT.

You should have something that looks like Key_123456789, I want you to open up the DataStore Editor plugin. Click the button that says “List Stores” and remember the name of the DataStore. Click on the button and type in the name exactly as it was just written and click the “Connect” button.

Image from Gyazo

Click the stack to close the sidebar and paste the KEY from earlier in our notepad into the “Key” search bar and press Enter.

Image from Gyazo

A data point should come up, if not then there is no data that has been saved under that current UserId, and ignore the message! If there is then press the little trash icon on the right-hand side.

NOTE: THIS DOES NOT GET RID OF THE ACTUAL KEY FROM THE DATASTORE, THIS GETS RID OF THE DATA INSIDE OF THE KEY

Image from Gyazo

After that, let’s go down to our Command-Line and type this script below to delete the actual key from the datastore from the given string! !! You will need to use the name of the datastore from before !!

local DataStoreService = game:GetService("DataStoreService") 
local DataStore = DataStoreService:GetDataStore("DATA_STORE_NAME_HERE") 

local success,error = pcall(function()
     DataStore:RemoveAsync("PLAYERS_DATA_KEY_HERE  -- Ex: Key_123456789")
end)

if success then
     print("DELETED KEY FROM DATASTORE")
end

Image from Gyazo

Now you may be saying… “The data key is still there!? :O”… Not actually! The key itself remains inside of the datastore for a 30-day period until it is permanently deleted. This is basically a tombstone of the old key!

Hope this helped, good luck!

2 Likes

That is correct. If you have no data on the user you will still receive a message in regards to this. The reason why Roblox does this is because some people store data externally outside of Roblox on different DB’s then the data-stores Roblox so you could be a dev who does this and there is no way of checking really.

As long as you have no data in Roblox or outside of Roblox which relates to the user then you should be fine. If you have ANY data at all on the user, even outside of Roblox this must be removed as it is a legal requirement and you could get into legal trouble and account termination if caught.

1 Like

Thankyou for the thorough explanation !! Helped a lot.

Couldn’t find the script for the data store as none of them have a line with ‘:GetAsync()’ or ‘:SetAsync()’ or datastore stuff.

I’m assuming i should be fine not to worry about anything if i havent got a datastore ?

Yes, you should be good, as you aren’t actively saving data there is no need to worry. Remember it isn’t limited to just the datastore, discord webhooks, external databases, etc as well.

1 Like

Okay!! Thank you very very much !!

1 Like