Para las palabras vigiladas, creo que se podría mejorar si también coincidieran caracteres Unicode similares.
Por ejemplo:
abcabcabc
𝘢𝘣𝘤𝘢𝘣𝘤𝘢𝘣𝘤
𝒂𝒃𝒄𝒂𝒃𝒄𝒂𝒃𝒄
ab𝘤𝘢𝘣𝒄𝒂𝒃𝒄
Esto permitiría esencialmente a los spammers tener muchas variaciones de las mismas palabras para eludir el filtro de palabras. He estado siendo bombardeado por spammers astutos y motivados, por lo que realmente han estado llevando las funciones anti-spam de Discourse al límite absoluto. Esta es una de las técnicas que están utilizando.
Quizás esto podría ser útil: GitHub - janlelis/unicode-confusable: Unicode::Confusable.confusable? "ℜսᖯʏ", "Ruby" · GitHub