User story: As an administrator, I want to delete all pages created by an individual using a single IP address who used multiple temporary accounts, so that I can easily remove bad pages from my Wikimedia project.
Background
T340631: Does Nuke need substantial feature changes to retain current functionality with IP Masking?
When a temporary account is created for a user, a cookie with a 90 day expiration is created, during which time their contributions will be associated with this temporary account. Clearing the cookie will give the user a new temporary account on their next edit, even when they continue editing from the same IP address. Changing IP address will not change the user's temporary account. As such, a temporary account can be associated with multiple IP addresses over its lifespan (T325456).
Nuke is an extension which enables administrators to delete all pages created by a specific user or IP address and/or matching a particular page name pattern. This is used when a user - often a vandal - has created a large number of pages which need to be deleted, saving administrators time compared to deleting them individually. Per T341564, 33% of Nuke deletions target an unregistered user. On many wikis this is as high as 40-50%.
With the introduction of temporary accounts and their per-user cookies, Nuke will actually be more effective against users who do not delete their cookies, as simply changing IP address will not move the user to a new 'account'. However, it also opens up a new attack vector for bad actors on our wikis. Preventing/deleting cookies is considerably easier for most users than cycling IP addresses, especially on a regular cadence or after each edit. It takes a very short amount of time to add Wikipedia to your browser's cookie-blocking list, at which point every edit will come from a new temporary account.
As such, we want to ensure that if a user disables cookies from Wikipedia, or clears them on a regular basis, and they vandalise a project by creating a large number of new pages, Nuke is still able to delete those pages. This will not be effective if the user also cycles their IP address, but this is already true.
Since administrators will need to opt-in to view the IP addresses associated with a temporary account, we should not allow them to use Nuke on an IP address until they have opted-in. This will only cause legacy-IP issues for ~30 days after temporary accounts are deployed, since IP page creations will no longer be in the recentchanges table after then.
Mockups
Current
New
Per T355178, Nuke should display a message to users who attempt to run Nuke on an IP address but have not opted-in to the Temporary Account preference. This message should be available to other tools to use also:
You do not have permission to take this action on IP addresses. To enable this action please opt-in to the 'Temporary account IP reveal' setting in your preferences.
preferences should link to Special:Preferences.
Technical approach
We will use the API created in T354542: Create new Rest API endpoint that takes an IP address and returns temporary accounts that have used that address to do the lookup, provided the user has the relevant permission.
Acceptance criteria
When Temporary Accounts is enabled on a project ...
- Entering a temporary account name into Special:Nuke should fetch pages created by all temporary accounts used by that IP address.
[] Pages should be listed without explicitly linking them to an IP address or temporary account. (per T342785#10241270 it is OK to display the temporary account name next to the page)
- In this case the default edit summary should be "Mass deletion of pages added by temporary accounts."
- The default nuke-tools message should be changed to "This tool allows for mass deletions of pages recently added by a given user or temporary account. Input a username or IP address to get a list of pages to delete, or leave blank for all users. Inputting an IP address will list all pages created by temporary accounts used from that IP address."
- Where we currently show the nuke-list message, when a temporary account has been filtered on we should instead show a new message: "The following pages were recently created by temporary accounts which were used from the IP address $1. Please select which pages to delete, provide an edit summary, and click 'Delete selected' to initiate page deletion. For privacy reasons, please do not write the IP address in the edit summary.\n\nRedirects are displayed in italics."






