I found a nice and clean way...
In your shrine.rb initializer just create a custom class:
class NoDeletionShrineS3Storage < Shrine::Storage::S3 def delete(id) true end def delete_prefixed(delete_prefix) true end def clear!(&block) true endendShrine.storages = { cache: Shrine::Storage::FileSystem.new..), # temporary store: NoDeletionShrineS3Storage.new( bucket: "mybucket", # required region: "eu-central-1", # required access_key_id: '123..', secret_access_key: '123..', )}