Wikipedia:Edit filter

The edit filter or abuse filter is a tool that allows editors in the edit filter manager group to set controls, mainly to address common patterns of harmful editing. The current filters can be found at Special:AbuseFilter. A filter automatically compares every edit made to Wikipedia against a defined set of conditions. If an edit matches the conditions of a filter, that filter will respond by logging the edit. It may also tag the edit summary, warn the editors, revoke their autoconfirmed status, and/or disallow the edit entirely.

The AbuseFilter extension was enabled on the English Wikipedia in 2009. The term "edit filter" rather than "abuse filter" is currently used for user-facing elements of the filter, as some edits it flags are not harmful; the terms are otherwise synonymous.

Because even the smallest mistake in editing a filter can significantly disrupt the encyclopedia, only editors who have the required good judgment and technical proficiency are permitted to configure filters. This page does not discuss technical issues concerning the feature; technical information relating to the operation of the edit filter can be found at Extension:AbuseFilter.

There are currently Special:ListUsers/abusefilter edit filter managers and Special:ListUsers/abusefilter-helper edit filter helpers.

Basics of usage
Edit filters are mainly used to identify and mitigate harmful edits by comparing edits with filtering criteria that address patterns of harmful editing. Filters are created and configured by edit filter managers, but they can be requested by any editor.

When an edit that is being saved "triggers" an active filter, the effect depends on a setting associated with that particular filter:
 * The strongest setting is disallow. In this case, the edit is rejected, and the user will see a customizable message (this one by default). A link is provided for reporting false positives. It is also possible to have a user's autoconfirmed status revoked if a user trips the filter.
 * The next highest setting is to warn. In this case, the user will see a customisable message (this one by default) that the edit may be problematic. The user then has the option to either proceed with the save, or abandon the edit.
 * The next highest setting is to add a tag. In this case, the edit is tagged for review by patrollers.
 * The lowest setting is to log the edit. In this case, the edit is merely added to the abuse log. When testing new filters, this is the suggested setting to use.

Recommended uses
Except in urgent situations, new edit filters should generally be tested without any actions specified (simply enabled) until a good number of edits have been logged and checked before being implemented in "warn" or "disallow" modes. If the filter is receiving more than a very small percentage of false positives, it should usually not be placed in "disallow" mode. If a filter is designed to catch good faith edits, it should not be placed in "disallow" mode without an appropriate consensus.

Edit filter managers should be familiar with alternatives that might be more appropriate in a given situation. For example, problems on a single page might be better served with page protection, and problems with page titles or link spam may find the title blacklist and spam blacklist more effective, respectively. Because edit filters check every edit in some way, filters that are tripped only rarely are discouraged.

Edit filters should only be set to "disallow" to prevent edits that good-faith editors would substantially agree are undesirable, or where a clear consensus has been reached that a specific type of edit should not be allowed. Any doubts regarding setting a filter to "disallow" should be discussed with other edit filter managers.

Except in urgent situations, new edit filters must not be set to "disallow" without thorough testing and a notice at the noticeboard to give other edit filter managers and the community time to review the filter for technical accuracy and necessity. In urgent situations, the notice may be made after-the-fact. Prior to and during the review of an edit filter which is set to "disallow" due to an emergency, the editor placing the edit filter is responsible for seeing that the logs are regularly monitored and false positives are minimized. Editors should avoid altering filters in modes other than log-only without some form of testing.

User right
Only members of the edit filter manager group are allowed to modify filters, though edit filter helpers and administrators can view private filters. Edit filter managers also have the ability to edit tags. This group is assignable by administrators, who may also assign the right to themselves.

The assignment of the edit filter manager user right to non-admins is highly restricted. It should only be requested by and given to highly trusted users, when there is a clear and demonstrated need for it. Demonstrated ability that one can and will use it safely is absolutely critical. This is because widespread disruption of the entire encyclopedia can easily occur&mdash;even unintentionally&mdash;with the smallest of mistakes in changing edit filters. Therefore, demonstrated knowledge of the extension's syntax and an understanding and crafting regular expressions is absolutely essential. Editors who are not edit filter managers should consider helping out at requested edit filters and troubleshooting at false positives to help gain experience and demonstrate these skills.

Requests for assignment of the group to non-admins can be made at the edit filter noticeboard, where a discussion will be held before a decision is made; discussions are normally held open for 7 days. Such requests must be initiated by the user requesting the right. In addition, a small number of WMF staff have the right, which they may request from the Trust and Safety group, following WMF procedures.

If an edit filter manager is misusing the user right, the concern should first be raised with them directly. If discussion does not resolve the issue, a request for discussion or removal of the user right may be made at the edit filter noticeboard.

Have a strong password
If you have the edit filter manager user right, please ensure you follow the password strength requirements and appropriate personal security practices. Two-factor authentication enrollment is available for edit filter managers. Because edit filters affect every edit made, a compromised account will be blocked and its privileges removed on grounds of site security. In the event that your account is compromised, notify an administrator or bureaucrat (for administrators) immediately so they can block your account and remove any sensitive privileges to prevent damage.

Requesting edit filters
Edit filters can be requested at the requests page. Edit filter managers monitor this page and implement edit filters when a good case is made. If there is a disagreement, try to build a consensus. The desirability of an edit filter may also emerge from discussions elsewhere on Wikipedia or through communication on the mailing list.

If it would not be desirable to discuss the need for a given edit filter on-wiki, such as where the purpose of the filter is to combat harassment by an abusive banned user who is likely to come across the details of the request, edit filter managers can be emailed directly or on the wikipedia-en-editfilters mailing list at wikipedia-en-editfilters@lists.wikimedia.org.

If an editor (who need not be an edit filter manager) believes that an existing edit filter is unnecessary, is preventing good edits, or is otherwise problematic, they should raise their concerns on the edit filter noticeboard or directly with the edit filter manager who created or enabled the filter for further discussion.

Private filters
While edit filter settings and logs are by default publicly viewable, some are set to be private. For all filters, including those hidden from public view, a brief description of what the rule targets is displayed in the log, the list of active filters, and in any error messages generated by the filter. Edit filter managers should take care not to discuss the specifics of hidden filters publicly.

Filters should only be hidden where necessary, such as in long-term abuse cases where the targeted user(s) could review a public filter and use that knowledge to circumvent it. Filters should not generally be named after abusive editors, but rather with a simple description of the type of abuse, provided not too much information is given away.

Edit filter managers may share the contents of private edit filters with non-administrators on the basis of their good judgment. Be careful not to test sensitive parts of private filters in a public test filter (such as ): use a private test filter (for example, ) if testing is required. Similarly, be careful not to post sensitive parts of private filters on talk pages or persistent pages of external sites.

Sensitive issues concerning private filters may be raised by emailing filter managers or by contacting them via the wikipedia-en-editfilters mailing list at wikipedia-en-editfilters@lists.wikimedia.org.

Mailing list
The mailing list wikipedia-en-editfilters is a private list in which only administrators, edit filter managers, and edit filter helpers are subscribers. The list's primary function is for discussion of private filters, both between edit filter managers and with non-admins, who can email the list at wikipedia-en-editfilters@lists.wikimedia.org. The mailing list should not be used as a venue for discussions that could reasonably be held on-wiki.

Tools and resources
A watchable page of recent changes to public filters is generated at User:MusikBot/FilterMonitor/Recent changes, which will show up even if your watchlist is set to hide bot edits. There is also a formatted template recent filter changes that shows this same data.

Edit filters sometimes make use of relatively large (though not usually complex) regular expressions (regexes). External tools such as Regex101 can be useful for testing these. Because regexes are extremely fragile and almost any typo in one will cause it to malfunction, use of such a tool is recommended. Use of the test interface when creating or editing filters is also recommended.

There are some userscripts which aid in filter development and testing:
 * User:Suffusion of Yellow/batchtest-plus.js - tools to test filter code against past hits, and do a quick check for false positives/negatives before saving a filter
 * User:Suffusion of Yellow/filterDiff.js - adds a "Show changes" button to AbuseFilter pages
 * User:Suffusion of Yellow/effp-helper.js - helps respond to Edit Filter - False Positives reports
 * User:Enterprisey/abusefilter-diff-check - checking if a diff triggered any filters
 * User:Ingenuity/AbuseFilterContribs.js - shows edits disallowed by an abuse filter in contributions pages