Users

One user write, and it is the one you would audit.

The roster, and a single write: replacing a user’s roles with one role the site has actually registered. Role changes ask for promote_users and are declared high risk, because this is the operation that can change who else may act.

Anyone running an agent on a multi-author site who wants the roster visible without exposing the rest of the user table.

2 jobs

What people actually ask for.

Each of these is carried by named operations that exist in the release you can download today. The ids under every answer are the calls involved — nothing here is a plan.

“Who has access to this site?”

The roster comes back with the site’s own registered role slugs on every call. No password hash, reset key or session token is reported.

  • user-list needs list_users

“Make the new writer a contributor, not an editor.”

Any slug the site has not registered is refused. There is no path to inventing a role.

  • user-role-set needs promote_users
The shape of it

2 operations, 1 of them reads.

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.

Every operation, with its policy

Reads

1 operations that only report. A read still asks WordPress for a capability against the object.

Writes

1 that change something — each one previewed as a diff, snapshotted, verified by reading the site back, and reversible from wp-admin.

Tier

Free, permanently. Nothing in this area moves into a paid tier later.

The limit

What it will not do here.

There is no create, no delete, no email change and no password reset. Two operations exist here, and one of them is a read.

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.

Next

Try it, or read further.

Get the free plugin How a write is guarded