FilterStringAsync() should be called on the server as it will fail if called on the client. You need to send the text to be filtered to the server if you are running it from a local script.
That’s because the :FilterStringAsync() returns a filter result. You need to call the :GetChatForUserAsync() (or something like that) method on the FilterResult before you can print the output.
Be on the lookout for a module I’m making, it simplifies this process
If the text will only be seen by the local client then there is no need to filter, but if text is ever inputed from a client and the shown to other clients it has to be filtered.