Module — 2 operations

Users

The roster, and one write: replacing a user’s roles with a single role the site has actually registered.

Nothing extra to install. This module runs on core WordPress alone.

Cue 2 — first light

Before you call anything here

Note 1

No password hash, password-reset key or session token is reported. They sit on the same database row as the display name and are not reachable through either operation.

Note 2

user-list answers with the site’s own registered role slugs on every call, and user-role-set refuses any slug that is not among them.

Note 3

Role changes ask for promote_users and are declared high risk. This is the one operation that can change who else may act.

Reads — 1

What it can tell you

A read still asks WordPress for a capability against the object. There is no anonymous read anywhere in the surface.

user-list

system-read

Lists user accounts by role or search term, newest registration first, with the role slugs this site has registered

needs list_users

Read
Writes — 1

What it can change

Every one of these is previewed before it runs, snapshotted before it changes anything, and verified afterwards by reading the site back. The chips are the policies the operation itself declares.

user-role-set

content-write

Replaces one user's roles with a single registered role

needs promote_users

high risk rollback supported
Cue 5 — day

Keep reading