Skip to content

How your media stays safe

Moving media between your server and the cloud should never lose a file. OmniOffloader follows these rules everywhere: in the admin screens, the Media Library, background jobs and WP-CLI.

A local file is deleted only after its upload is confirmed

Section titled “A local file is deleted only after its upload is confirmed”

When a retention policy removes local files, it does so only after the upload was confirmed in your bucket. When you apply a stricter policy to media you offloaded earlier, every local file is first checked in the cloud by size. A missing file is uploaded first. A file whose cloud copy differs is uploaded again and checked, and kept on the server if it still doesn’t match.

A cloud file is deleted only after Bring Back confirmed the local copy

Section titled “A cloud file is deleted only after Bring Back confirmed the local copy”

Bring Back keeps the cloud copy by default. Deleting it after the restore is an option you must turn on. Even then, the cloud file is only deleted after every expected file is back on the server.

Each download goes to a temporary file first and is moved into place only when it is complete. Restores never write outside your uploads folder, and paths containing .. are refused. Partial downloads left behind by a stopped job are cleaned up.

Every attachment always has a working copy

Section titled “Every attachment always has a working copy”

If something fails, the attachment keeps at least one valid copy, on the server or in the cloud, and its status stays truthful. The error is recorded on the attachment, so you can see what happened and retry.

Offload, Bring Back and retention jobs read and delete the same files, so only one runs at a time. This applies whether the job was started from the admin screens, the Media Library or WP-CLI.

Offloading and bringing back media is limited to administrators. Other users keep their normal WordPress rights: they upload and delete their own media.

Access keys are never shown in the browser or written to logs. Stored credentials are kept out of WordPress’s autoloaded options. You can also keep them out of the database entirely with wp-config.php constants.

Copies of your site can’t touch the live bucket

Section titled “Copies of your site can’t touch the live bucket”

A staging, development or local copy of your site is recognised automatically and switches to Safe mode. It never uploads to or deletes from the live site’s cloud storage.

Sites sharing a bucket stay in their own folder

Section titled “Sites sharing a bucket stay in their own folder”

Several sites can share one bucket and one CDN address, each in its own folder. A site never uploads to or deletes from a folder another site already uses. See Sharing one bucket.

Destructive WP-CLI options ask before they run, unless you pass --yes. Every command that changes something supports --dry-run.

Deactivating stops any running bulk job and clears its queue, scheduled events and temporary data. Your settings and credentials are kept, so you can activate the plugin again later.

By default, deleting the plugin removes nothing. Your settings, credentials and offload records stay in the database, in case you install it again.

To clean up, turn on Settings → Uninstall → Remove all data on uninstall before you delete the plugin. Then deleting the plugin removes:

  • the plugin’s settings and credentials,
  • its background queues, temporary data and error logs,
  • the offload records of your media, unless some media exists only in the cloud.

When any attachment’s files exist only in the cloud (after Smart Local Cleanup or Full Cloud Migration), the offload records are kept. That way, you can install the plugin again and still bring that media back.

OmniOffloader connects only to the storage provider you choose and configure. Nothing is sent anywhere until you enter credentials.

  • Uploads: your media files (originals, thumbnails and other generated sizes) and their file paths are uploaded when media is offloaded.
  • Downloads: files are downloaded again when you use Bring Back or apply a looser retention policy.
  • Deletes: files are deleted from the bucket when you delete an attachment with Mirror Delete on, or restore with “delete from cloud” on.
  • Test Connection sends one request to check that your bucket can be reached.

Every request is signed with your access key. The secret key itself is never transmitted. Visitors load offloaded files from the storage or CDN address you configured.

No analytics, tracking or other data is sent to the plugin author or anyone else.