Hey, I'm Daniel!
I think this is an interesting project that could be solved from scratch with a custom implementation.
In my opinion the best way to go about this would be to use Vue.js and AWS to create a robust backend.
AWS S3 would be used to store all of the documents and quickly access them. If needed you can even turn on versioning for the documents so that your clients could look at past versions of the documents.
Tagging would be a fairly trivial task as well using S3 as every object can be given a key - value pair of metadata. This metadata would be used to store various tags and sort them when trying to retrieve documents.
You also mentioned you need authentication privileges for various users. I can easily implement this using AWS Cognito which allows for not only user-provided login but federation through google, facebook, etc.
I think that I would be able to excel this project's requirements and create a solution that would be easy to use, host, and upgrade if needed.
Thank you for considering me,
Daniel K.