Making Blacklisted Keywords System on Decals for security purposes. Allowed or not?

Hello, I am currently been working on server creation system and I have been having fun time with it, till I started to realize that there’s going to be.. challenges to say at least.

Text Filtering is already put through, but when it comes with Image/Decal IDs, is completely it’s own story. From knowing my friend that filtered Decals still have the word it’s being said clearly, so I been thinking on the proper system that would catch on them and make the image not able to be used on it.

The only problem is that being if it’s fine by Roblox Standards™ to have ModuleScript that contains those words in the array, but not being seen by the player other than being stored in the ServerStorage / ServerScriptService to check on if the said words matches on Decal that user tried to put on?

Thanks.

I doubt it would be your responsibility to moderate decals, they already go through moderation. If they are inappropriate, then Roblox should be taking accountability.

How would you even detect the text on Decals?

Even it isn’t mine, people would still see it and I am still thinking on the best way to be handled with. Sure we can ban the USEEERRR and get the decal reported as well, but there has to be bit of better way to be handled with.

Every Decal has Name on them and you would be able to get it when the User sends the server it’s number, checks out if it’s decal/image then looks at the title.

But players don’t see the name of the decal, the name can be completely different from the Decal content. In fact, it’s much easier for Roblox to filter out inappropriate names meaning there won’t be any bad names to begin with.

I am not worried about the decal name that the user sees, that’s not the main point about it. I am more worried about if the server checks out the name and sees name being inappropriate, as example we have decal named “FOPDOODLE”, if the array that I have created has matching letters like “DOODLE”, then the server can tell the user that they cannot use that ID and it would be blacklisted.

I mean, you can do that, but I’m trying to understand what’s the reasoning behind you doing that? Because it’s somewhat pointless.

I know some group of people like to use specific keywords/messages in context to pile up things what they do. It is not something new and it would be the best to be done than asking for trouble.

What do you mean by this? Still don’t exactly understand the problem. Do you mean if they use inappropriate words in the names of decals?

I am surprised the fact you’re using Roblox Studio somehow and don’t even know that decals/sounds have names on them.

I clearly said it and it answers your question on it.

I know they have names. I don’t know why you’re worried about the names of the Decals because any decal uploaded to Roblox passes moderation, so by default the name of the Decal is something Roblox deems acceptable.

1 Like

why the hell do you wanna go out the way to moderate decal names if roblox already passed moderation or are you talking about if theres text inside the images that can be combined to make a word thats prohibited

You probably can’t read text from decal images purely inside Roblox.

Use Roblox Thumbnail API to resolve the decal/asset id into an imageUrl:

https://create.roblox.com/docs/cloud/reference/domains/thumbnails#thumbnails_get_v1_assets

Example endpoint:

https://thumbnails.roblox.com/v1/assets?assetIds=109251560&size=420x420&format=Png&isCircular=false

Then run the actual moderation pipeline outside Roblox:

Client submits decal id → Roblox server uses HttpService to send the assetId to your backend → backend handles Thumbnail API / image text detection / blacklist check → returns allow/block.

Pipeline:

Roblox HttpService
→ backend endpoint
→ Roblox Thumbnail API
→ download imageUrl
→ image text detection, e.g. Tesseract / AWS Textract / Google Vision
→ blacklist / regex match
→ cache by assetId
→ return allow/block to Roblox

I’d host the backend on AWS EC2 / Lightsail / Lambda, or any VPS. Roblox handles the game logic; the backend handles image checking.

Anyways, not recommended unless you really need it. It adds backend cost, latency, false positives, detection failures, and extra maintenance.

I misunderstood the original point a bit. I thought this was mainly about detecting text inside the decal image itself, not just checking the decal asset name/title.

If you only want to check the decal/image asset name or description, you can use MarketplaceService:GetProductInfo(assetId, Enum.InfoType.Asset) on the server.

local MarketplaceService = game:GetService("MarketplaceService")

local success, info = pcall(function()
	return MarketplaceService:GetProductInfo(assetId, Enum.InfoType.Asset)
end)

if success and info then
	print(info.Name)
	print(info.Description)
	print(info.AssetTypeId)
	print(info.Creator.Name)
end

Then compare info.Name / info.Description against your blacklist.

This only checks the asset metadata, not the actual image content. My earlier Thumbnail API / OCR suggestion was only for detecting text inside the image itself.

That is much informative than what I got from two blokes above.

I wasn’t personally thinking much on the thumbnail detection, other than the text that comes with the decal/image, NOT on the image, but hey! At least I can do something about it.

If I am sure, that Roblox doesn’t really care what words I put on the blacklist as long as it’s not on client’s view? :thinking: