Module — 2 operations
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.
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.
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.
Role changes ask for promote_users and are declared high risk. This is the one operation that can change who else may act.
A read still asks WordPress for a capability against the object. There is no anonymous read anywhere in the surface.
system-read
Lists user accounts by role or search term, newest registration first, with the role slugs this site has registered
needs list_users
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.
content-write
Replaces one user's roles with a single registered role
needs promote_users
Thirteen fields, allowlisted: title, tagline, timezone, date and time formats, posts per page, front-page geometry, permalinks, default discussion settings, and search-engine visibility.
2 opsThe index, free and Pro.
indexWhat happens between the call and the change, on every write on this page.
reference