# Background
**Product overview document:** https://docs.google.com/document/d/1rUzRNBGKi7Vi9RS4vVXaNyNUzqc99-xvkTbmsz0FkC8/edit
----
//If we enable communities to automatically prevent or revert obvious vandalism, moderators will have more time to spend on other activities.//
----
## Goals
- Reduce moderation backlogs by preventing bad edits from entering patroller queues.
- Give moderators confidence that automoderation is reliable and is not producing significant false positives.
- Ensure that editors caught in a false positive have clear avenues to flag the error / have their edit reinstated.
Further user stories are documented [[ https://docs.google.com/document/d/1rUzRNBGKi7Vi9RS4vVXaNyNUzqc99-xvkTbmsz0FkC8/edit#heading=h.mktmvkdvaa0n | here ]].
## Helpful links
- [[ https://wikitech.wikimedia.org/wiki/Machine_Learning/LiftWing | LiftWing ]] ([[ https://wikitech.wikimedia.org/wiki/Machine_Learning/LiftWing/Usage | Usage ]])
- Models: [[ https://meta.wikimedia.org/wiki/Machine_learning_models/Proposed/Multilingual_revert_risk | Multilingual ]] / [[ https://meta.wikimedia.org/wiki/Machine_learning_models/Proposed/Language-agnostic_revert_risk | Language-agnostic ]]
## Anti-vandalism bots
| Bot | Code repository
| ClueBot NG | https://github.com/cluebotng
| SeroBOT | https://github.com/dennistobar/serobot
| ChenzwBot | https://gitlab.com/antivandalbot-ng
| Рейму Хакурей | https://github.com/Saisengen/wikibots/blob/main/other-bots/vand-rollbacker-DB.cs
# Investigation
We want to investigate the technical approach we might take for Automoderator at a high level, answering questions such as:
- Should this be a MediaWiki extension, or some kind of Cloud-hosted tool?
- How should we approach community configuration? Will we aim to use the Growth team's Community Configuration toolset?
- Are we likely to have any technical requests for the Machine Learning platform team for our use of LiftWing?
- As a tool which will be actively editing Wikimedia projects, are there any development principles we can set to ensure that we minimise the introduction of breaking changes as we iterate on it?
Engineers should feel free to tackle any other high-level questions they might have about our approach beyond the above.