the problem isn’t the target UserId, (wouldn’t that just be the player who views the report?)
the problem is the sender ID, which TextService:FilterStringAsync() still requires
Ideally, you need to filter the text BEFORE inserting it into a DataStore.
Afterwards, you can later filter it (this is still required) by using a random player in the server for FilterStringAsync(string, RandomPlayer, Enum.TextFilterContext.PublicChat); Afterwards, use the GetNonChatStringForBroadcastAsync() method to get the compliant string (It returns the version of the string that is safe for ALL users.)