Egenverk Docs Viewer · Documentation
Data and privacy
Nothing leaves your site
Docs Viewer makes no requests to external services. It sends no data anywhere, loads no remote scripts, styles or fonts, and has no tracking. Everything it shows is read from files already on your server.
One exception lies outside the plugin: if a document you open contains an image with a remote address, your browser loads that image the same way it would on any web page.
What is stored
The documents themselves are not stored in the database. They are read from disk when you open or search them. Docs Viewer stores the following in the wp_options table:
| Option | Contents | How long |
|---|---|---|
egenverk_dv_plugins | The index: for each plugin, theme and must-use plugin its name, version and list of documentation files | Replaced on every scan |
egenverk_dv_settings | The Plugins-screen link setting, per plugin | Until you change the setting |
egenverk_dv_scanned_at | Time of the last scan | Overwritten by the next scan |
egenverk_dv_updates | Plugins that were updated and whose changes nobody has opened yet: the version before, the version after and when | Removed when an administrator opens the changes, after 30 days, or when the plugin is deleted or downgraded |
egenverk_dv_migrated | A flag that settings from earlier versions have been moved over | Stays |
On multisite each site has its own options, and there is also the network option egenverk_dv_plugins_changed_at, a timestamp of the last plugin change, so that each site knows when to rescan.
Docs Viewer stores nothing about individual users, writes no user meta and sets no cookies.
Who can read
By default only users with the manage_options capability, which means administrators. The egenverk_dv_capability filter lets you give read access to another capability. Anyone with that capability can read and search every scanned document of every plugin and theme, so only give it to roles you trust with that. See Reference.
How files are protected
A file is only read if it passes three checks:
- It is in the list from the last scan.
- It has an allowed file extension.
- Its real path is inside that plugin's, theme's or must-use plugin's own folder.
Nothing outside those folders can be opened. Scanning and the link setting require manage_options and are protected by nonces. Everything shown is escaped and filtered through wp_kses_post().
Removing data
Docs Viewer has no uninstall routine. When you deactivate and delete the plugin from the Plugins screen, the options above stay in the database. Delete them with WP-CLI:
wp option delete egenverk_dv_plugins
wp option delete egenverk_dv_settings
wp option delete egenverk_dv_scanned_at
wp option delete egenverk_dv_updates
wp option delete egenverk_dv_migrated
On multisite, run the commands above for each site, with --url= followed by the site's address, and then delete the network option:
wp site option delete egenverk_dv_plugins_changed_at