Docs unclear: deleting streams

I’m brand new to Event Store and trying to understand by reading the docs:

EventStoreDB will always keep one event in the stream even if the stream was deleted, to indicate the stream existence and the last event version. Therefore, we advise you to append a specific event like StreamDeleted and then set the max count to one to keep the stream or delete the stream.

It says “set the max count to one to keep the stream or delete the stream,” so does setting the max count to one keep the stream or delete the stream? I’m confused.
(Does this have to do with hard v soft delete?)

Keep that in mind when deleting streams that contain sensitive information that you really want to remove without a trace.

“EventStoreDB will always keep one event in the stream even if the stream was deleted” but if I want to remove it without a trace, it sounds like this is impossible because EventStoreDB will always keep one event. Should the docs be reworded to say there should be no sensitive info in a final StreamDeleted event?

(Source: Event streams | EventStoreDB Documentation)

Hi @JaredThirsk ,

It says “set the max count to one to keep the stream or delete the stream,” so does setting the max count to one keep the stream or delete the stream? I’m confused.
(Does this have to do with hard v soft delete?)

This will, in fact, keep the stream. ESDB always keeps the stream so there is a record of it, and we know where to start again if you “undelete” the stream by appending another event to it. It is, effectively, a soft delete. If one truly wishes to delete a stream, you may append a tombstone event to it. Bear in mind that this will mean the stream cannot ever be reused

Should the docs be reworded to say there should be no sensitive info in a final StreamDeleted event?

Thank you for the suggestion! We will review internally