Safe Media Delete and Quarantine
Description
Highlights
About the Extension
Deleting unused media in Shopware is a one-way door. This extension adds a door you can walk back
through.
Unused media is moved to a Pending deletion folder and given a purge date. When that date arrives, a
daily task deletes it — but only if it is still unused at that moment. Anything that has been used
again in the meantime is moved back to its original folder instead of being deleted.
Quarantined files keep working the whole time. They stay at the same URL, keep their thumbnails and
still render on the storefront, so a mistake is visible and cheap to undo rather than permanent.
## What it does
- Scan for media that nothing references, using the same detection Shopware's own
media:delete-unused uses, and honouring UnusedMediaSearchEvent so other extensions can protect
their own files.
- Quarantine with a configurable retention window, 30 days by default.
- Re-check before deleting. An image quarantined a month ago may have been assigned to a product
yesterday; it is restored, not deleted.
- Restore any item during the window, with one click, back to the folder it came from.
- Permissions split three ways — view, manage, delete — so you can let someone see what is queued
for deletion without letting them delete it.
- Command line too: cadnative:media:quarantine-unused and cadnative:media:purge-due, for operators
who prefer cron to the Shopware scheduler.
## What Shopware already does
Worth being straight about: bin/console media:delete-unused already finds and deletes unused media,
already defaults to a 20-day grace period on recent uploads, and already has a dry-run. If that
works for you, you may not need this. What core does not have is a reversible window after
flagging, and a re-check before the delete actually happens.
## Good to know
- Tagged media is never treated as unused. Shopware counts a media tag as a reference, so a file
with any tag is skipped — by this extension and by Shopware's own media:delete-unused alike. Some
extensions tag every file they import, so if a scan comes back empty, check for tags first.
- Running media:delete-unused yourself still deletes quarantined files immediately. This extension
deliberately does not interfere with core's own command — that is treated as your explicit
intent.
- Shopware removes the physical files asynchronously, so disk space is reclaimed when a message
queue worker runs. This is normal Shopware behaviour and applies to media:delete-unused as well.
- Uninstalling restores every quarantined file to its original folder first. It never deletes your
media on uninstall.
## Your data stays yours
No external service, no account, no telemetry. Everything happens inside your own shop.
Details
- Available: English, German
- Latest update: 1 October 2026
- Version: 1.2.0
- Category: Administration
About the Extension Partner
CadNative
Partner Status
-
Shopware
Extension Partner
Details
- Partner since: 2021
- Extensions: 1
Support
- Based in: India
- Speaks: German, English, Dutch, Hindi
- Response time: Very quickly