For public data I am inclined to agree with the parent.
You could just pass a single auth token to the database if it supported it for public data only and fetch it that way. Kinda like a bearer token, etc...
Therefore having direct access to the database from the client side only for public data.
This would be very beneficial to the web as a whole as a lot of the data is public data.
Then the separation of privilege/access has to happen directly at the database level which is totally possible.
Would be a nice addition to the web to treat public data differently.
At the database table level, each field could have the following properties which processed together would decide the level of access for that piece of data stored.
Wouldn't they be accessible to anyone reading the front end source files or plugins installed in the browser context?