We recommend using CarrierWave until ActiveStorage implements proper validations.
It's always been easy to implement the backend solution around uploading a file then referencing said file in a model.
ActiveStorage looks like a good evolution of Paperclip. It even makes it easier to configure the different storage options in 1 file. The biggest downside? It has no built-in validations.
We recommended using CarrierWave until this is sorted out by the Rails core team. You can also contribute in the issue link above.