Open sourceFiltro parolacce e bestemmie per JS e Flutter

NICK PULITI.
PAROLACCE
FILTRATE.

Riconosce bestemmie, insulti e trucchi come “D10 p0rc0” negli username, e lascia passare Claudio e Diodato.

npm install italian-profanity
Documentazione

Provalo

Funziona nel browser · …
CARICAMENTO

Caricamento del filtro…

—

NON TUTTI I FILTRI
PARLANO ITALIANO.

01
p0rc0

Scova i trucchi.

Leetspeak, lettere ripetute, punteggiatura, accenti e caratteri Unicode somiglianti vengono riconosciuti.

02
Claudio ✓

Rispetta i nomi veri.

Regole a parola intera ed eccezioni esplicite evitano falsi positivi su nomi e cognomi italiani.

03
JS DART

Stessa risposta, ovunque.

Regole e test condivisi tengono allineati i motori TypeScript e Dart/Flutter.

PRONTO IN
POCHE RIGHE.

Nessuna chiave API, nessuna chiamata di rete. Scegli la policy balanced, strict o lenient e decidi cosa consentire, rivedere o bloccare.

JAVASCRIPT / TYPESCRIPT
npm
$npm install italian-profanity
import { createChecker } from "italian-profanity";

const checker = createChecker({ profile: "balanced" });
checker.check("D10 p0rc0").action; // "block"
checker.check("Claudio").action;  // "allow"
DART / FLUTTER
pub.dev
$flutter pub add italian_profanity
import 'package:italian_profanity/italian_profanity.dart';

final checker = ItalianProfanity.createChecker();
checker.check('D10 p0rc0').action; // Action.block

DOMANDE
FREQUENTI.

Cos'è italian-profanity?

italian-profanity è una libreria gratuita e open source che riconosce le volgarità in italiano — bestemmie, insulti e parolacce — in testi brevi scritti dagli utenti, come nickname, username e nomi di stanze o squadre. È disponibile per JavaScript/TypeScript su npm e per Dart/Flutter su pub.dev, con le stesse regole e gli stessi esiti in entrambi.

Come aggiungo un filtro per parolacce a un'app JavaScript o Flutter?

Installalo con "npm install italian-profanity" oppure "flutter pub add italian_profanity", poi chiama check(testo). Il risultato contiene un'azione — allow, review o block — e l'elenco delle corrispondenze con categoria, gravità e posizione.

Blocca nomi innocui come Claudio o Diodato?

No. Le regole lavorano su parole intere, eccezioni esplicite coprono le collisioni più comuni e ogni versione viene verificata su un ampio corpus di nomi, cognomi e parole italiane. Con la policy predefinita balanced, alcuni omografi ambigui restituiscono review invece di block.

Riconosce le bestemmie?

Sì. I termini religiosi vengono segnalati solo se combinati con un insulto: "dio" da solo è consentito, mentre varianti come "D10 p0rc0" vengono bloccate.

Quali trucchi per aggirare il filtro riconosce?

Leetspeak (0 al posto di o, 1 al posto di i), separatori e punteggiatura tra le lettere, lettere spaziate o ripetute, accenti e caratteri Unicode somiglianti.

Invia il testo degli utenti a un server?

No. Il filtro funziona interamente nella tua app o nel browser, offline e senza dipendenze a runtime. Anche il playground di questo sito gira in locale e non invia ciò che scrivi.

Supporta l'inglese?

Sì, in modo facoltativo. L'italiano è attivo di default; un dataset inglese curato si attiva con languages: ["it", "en"]. Non sostituisce un servizio completo di moderazione in inglese.

Si può usare gratis in prodotti commerciali?

Sì. italian-profanity è distribuito con licenza MIT.

Un filtro per parolacce basta per moderare una community?

No. È un filtro lessicale: non comprende intenzioni o contesto, e un testo consentito non è garantito come appropriato. Va affiancato da controlli lato server, segnalazioni e revisione umana.

PIÙ NOMI VERI.
MENO PAROLACCE.

Gratuito, con licenza MIT e aperto ai contributi.