# Idea from Berlin sprint: Soft Delete (Mautic 8)

**URL:** <https://forum.mautic.org/t/idea-from-berlin-sprint-soft-delete-mautic-8/38337>\
**Category:** Ideas and Feature Requests\
**Created:** [July 6, 2026, 2:10pm UTC](https://forum.mautic.org/t/idea-from-berlin-sprint-soft-delete-mautic-8/38337 "2026-07-06T14:10:27Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ekke](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/ekke/32/296_2.png) [@ekke](https://forum.mautic.org/u/ekke)\
**Post date:** [July 6, 2026, 2:10pm UTC](https://forum.mautic.org/t/idea-from-berlin-sprint-soft-delete-mautic-8/38337/1 "2026-07-06T14:10:27Z")

</div>

My idea is:

- Introduce “soft delete” everywhere, i.e. set deleted = 1 rather than erasing from database directly
- UI element for undeleting
- Currently not: access rights for undelete different from the normal rights “own” etc. (Maybe later?)
- Console command for hard-deleting after x days
- to be figured out: ripple down deletions to dependent entries e.g. Tags, Memberships, … (normally DELETE CASCADE)
- ensure API is fully covered too
- handle creation of new instances with same unique identifier

I think these groups of people would benefit from this idea:

- users who sometimes accidentally delete stuff
- Mautic providers who then have to save them from desaster

Are you willing to work on this idea?:

- yes

What skills and resources do you need to explore this further?

- all thoughts welcome
- a few tables (`lead_lists`, `campaigns`, `campaign_events`) have a “deleted” field; also `sync_object_mapping` has the notion of `is_deleted`. Does anyone have insights on that?
