Direito de ser esquecido (RTBF) para data stores permite que você declare quais chaves e data stores contêm os dados de um usuário. Quando o Roblox processa um pedido de RTBF para seu jogo, o sistema usa esses modelos para remover automaticamente os dados correspondentes. Você pode configurar modelos visualmente através do Gerenciador de Data Stores no Creator Hub, ou programaticamente através da Open Cloud Configs API.
RTBF Automatizado
Para usar o processamento automatizado de RTBF, é necessário definir modelos de exclusão. Esses modelos informam ao Roblox quais data stores ou chaves pertencem a um usuário específico. Você pode ter até 100 modelos para identificar seus dados de usuário.
Modelos de exclusão
O RTBF automatizado funciona por meio da correspondência de padrões. Você define um modelo para seus dados de usuário usando um token {UserId}. Quando o Roblox recebe um pedido de direito de ser esquecido, o sistema substitui esse token pelo ID real do solicitante e examina seus data stores em busca de correspondências para excluir.
Requisitos de elegibilidade
Para que uma entrada seja elegível para exclusão automatizada, ela deve atender aos seguintes critérios:
- Tipo de armazenamento — Os dados do usuário devem ser armazenados em um data store padrão ou em um data store ordenado. A exclusão de todo um data store é suportada apenas para data stores padrão.
- Identificador — O ID do usuário deve fazer parte do Name ou do Scope do data store ou chave.
- Formato — O ID deve ser identificável através de um padrão de string estático (por exemplo, User_{UserId}).
Configurar RTBF automatizado via Gerenciador de Data Stores
O Creator Hub fornece uma interface visual para gerenciar seus modelos de RTBF sem usar a linha de comando.
Navegue até o Creator Hub.
Selecione o jogo que você deseja configurar.
No menu de navegação à esquerda, vá para Configurar ⟩ Gerenciador de Data Stores.
Selecione a aba Exclusão RTBF.
Clique em Criar Modelo.
Selecione o Tipo (Data Store Padrão, Chave Padrão ou Chave Ordenada).
Preencha os campos correspondentes com seu modelo usando o token {UserId} (por exemplo, PlayerInventory_{UserId}). Este token é sensível a maiúsculas.
Verifique a saída de exemplo e clique em Criar.

Configurar RTBF automatizado via Configs API
Você também pode gerenciar modelos de RTBF programaticamente usando a API Open Cloud Configs. Isso é útil para automação ou gerenciamento de modelos em grande escala.
No Painel do Criador, crie ou edite uma chave de API para incluir as permissões universe:read e universe:write para cada universo onde você deseja automatizar a exclusão de RTBF. Para mais detalhes, veja Gerenciar chaves de API.
Os modelos são armazenados como uma configuração JSON chamada user_data_templates. Existem dois tipos principais:
- Modelo de chave — Identifica chaves específicas. Requer data_store_type (STANDARD ou ORDERED), data_store_name e key_pattern. O scope_pattern é opcional, mas recomendado.
- Modelo de data store — Identifica um data store inteiro. Requer data_store_type (atualmente apenas suporta STANDARD) e data_store_pattern.
Para ambos os tipos de modelo, o token {UserId} é substituído pelo ID do usuário quando um pedido de RTBF é processado.
Exemplo de Configuração{"user_data_templates": [{"key_template": {"data_store_type": "STANDARD","data_store_name": "PlayerInventory","key_pattern": "User_{UserId}","scope_pattern": "Scope_{UserId}"}},{"key_template": {"data_store_type": "ORDERED","data_store_name": "PlayerLeaderboard","key_pattern": "User_{UserId}","scope_pattern": "global"}},{"data_store_template": {"data_store_type": "STANDARD","data_store_pattern": "Player_{UserId}_Save"}}]}Em seguida, envie via a Open Cloud Configs API. Nos exemplos a seguir, substitua <API_KEY> e <UNIVERSE_ID> em cada solicitação e envie todas as solicitações para o repositório DataStoresConfig.
Crie um rascunho via uma solicitação PUT que define sua configuração. Se um rascunho já existir, essa solicitação o sobrescreve.
curl --location --request PUT 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/draft:overwrite' \--header 'x-api-key: <API_KEY>' \--header 'Content-Type: application/json' \--data-raw '{"entries": {"user_data_templates": [{"key_template": {"data_store_type": "STANDARD","data_store_name": "PlayerInventory","key_pattern": "User_{UserId}","scope_pattern": "Scope_{UserId}"}},{"key_template": {"data_store_type": "ORDERED","data_store_name": "PlayerLeaderboard","key_pattern": "User_{UserId}","scope_pattern": "global"}},{"data_store_template": {"data_store_type": "STANDARD","data_store_pattern": "Player_{UserId}_Save"}}]}}'Verifique seu rascunho via uma solicitação GET para recuperar e revisar o rascunho antes de ele ser publicado.
curl --location --request GET 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/draft' \--header 'x-api-key: <API_KEY>'Após a verificação, envie esta solicitação POST para publicar. A única maneira de desfazer essa ação é restaurar uma versão anterior. Essa ação também requer que a conta associada à chave da API seja elegível para publicar jogos.
curl --location --request POST 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/publish' \--header 'x-api-key: <API_KEY>' \--header 'Content-Type: application/json' \--data-raw '{"deploymentStrategy": "Immediate"}'Após a publicação, confirme que a configuração está ao vivo com esta solicitação GET.
curl --location --request GET 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/full' \--header 'x-api-key: <API_KEY>'
Melhores práticas
- Sensibilidade a maiúsculas — Use exatamente o token {UserId} em seus padrões. Variações como {userId} não são aceitas.
- Verificação manual — Compare seus padrões com seu uso ativo de Luau usando o Gerenciador de Data Stores no Creator Hub antes de publicar a configuração.
- Escopos padrão — Se um data store usar o escopo padrão, defina scope_pattern como "global" no modelo de chave.
- Teste o fluxo de ponta a ponta em um jogo de teste — Para validação completa de seus modelos, considere criar um jogo de teste e uma conta falsa, populando-o com dados fictícios para o ID do usuário daquela conta, solicitando RTBF na conta falsa, e garantindo que os dados sejam excluídos uma vez que a conta seja processada.
- Confirme as exclusões — Após a integração em seu jogo ativo, quando um pedido de RTBF aparecer em suas mensagens do Roblox, verifique se os dados correspondentes foram removidos dentro de 30 dias.