In Cloud CMS everything is a node. A node has JSON properties and could also have binary attachments. What you would call a "file" is a node with properties describing it's folder location and a "default" attachment holding the payload (PDF file, image, MSWord doc, etc).
Typically, for large number of PDFs, images, etc, we suggest individual nodes with a single attachment each (which is the PDF, image, etc). We have many customers who use Cloud CMS in this way and it essentially works like a document management system for those cases. Each node is essentially just a document (the PDF document).
There are a number of good advantages to this approach, including:
1. Node-level permissions - allow you to finely control which users have access to which nodes. It sounds like this may be a core requirement as you might only want any given user to have access only to their single PDF.
2. Thumbnails - Cloud CMS automatically computes thumbnail and preview images as your end users require them (such as when you're browsing through the user interface or they can be auto-generated by your own custom front end if you need them).
3. Workflow - if you did decide at any point to introduce an approval process for these PDFs, doing so on a per-document basis is consistent with how our workflow engine works.
4. Document management - it's easy to organize your PDFs within Cloud CMS using folders or email links to documents if everything is simply a node. Many of the features of Cloud CMS such as rules, the actions framework and more are all node-oriented as well.
We have customers who individually have many terabytes of data stored in this fashion.