-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Deleting a note should really delete the note in database #766
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi @dekonnection |
While understanding the design, I'm still a little bit concerned, since after deleting a note, the content is secretly kept and the user don't have control on it anymore. I think that providing a "secure delete" setting (when activated, deletion really drops the note) could be a good thing. |
Yes, we should have some kind of process that will delete notes after some kind of grace period. We should also scrub related tables like revisons. |
That said: if you're not trusting the server administrator, you should keep in mind: they could have backups (or other ways of reconstructing the note) even if it was deleted. From a user's perspective i would not distinguish between different types of deletions, this will just confuse people. I would keep soft-delete as default and offer some means of "undo" for some period of time. Right now i'm thinking 1 hour, but this might not be a perfect fit for everyone, either. |
@ccoenen I agree with everything you said 👍 The idea of a "recycle bin" is great, along with a configurable grace period. Concerning your (valid) point about past backups or reconstruction means, I also agree, but I think it's still not a justification to voluntarily keep the full note in database, subject to future backups :) |
Well, from a technical point of view, I can say the following: It is possible to delete notes. The question is can we really make it configurable without a migration? And if we do, will it delete all previously deleted notes? Someone want to write a PoC and see how it works? |
I don't see why we would need a migration at all? The way I see it, we need two pieces of code:
It's debatable how the garbage-collector should be implemented, personally, I could totally live with a separate script (like the user management script) that one has to run via |
This was added with #830 we only need to add some later clean up. |
I am using latest image hackmdio/hackmd in Docker. When the note is delete by owner, the note is physically delete in table |
@jackycute |
Hi,
Currently, it seems like deleting a note just marks the note as deleted (by adding the deletion date in the deletedAt field), but keep the note in the database.
Since all notes are stored in plaintext, I know that the database administrator is able to see all the active notes, so user privacy is limited, but I think that a deleted note shouldn't be available, like, ever.
Demonstration :
After deletion :
Thanks for your work :)
The text was updated successfully, but these errors were encountered: