Requesting clarification on Text Filtering from an External Source

Good day,

I’m currently working on bringing in text strings from an external API into game. This string will be visible to many players withing my game. After browsing the text and chat filtering documentation, I’m confused as to what playerID should be used for the string filtering. I understand that I will likely filter for broadcasting as this is the highest level of filtering possible.

My intention is to bring the string in from the API, Filter, and store in ReplicatedStorage to be pulled by the individual players. It should also be noted that the API is conducting it’s own “pre-filtering” prior to storage of string data. However as the source of this data is not only from Roblox I want to ensure that any text returning to Roblox adheres to text filtering requirements set by Roblox.

However, I have a few questions;

Is the requirement for a player ID to moderate the player?

What player ID should be used to filter this external string?

Will this player who’s id is used be affected in anyway by a filtered string coming in from an external source?

Should a string from an external source result in a heavy filtering action (due to some form of inappropriate and or filter violating text/data) will the player receive some sort of account moderation taken against them?

Thank you all in advance,


After quite a few hours of extensive research my team and I have determined the following;

  1. All chat / text leaving roblox to our api will be filtered.
  2. Our API will still use its own filter prior to storing any received data/text (from roblox or 3rd party)
  3. As 3rd parties can create text into this database, we must filter it when it is called into roblox.

Our concern is mainly the 3rd point. The Roblox documentation I listed above mentions external sources and how to handle them. However the functions used to filter the chat require an argument called “fromPlayer”, as to indicate the filtered messages are coming from the player. In our case this is simply not true as the data is bring brought in via api to the game.