I'm looking into publishing a replica database for consumption by other users in my org. This database contains a lot of sensitive data, so a solution I was considering was using Postgres 15's Logical Replication Column Lists, which allow you to only publish specific columns to your subscribers. However, these come with a caveat:
The choice of columns can be based on behavioral or performance reasons. However, do not rely on this feature for security: a malicious subscriber is able to obtain data from columns that are not specifically published. If security is a consideration, protections can be applied at the publisher side.
So my question is twofold: how can a malicious subscriber obtain data from unpublished columns, and what are the protections that can be applied at the publisher side?
I tried searching around the documentation and SO, but couldn't find any details on the topic. Thanks!