thunderbird / thunderbird/appointment
Alert about profanity from public user input (via backend)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 552
- Forks
- 29
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 23
Description
[!IMPORTANT]
As per discussion below (and on #574), this requirement has changed
Instead of attempting to automatically filter out profanity from the BE and risk false positives, we can instead automatically flag suspected inputs and notify our support team to catch any egregious misuse and follow-up with the user directly. This way, we won't block any users unintentionally.
Old requirements:
Is your feature request related to a problem? Please describe.
With #574 we have a working profanity filter for the frontend site. To prevent folks from submitting their own HTTP requests to our API via the firefox devconsole or network tools to bypass client side validation, we need to filter profanity on the backend site too.
Describe the solution you'd like
No solution, but more like questions to discuss:
-
- Do multilingual profanity lists exist anywhere in the Mozilla universe?
-
- Do we want to curate those lists ourselves or use a third party package?
-
- Is word matching enough? Or do we need/want some kind of sentiment analysis?
-
- Automatic profanity filtering is never accurate. How do we deal with false positives or true negatives? Do we need some kind of "Report"-button for users to tell us about inappropriate content?
Additional context
Maybe we could use something like this:
https://pypi.org/project/profanity-check/
It uses a Bag-of-words model to vectorize input strings before feeding them to a linear classifier.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or backend entry points are named. Start by reading this issue's discussion and issue #574, then trace how public input reaches the backend and how support notifications are handled; done requires an agreed detection scope and a verified support alert path without blocking valid submissions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100