REVIEW THE SOFTWARE CHANGE AND THE AUTHORITY BEHIND IT
Plugin Security & Approvals
SiteWatch Plugin Review is a separate workflow for WordPress plugin changes: it inspects plugin packages before supported installation, update and activation operations, and binds each approval to designated approvers, verified sessions and the exact reviewed package.
Approval Authority
Verify the decision maker, not just the WordPress role.
Designate SiteWatch security approvers explicitly in Plugin Review → Accounts & Permissions → Security decision authority. The first designation uses the current WordPress password and a fresh code from an enrolled Authenticator; changing approvers, the approval policy, trusted sources or imported references always asks for a fresh code again.
Until an approver is designated, plugin installations and updates made from WordPress accounts wait in Pending Reviews, because no account can yet grant the permission they need. From SiteWatch 2.0.1, SiteWatch opens on its Security Setup step until an approver exists.
An eligible primary approver can verify the current session. A session that signed in with Authenticator records its own proof; an older session can be verified once with Verify this session. That verified session supports routine eligible package work without asking for a fresh code for every ordinary operation, including clean commercial ZIPs that have no public reference; uncertain packages still require deliberate review.
Other eligible administrators can request scoped, revocable permission for up to 24 hours under 24-hour plugin permissions. The grant remains bound to its account, network, operation, policy and session context and does not add WordPress capabilities. Expiry or revocation ends that authority.
Software Inventory
Start from the software actually installed.
Review plugin/theme identities, versions and available registry context. Connect relevant package decisions and recorded changes to those installed products.
A name and version are useful identifiers, not independent proof of origin. Commercial or private software missing from a public registry is not proof of malware, and a missing public reference alone does not hold a clean inspected package.
Use the inventory to choose which update or source relationship needs inspection. Plugin Review keeps this work on five screens:
| Screen | What it shows |
|---|---|
| Installed Plugins | Installed versions, recorded package decisions and saved update sources |
| Pending Reviews | Held installations, updates and activations, each with its reasons, approval and Remove request |
| Trusted Sources | WordPress.org publisher relationships, trusted update channels, signed ARN Operations Agent updates and ARN Operations connections |
| Accounts & Permissions | Current session verification, security decision authority and 24-hour plugin permissions |
| Activity History | The latest 100 recorded package and permission events, including removed requests |
Source Review
Keep producer declarations distinct from reviewed evidence.
Review declared producer details and changes in those declarations. Source relationships and trusted references remain distinguishable from the package's own metadata.
A declared updater endpoint is a suggestion for review. It is not automatically trusted because the package announces it.
WordPress.org publisher relationships. On the Trusted Sources screen, a verified security approver can link an installed plugin to a free WordPress.org plugin of the same publisher. SiteWatch reads that plugin's author and contributor profiles from the WordPress.org directory, sending only the directory slug, and keeps the relationship as informational evidence. It does not prove that a premium ZIP is genuine and does not grant install permission; if the directory details change, the relationship asks for review again.
Pre-Install Inspection
Inspect the package before the supported installation proceeds.
Supported WordPress package operations check regular-file structure, identity and bounded file content before copying the package into place.
Unresolved ZIPs can be retained in private temporary storage outside WordPress for up to 48 hours, so an approver can review and install them without a re-upload. Unsupported storage or archive conditions stop that workflow instead of placing review packages in public uploads.
Inspection handles packages of up to 15,000 regular files, 8 MB per file and 96 MB in total within an eight-second budget; a limit that is exceeded is named in the result.
Update & Activation
Check replacements and activation against the reviewed target.
Supported update inspection preserves the current installation when the replacement attempt is rejected. Eligible channel updates still receive inspection and target/content verification.
Supported activation paths check the installed content again. New installations and existing-update activation state follow the documented operation, rather than assuming every approved ZIP should immediately activate.
When an approver approves a held activation, or permits activation while approving an installation, the approval covers the reasons shown for those exact files and the plugin can then be activated. Changed files, a new reason or an approver who no longer holds approval authority start a new review.
Plugin package review covers plugins. Theme installations and activations follow WordPress's own permission and nonce checks; theme files remain in scope for File Integrity and File Changes.
Direct hosting writes and arbitrary custom installers are outside universal interception by these WordPress hooks.
Trusted Comparison
Match the appropriate version reference.
Use available exact-version public references or trusted imported private-package manifests. Fully inspected matching packages can follow the documented verified path.
Missing or incomplete references remain unverified. A baseline of installed files and a trusted original release are different kinds of evidence.
Package Approval
Bind the decision to the attempt that was reviewed.
Review unresolved package attempts in Pending Reviews. Exact-package decisions are content-, target- and operation-bound, with the documented one-use time limit and context checks.
Each held request explains why it needs review:
- the WordPress session still needs Authenticator verification;
- the account needs permission from a designated security approver;
- supported suspicious code patterns were found;
- package files differ from the available same-version reference;
- the download does not match the plugin's trusted update channel;
- installed files differ from the previous package decision.
A changed package cannot inherit the earlier decision simply by keeping its name. Review the new content and operation.
Removing a review request clears the supported pending decision and hides that request; it does not uninstall the plugin or erase retained audit/source information.
Trusted Channels
Review a specific update source, then keep inspection in the path.
Authorize the supported HTTPS endpoint/path for a particular installed plugin through the designated source-review workflow.
Later eligible channel updates still receive bounded structure/content inspection, target verification and installed-file rechecking. Manually uploaded ZIPs remain on the exact-package review route.
Removing the source or its authorized approver stops automatic acceptance. HTTPS channel trust is not a publisher release signature or a guarantee that the package contains no vulnerability.
Signed ARN Operations Agent updates. The ARN Operations Agent can install its own update without a signed-in user. SiteWatch lets that update through only after it verifies the ARN release signature with release keys built into SiteWatch and checks every unpacked file against the signed file list; an older signed version cannot be installed again. The setting "ARN Operations Agent updates signed with the ARN release key" on the Trusted Sources screen is on by default, and only a security approver can change it, with a fresh Authenticator code. ARN Operations plugin updates follow the connection rule below.
ARN Operations connections. From SiteWatch 2.0.1, a plugin update that ARN Operations sends through its Agent without a signed-in user passes only for a connection that a security approver approved in Trusted Sources → ARN Operations connections, with a fresh Authenticator code; the list marks each connection Approved, Not approved or Key changed. SiteWatch verifies the operator's signed command with that connection's key, checks that it names exactly this plugin update and its versions, and still inspects the package. Refused updates are not queued, and ARN Operations shows the reason.
Operation History
Keep the attempt, actor and decision inspectable.
Review retained package operations with available account, time and outcome context on the Activity History screen. Connect a source decision or approval with the actual software target.
A Practical Package Decision
Verify authority, inspect the intended package/source, review unresolved evidence and approve only the matching operation. Confirm installation/activation output afterward and retain the recorded outcome.
Questions About Plugin Security
Does every routine update require another authenticator code?
A properly verified eligible session supports the documented routine path. Uncertain packages still require review, and sensitive authority/source-policy changes retain their stronger safeguards.
Does removing a review request uninstall the plugin?
No. Request removal and software removal are different operations.
Can ARN Operations update plugins on a site with SiteWatch?
Yes, from SiteWatch 2.0.1 with ARN Operations Agent 0.5.4, after a security approver approves the connection. A package with review reasons keeps its current version until an approver updates it on the site, and a connection paired again needs a new approval. The rule does not change how installations, activations, themes and WordPress core are handled.
What happens before a security approver is designated?
Plugin installations and updates made from WordPress accounts wait in Pending Reviews, because no account can grant the permission they need. Designate an approver with the WordPress password and a fresh Authenticator code in Plugin Review → Accounts & Permissions or, from SiteWatch 2.0.1, in the Security Setup step.
Continue the Review
Reviewed against SiteWatch 2.0.1 · Last updated 29 October 2026