[DO NOT MERGE] 575 readonly user perms

@pld here you go
I'm OK with this being import `:as p` so that perms here does not conflict with the perms local variable, e.g. on line 392