API reference
Every input, every strategy, every language. Only token is required — everything else is sensible defaults you can override when you need to.
Inputs
tokenRequiredstringGitHub token used to update issues and pull requests. Use the built-in ${{ secrets.GITHUB_TOKEN }} for the simplest setup.
replacement-strategyOptionalenumdefault: asteriskHow profane content should be replaced. See the strategy reference below for all 14 options. Case-insensitive; hyphens are also accepted (e.g. anger-emoji).
include-updated-noteOptionalbooleandefault: trueWhen true, appends a note to the body explaining that the content was updated by the profanity filter.
include-confused-reactionOptionalbooleandefault: falseWhen true, the action reacts to the issue or pull request with the 😕 confused reaction.
manual-profane-wordsOptionalstringA comma-separated list of additional words to include in the filter. Layered on top of the built-in dictionary.
custom-profane-words-urlOptionalurlA URL returning a newline-separated list of words to include in the filter.
Replacement strategies
Each strategy demonstrated against a four-letter profane word. Strategy values are case-insensitive and accept hyphenated alternatives.
asterisk****Classic asterisks — the safe default.
emoji💩A random expressive emoji per match.
grawlix#%$!Comic-book style symbol soup.
bold-grawlix#%$!Grawlix, but louder.
bleepbleepReplaces with the literal word "bleep".
redacted-rectangle████Top-secret redaction blocks.
anger-emoji😡A random anger-themed emoji.
middle-asteriskf**kKeeps first and last letters intact.
middle-swear-emojif🤬kA swear emoji in the middle.
random-asterisk* — ****Random number of asterisks.
first-letter-then-asteriskf***Keep the first letter only.
vowel-asterisksh*tReplaces only the vowels.
strike-throughWraps content in <del> tags.
underscores____Replaces with underscores.
Supported languages
Word lists are stored as plain newline-delimited text files. They're auditable, contributable, and shipped right alongside the action.
Browse the dictionariesin the Data directory on GitHub
What the action does
- Replaces any detected profane content using your configured strategy.
- Optionally reacts to the issue or pull request with the 😕 confused reaction.
- Applies the
profane content 🤬label, if it exists in the repo. - Posts a detailed job summary table for traceability.