Title: Destino Access Audit
Author: destinoexterior
Published: <strong>July 24, 2026</strong>
Last modified: July 24, 2026

---

Search plugins

![](https://ps.w.org/destino-access-audit/assets/icon.svg?rev=3621331)

# Destino Access Audit

 By [destinoexterior](https://profiles.wordpress.org/destinoexterior/)

[Download](https://downloads.wordpress.org/plugin/destino-access-audit.1.4.0.zip)

 * [Details](https://wordpress.org/plugins/destino-access-audit/#description)
 * [Reviews](https://wordpress.org/plugins/destino-access-audit/#reviews)
 *  [Installation](https://wordpress.org/plugins/destino-access-audit/#installation)
 * [Development](https://wordpress.org/plugins/destino-access-audit/#developers)

 [Support](https://wordpress.org/support/plugin/destino-access-audit/)

## Description

Destino Access Audit adds a single admin page (**Tools  Destino Access Audit**) 
that centralizes the answer to one question: _who, and what, currently has access
to this site?_

The page is read-only audit information except for one deliberate action — revoking
an Application Password — which delegates entirely to WordPress core’s own API. 
Destino Access Audit never creates, modifies, or stores any remote-management connection
itself.

**What it shows**

 * **Application Passwords** — every active Application Password on the site (all
   users), with creation date, last used date, last IP, and a one-click **Revoke**
   button (AJAX, no page reload) plus a **CSV export**.
 * **Administrator Users** — a plain list of every user with the `administrator`
   role, with a direct link to edit each one. Useful for spotting an admin account
   you don’t recognize.
 * **UpdraftPlus / UpdraftCentral** — whether UpdraftPlus is installed/active, a
   direct link to its settings screen, whether it is connected to an UpdraftCentral
   dashboard (including _which_ WordPress user made that connection), and whether
   UpdraftPlus’s own password-protected “Lock Settings” feature is currently hiding
   that screen.
 * **MainWP Child** — whether MainWP Child is installed/active, a direct link to
   its settings screen, whether it is paired with a MainWP Dashboard, and _which_
   WordPress user established that pairing.
 * **ManageWP Worker** — installed/active status. ManageWP Worker pairs with its
   dashboard through an OpenSSL key exchange with no locally readable “connected”
   flag, so this block documents that limitation instead of guessing.
 * **InfiniteWP Client** — installed/active status, with the same honest limitation
   note as ManageWP Worker.

**Security notes**

 * Every write action (revoking a key) is protected by a nonce, a `manage_options`
   capability check, and a second capability check (`edit_user`) specific to the
   user who owns the key.
 * The CSV export is generated server-side and neutralizes fields that could be 
   interpreted as spreadsheet formulas (CSV/Excel formula injection).
 * The dashboard itself requires the `manage_options` capability to view.

## Installation

 1. Upload the `destino-access-audit` folder to `/wp-content/plugins/`, or install 
    the plugin zip through **Plugins  Add New  Upload Plugin**.
 2. Activate the plugin through the **Plugins** menu in WordPress.
 3. Go to **Tools  Destino Access Audit**, or use the **Settings** link on the plugin’s
    row on the Plugins page.

## FAQ

### Does this plugin modify or create any remote connections?

No. It is read-only with respect to UpdraftCentral, MainWP, ManageWP, and InfiniteWP.
The only write action anywhere in the plugin is revoking an Application Password,
which calls WordPress core’s own `WP_Application_Passwords::delete_application_password()`.

### Why don’t ManageWP Worker and InfiniteWP Client show a “Connected” status?

Both plugins pair with their remote dashboard using an OpenSSL key exchange rather
than a locally readable option or user meta. There is no reliable local signal to
read, so instead of guessing (and risking a false positive or negative in a security
tool) Destino Access Audit shows an honest “Not determinable” badge and points you
to the plugin’s own connection-management screen.

### Does the plugin store any data of its own?

No. It has no settings, no database tables, and no options. It only reads data already
stored by WordPress core and by the other plugins it reports on.

### Does deactivating or deleting Destino Access Audit affect Application Passwords or any remote connection?

No. Destino Access Audit never owns that data; it only displays it.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Destino Access Audit” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ destinoexterior ](https://profiles.wordpress.org/destinoexterior/)

“Destino Access Audit” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/destino-access-audit/contributors)
for their contributions.

[Translate “Destino Access Audit” into your language.](https://translate.wordpress.org/projects/wp-plugins/destino-access-audit)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/destino-access-audit/),
check out the [SVN repository](https://plugins.svn.wordpress.org/destino-access-audit/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/destino-access-audit/)
by [RSS](https://plugins.trac.wordpress.org/log/destino-access-audit/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.4.0

 * Renamed the plugin from “WhoHasAccess” to “Destino Access Audit” at the request
   of the WordPress.org Plugin Review Team, who flagged “WhoHasAccess” as a likely
   existing project/trademark name. No public version was ever released under the
   old name.
 * Moved the admin page from its own top-level menu item into Tools  Destino Access
   Audit, so it stops competing for space in the main admin menu.
 * Added a “Settings” link to the plugin’s row on the Plugins page, next to Deactivate.
 * MainWP Child: added a direct link to its settings screen.
 * UpdraftPlus: added a direct link to its settings screen, plus a badge reporting
   whether UpdraftPlus’s own “Lock Settings” feature (Advanced Tools tab) is currently
   hiding that screen behind a password, with instructions on how to review or remove
   that lock. Destino Access Audit only reports this status — it never reads, writes,
   or removes the lock itself.
 * Fixed all findings from the official Plugin Check tool: escaping false-positives,
   the discouraged `load_plugin_textdomain()` warning, and a short description over
   the 150-character limit.
 * Removed the bundled `languages/` folder and the `load_plugin_textdomain()` call:
   WordPress.org plugins must not ship their own `.po`/`.mo` files, since translate.
   wordpress.org generates and serves them automatically once the text domain matches
   the plugin slug.
 * Replaced the escaping-related `phpcs:ignore` comments with an actual fix (wrapping
   the affected output in `wp_kses_post()`), following a second Plugin Review pass.

#### 1.3.0

 * MainWP Child: now shows which WordPress user established the connection to the
   MainWP Dashboard (read from the `mainwp_child_connected_admin` option), with 
   a link to that user’s profile — mirroring what the UpdraftCentral block already
   did.
 * New “Administrator Users” section: a separate list of every user with the `administrator`
   role on the site, with a direct edit link for each.
 * Moved the bundled translations into the `languages/` folder, matching the `Domain
   Path` header (they were previously left in the plugin root, where local/non-WordPress.
   org installs could not load them).
 * Added this readme.txt.

#### 1.2.0

 * Renamed the plugin from “Who Control” to “WhoHasAccess” (class, text domain, 
   menu slug, asset handles, nonce/AJAX action names, and CSS classes all updated
   to match).
 * Translated all code and user-facing strings to English, in preparation for the
   WordPress.org plugin directory.
 * Added a `languages/` folder with a `whohasaccess.pot` template and a Spanish (
   es_ES) translation.

#### 1.1.0

 * AJAX revoke for Application Passwords, without leaving the page.
 * New read-only blocks for ManageWP Worker and InfiniteWP Client.
 * CSV export (UTF-8 with BOM) of the Application Passwords table.
 * Hardening: nonces on every write/delete action, sanitization of `$_POST`/`$_GET`,
   an extra per-user capability check before revoking.

#### 1.0.0

 * Initial version: Application Passwords (read-only), UpdraftPlus/UpdraftCentral,
   MainWP Child.

## Meta

 *  Version **1.4.0**
 *  Last updated **1 day ago**
 *  Active installations **20+**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/destino-access-audit/) and [Spanish (Spain)](https://es.wordpress.org/plugins/destino-access-audit/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/destino-access-audit)
 * Tags
 * [application-passwords](https://wordpress.org/plugins/tags/application-passwords/)
   [audit](https://wordpress.org/plugins/tags/audit/)[MainWP](https://wordpress.org/plugins/tags/mainwp/)
   [security](https://wordpress.org/plugins/tags/security/)[updraftplus](https://wordpress.org/plugins/tags/updraftplus/)
 *  [Advanced View](https://wordpress.org/plugins/destino-access-audit/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/destino-access-audit/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/destino-access-audit/reviews/)

## Contributors

 *   [ destinoexterior ](https://profiles.wordpress.org/destinoexterior/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/destino-access-audit/)