Se pequenas perdas forem aceitáveis, acho que uma boa estratégia de backup seria melhor.
Evitar que os usuários excluam qualquer coisa os deixará irritados e sempre encontrarão maneiras de excluir coisas (por exemplo, com mv ou gerenciadores de arquivos).
Outra estratégia poderia ser usar um sistema no qual cada alteração não remova nada, mas apenas adicione dados e metadados.
Em um sistema desse tipo, um comando de exclusão não destrói realmente nenhum dado, apenas o marca como excluído e os dados ainda podem ser restaurados.
Por exemplo, o ECM Alfresco de código aberto pode ser configurado dessa maneira.