**Project Information **
* Name of tool/project: IP info (current working name)
* Project home page: [[ https://meta.wikimedia.org/wiki/IP_Editing:_Privacy_Enhancement_and_Abuse_Mitigation/IP_Info_feature | Page on meta ]]
* Name of team requesting review: #anti-harassment
* Primary contact: @Tchanders
* Target date for deployment: January - March 2021
* Link to code repository / patchset: TBC
**Description of the tool/project: **
A new extension for providing information about an IP address without (1) the need for the user to use an external service themselves and (2) exposing the IP address itself to the user. (Actually hiding the IP addresses is beyond the scope of this project.) This provides the user with information they could have retrieved from knowing the IP address. This information could be displayed in various ways (popup on hover/click, special page, etc.). Initially, this information would only be displayed on a select few pages (or as a beta feature to a select group of users).
Based on our investigation in T259726, the data our users are looking for is not accessible from freely licensed datasets. Therefore, we will be looking to purchase a license to a proprietary dataset or datasets (or using one we've already purchased).
We plan on building an API endpoint T260603 that takes an edit id or log id and returns data about the IP addresses used for that action, if that action was performed by an anonymous user. We will initially assume that our API endpoint needs to query the external service(s) each time a user asks for the data. We expect it to perform queries via a proxy, e.g. `$wmfLocalServices['urldownloader']`.
How our API endpoint could get thatthe data would depend on the terms of the licences with the external services, so we are initially going to make minimal assumptions about what the licenses will allow. For example, we'll assume that the licences don't let us store data in our own table that users can query about any IP (our existing license with MaxMind doesn't allow us to do this, according to @aezell). We will initially assume that our API endpoint needs to queryDepending on the external service(s) each time a user asks for the data.licenses, We expect itwe may in future be able to perform queries via a proxy,explore options that involve storing data about the IP addresses; e.g.however, `$wmfLocalServices['urldownloader']`storing this PII could introduce privacy concerns.
**Description of how the tool will be used at WMF:**
We expect the feature to be deployed to all wikis, and be available on certain pages that show IP addresses, e.g. Special:RecentChanges. (@Niharika do we know which pages?)
We expect the feature to be available only to CheckUsers initially, and later to other trusted user groups. (@Niharika Do we know which user groups?)
**Dependencies**
* Third party IP information services, e.g. some of those mentioned in T259726 (including figuring out licences for these - @aezell how is this going?)
* Proxy server for routing requests to third parties
* OOUI for UI components
**Has this project been reviewed before?**
No, but we are also requesting a performance review - T260821
**Working test environment**
Not available yet - we'll initially make the feature available on beta.
**Post-deployment**
#anti-harassment will be responsible for this post-deployment:
* Engineers: @Tchanders @dbarratt
* Engineering manager: @aezell
* Product manager: @Niharika