Is there any case where CouchDB authorization alone is sufficient for production apps? They recommend deploying a proxy server in front of Couch but do not recommend an authorization layer / server? See Best Practices. I understand that read access is all or nothing per database. One issue that immediately comes to mind is - what stops a user, or member, from creating an infinite number of databases? It does not appear that design (or validation) documents can query for number of existing DB's? Other concerns exist as well. Below is all I can seem to find in terms of official documentation.
This is not an opinion based question because either Couch can exist by itself in production or it cannot assuming the developer follows the least privilege access principle.
CouchDB recommends the use of HAProxy as a load balancer and reverse proxy. The team’s experience with using it in production has shown it to be superior for configuration and monitoring capabilities, as well as overall performance.
1.1.5. Security and Validation
To protect who can read and update documents, CouchDB has a simple reader access and update validation model that can be extended to implement custom security models.
Each database on a CouchDB server can contain its own set of authorization rules that specify which users are allowed to read and write documents members, who are allowed to read all documents and create and modify any document
4.1.5. Adding client-side security with a translucent database
It is possible to use a modest amount of encryption and one-way functions to obscure the sensitive columns or key-value pairs, a technique often called a translucent database.