How can I soft-delete a topic?

I can turn it invisible, close it and delete it, but how can I soft-delete it in case I need to see the content or IP of the author in the future?


Is there any difference in those actions? (Unlisted vs. “soft delete”)

If so what might those differences be in your mind?

-With unlisted, people can still access the topic via direct URL linking or via search engines.
-With soft-delete, only admins or moderators can still access the topic.

We’ve moved those posts to a private category when necessary.


That works, but it is a workaround. Most systems do have a soft-delete, for security purposes (IE: a legal entity requesting an IP of a post, etc)

Yes, that would be the solution. There is a UI provision in the edit history for hiding revisions of a post if someone posts a SSN or phone #, etc.

Can you explain more? what do you mean by a UI provision?

There is a button to hide edit revisions in the edit history dialog. A trashcan button. This only hides the specific revision though.

Yeah I see what you mean. Anyway I think there is a fair point of having some sort of soft-delete for forums that need to maintain the posts for legal issues, because if you are requested to show the original post info and you don’t have it, you can be blamed for that, in some countries.

Isn’t “Delete Topic” a soft-delete? You can still get to it using ?status=deleted, I don’t know how long they stick around, but I know they still exist for a while.

1 Like

Yep for a while, but then they are deleted. Suppose they are deleted and you need to deliver information for legal purposes say, after 2 months? that’s why soft-delete is missing in this case.

Hmm… I just checked our instance and we have some deleted topics that go back to 2010.


“Delete Topic” topics aren’t purged from the database.

1 Like

This is not correct, deleted stuff is never purged.

And how you access them?

@rodrigofarcas your answer was posted upstream.

Also on a user’s profile look for the number of deleted at the top… and click on it. (This does assume you know which user owned the deleted content, though…)

So if I browse it will list all deleted topics? or how can I use that parameter?


Yes it will list all deleted topics. You can also do it on the category latest pages too so you only see deleted topics in a given category

It does not work for me, it shows the same content as browsing

What is your home page set as and what version of Discourse are you on?

Edit: You do have to use the querystring on the latest page (or the category latest page)

1 Like