Question about datastores and takedown requests

Intro

I am in an early state of designing a datastore system for my building game. I am wondering if it is a good idea to make a userid to only be used inside of the game universe.

For example, when a player first joins a game, the server assigns them a custom uuid. From then on, any builds that they save to slots or any items they upload to the workshop would be associated to that game-oriented-userid.

What is the use case?

If the user sends a data takedown request, my game would remove the association between their userid and their game-oriented-userid. Then, any content they have uploaded would be viewable from a menu, but trying to load in their data would return an error.

Why would I do this?

In the current iteration of my game, if a player sends a data removal request, it can take a while to remove all of their data (each save slot is its own datastore key). The program to remove data might have to be run multiple times to ensure that everything is fully removed. If I only have to delete two datastore keys (key: userid, value: game-oriented-id), (key: game-oriented-id, value: userid), then it would make things much easier.

Main question

So, would this be allowed? I know “data removal request” is pretty self explanatory, and the data should be removed fully instead of the associations. However, I am looking for as many potential easier ways to do things as possible before it is too late. As long as I am not displaying the data to anybody, would this method be okay to use?

As an alternative method, I could make it so whenever the server comes across data that has no associated userid to it anymore, it could delete the data. This would make it go away over time.

If anybody has any comments on this, please let me know. Have a good day.

Why not just save it on the playerid directly? uuid just sounds like an unnecessary middle step you dont need

Read my second and third paragraph. For some additional information, players right now have access to 101 save slots in my game and an infinite amount of workshop uploads.

Wait reading it again, each build you save is it’s own datastore key? Yeah def make 1 key and then save each individual build with a uuid under that 1 key then

1 Like

Many players create builds with more than 15,000 objects in them. Some players can’t finish their builds due to a cap in storage.

Do you know if it is permitted by roblox? That’s why I made this post.

Why wouldn’t it be permitted by roblox?

1 Like

Also just compress your data if you’re running into issues saving builds

1 Like

A data removal request is a request to remove data. I am wondering if disassociating it from its creator is enough.

About that, I have been looking into compression. I have tried out zib/deflate, but their system creates a string that doesn’t support datastores. The other solutions seem to only have a 20%-30% compression amount which doesn’t seem like too much.

Yes it’s enough

1 Like

Thank’s for your reply. Do you know if I can find any sources? I don’t mean to be rude, I just want to make sure since it’s on the more serious side of things.

I’m sorry. I don’t know if I replied to this properly. The data removal system is stated as very important by Roblox, and we’re obligated to respond to those requests. I want to know if the idea I thought of is pushing Roblox’s requirements.

Idk I’m not a lawyer, ask the european union or california who are the people creating those laws