houbb/sensitive-word

👮‍♂️The sensitive word tool for java.(敏感词/违禁词/违法词/脏词。基于 DFA 算法实现的高性能 java...

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 7 minutes ago
Added to GitGenius on September 11th, 2026
Created on January 7th, 2020
Open Issues & Pull Requests: 12 (+0)
GitHub issues: Enabled
Number of forks: 807
Total Stargazers: 6,045 (+0)
Total Subscribers: 34 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 11
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 258 days
Stale 30+ days: 10
Stale 90+ days: 9

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Sensitive-word is a Java library for detecting and filtering sensitive content based on the DFA algorithm.

The tool addresses the need to identify and handle sensitive words, profanity, and prohibited content in text. It uses a Deterministic Finite Automaton algorithm to achieve high-performance matching, supporting operations like detection, replacement, and desensitization of sensitive terms. The library includes a built-in word list and supports word classification and tagging. Beyond basic filtering, it handles format conversions including full-width to half-width character swapping, simplified to traditional Chinese conversion, and pinyin conversion. It also supports fuzzy matching and can detect patterns beyond sensitive words, such as email addresses, numbers, URLs, and IPv4 addresses.

The tool suits Java applications requiring content moderation at scale, particularly those serving Chinese-language audiences given its focus on Chinese character handling. It works well for user-generated content platforms, messaging systems, and any service needing to enforce content policies. The library offers flexibility through custom replacement strategies, user-defined word lists, and whitelist support. Users can dynamically update word lists at runtime without reinitializing the entire system, and can add or remove individual words without full reloading. The fluent API design aims for straightforward integration.

The project shows active maintenance with ongoing expansion of the word list and algorithm optimization. The maintainer actively solicits community contributions through pull requests and maintains a technical discussion group for user support and feedback. A companion admin console application exists in early development stages to support word list management.