@pixelfed Have you considered a client-side solution where all content is handled the same instant-wise, according to admin preference, but then filtered per logged in user on the UI level?
Also, consider making the admin setting two-fold: one for anonymous users and one for logged-in users, potentially also client-side, in order to protect the passer-by.