По словам, за которыми ведётся наблюдение, я думаю, что можно было бы улучшить функционал, добавив соответствие похожим символам Unicode.
Например:
abcabcabc
𝘢𝘣𝘤𝘢𝘣𝘤𝘢𝘣𝘤
𝒂𝒃𝒄𝒂𝒃𝒄𝒂𝒃𝒄
ab𝘤𝘢𝘣𝒄𝒂𝒃𝒄
Это фактически позволяет спамерам создавать множество вариаций одних и тех же слов, чтобы обойти фильтр слов. Я столкнулся с настойчивыми и изобретательными спамерами, которые серьёзно испытывают возможности анти-спам функций Discourse на пределе. Это один из используемых ими приёмов.
Возможно, это может быть полезно: GitHub - janlelis/unicode-confusable: Unicode::Confusable.confusable? "ℜսᖯʏ", "Ruby" · GitHub