Page MenuHomePhabricator

Design the workflow to prevent access to IP Reveal for specified users
Closed, InvalidPublic

Description

Motivation

Any user who has had their IP Reveal permission revoked for reasons of abuse:

  • Should not be able to opt in to the preference to view IPs again
  • Should not be auto-promoted to any groups that give them the right(s) to reveal IPs

We want to add a mechanism for doing the above.

@Dreamy_Jazz and @Urbanecm recommended we use partial blocks (at global and local levels) for implementing this.

See slack thread for details. (Sorry the link is private to WMF staff only)

Event Timeline

Should not be auto-promoted to any groups that give them the right(s) to reveal IPs

Alternatively we can have a global equivalent of $wgRevokePermissions (such feature does not yet exist), so even if users are in such groups, they can not use their reveal right. See also T337189: Add ability to centrally revoke IP reveal permissions from users who do not need them for safety reasons

Should not be auto-promoted to any groups that give them the right(s) to reveal IPs

Alternatively we can have a global equivalent of $wgRevokePermissions (such feature does not yet exist), so even if users are in such groups, they can not use their reveal right. See also T337189: Add ability to centrally revoke IP reveal permissions from users who do not need them for safety reasons

Ping @Dreamy_Jazz @Urbanecm for their thoughts.

Should not be auto-promoted to any groups that give them the right(s) to reveal IPs

Alternatively we can have a global equivalent of $wgRevokePermissions (such feature does not yet exist), so even if users are in such groups, they can not use their reveal right. See also T337189: Add ability to centrally revoke IP reveal permissions from users who do not need them for safety reasons

Let's not do that, please. Checking a new checkbox at Special:Userrights is (almost exclusively) used for granting new rights, the only exception being IP Info. Normally, we use Special:Block (or Special:GlobalBlock) for access revocation (or Special:UserRights, if we want to demote an user). I think we should keep those workflows, rather than introducing new ones.

Should not be auto-promoted to any groups that give them the right(s) to reveal IPs

Alternatively we can have a global equivalent of $wgRevokePermissions (such feature does not yet exist), so even if users are in such groups, they can not use their reveal right. See also T337189: Add ability to centrally revoke IP reveal permissions from users who do not need them for safety reasons

Let's not do that, please. Checking a new checkbox at Special:Userrights is (almost exclusively) used for granting new rights, the only exception being IP Info. Normally, we use Special:Block (or Special:GlobalBlock) for access revocation (or Special:UserRights, if we want to demote an user). I think we should keep those workflows, rather than introducing new ones.

+1 to this comment. We have received feedback from stewards that using a group to revoke rights is confusing. I'd rather extend the GlobalBlocking tools to support partial action blocks, such that stewards can globally partially block a user from the tool. This has been seen as much less confusing from a user point of view.

Should not be auto-promoted to any groups that give them the right(s) to reveal IPs

Alternatively we can have a global equivalent of $wgRevokePermissions (such feature does not yet exist), so even if users are in such groups, they can not use their reveal right. See also T337189: Add ability to centrally revoke IP reveal permissions from users who do not need them for safety reasons

Let's not do that, please. Checking a new checkbox at Special:Userrights is (almost exclusively) used for granting new rights, the only exception being IP Info. Normally, we use Special:Block (or Special:GlobalBlock) for access revocation (or Special:UserRights, if we want to demote an user). I think we should keep those workflows, rather than introducing new ones.

+1 to this comment. We have received feedback from stewards that using a group to revoke rights is confusing. I'd rather extend the GlobalBlocking tools to support partial action blocks, such that stewards can globally partially block a user from the tool. This has been seen as much less confusing from a user point of view.

And we can also replace the no-ipinfo group too. Also,

Niharika changed the task status from Open to Stalled.Nov 25 2024, 2:51 PM

Stalled pending discussions with Stewards, which @Niharika will lead.

Niharika changed the task status from Stalled to Open.Dec 4 2024, 4:41 AM
Niharika added a subscriber: KColeman-WMF.

I haven't heard any objections to using partial blocks for implementing this workflow from stewards over Discord. I think this can go into the design phase now. CC @KColeman-WMF

I haven't heard any objections to using partial blocks for implementing this workflow from stewards over Discord. I think this can go into the design phase now. CC @KColeman-WMF

We can add an additional checkbox that says "Revealing an IP address" to Partial block radio button checkboxes.

image.png (389×964 px, 45 KB)

@Dreamy_Jazz I can't see Global Block page so not sure where the checkbox would appear on that page. Happy for you to add it where you feel it makes most sense!

Could we scope this to local blocks, rather than adding a global block?

It becomes quite a big project if we need to make GlobalBlocking handle partial blocks. If we do need to do this, it would be more feasible to do it in time for rollout to all wikis than for major pilots.

Could we scope this to local blocks, rather than adding a global block?

It becomes quite a big project if we need to make GlobalBlocking handle partial blocks. If we do need to do this, it would be more feasible to do it in time for rollout to all wikis than for major pilots.

I do agree that this would be a project that would take a fair amount of time. However, I would note that it would make it difficult for stewards to revoke access for all wikis if we only implement it for a local block.

@Urbanecm and I talked through this one. Based on our conversation it makes sense to make global revocation a blocker to major pilots deployment.

Here's our thinking behind this decision: Without this feature, it would be very hard for stewards to handle cases of global abuse of IP Reveal access. A user may be active on several wikis (we saw the example of @Urbanecm's account which holds 300+ edits on 24 wikis). Without global revocation, a wiki-by-wiki revocation would need to be carried out. This could mean bringing the decision to the admins on some wikis which may even be rejected. Stewards will not be able to force-revoke access even if it is needed. This poses a risk of LTAs being free to abuse IP address access. An alternate stewards could resort to is to globally block the user, which is a much stricter measure than IP Reveal access and risks alienating users who have a chance at redemption.

I haven't heard any objections to using partial blocks for implementing this workflow from stewards over Discord. I think this can go into the design phase now. CC @KColeman-WMF

We can add an additional checkbox that says "Revealing an IP address" to Partial block radio button checkboxes.

image.png (389×964 px, 45 KB)

@Dreamy_Jazz I can't see Global Block page so not sure where the checkbox would appear on that page. Happy for you to add it where you feel it makes most sense!

The GlobalBlock page looks like this, with no mention of partial blocks since they're not currently possible globally:

image.png (669×1 px, 67 KB)
image.png (806×1 px, 84 KB)

We could probably benefit from some help about how to display a partial block option, and whether to split these options into sections like Special:Block, etc.

Thanks for the additional context @Tchanders! My first thought is that yes, we should mirror Special:Block for consistency, so we would introduce block type (Sitewide or Partial).

KColeman-WMF changed the task status from Open to In Progress.Dec 6 2024, 4:59 PM
KColeman-WMF claimed this task.
KColeman-WMF changed the task status from In Progress to Stalled.Dec 11 2024, 11:42 PM

This is stalled on having further discussion around product specs.

This is not needed any more, since we are dropping auto-promotion.