Very cool, but I wish you didn't overload the follow list with this extra function. It would be nice to have a separate 10xxx list to manage who can access my content.
I made this relay: https://lockbox.fiatjaf.com/
Anything you publish there will only be shown to people you follow (they have to perform AUTH before reading).
If you add it to your NIP-65 list of "write" relays then all clients that do outbox should automatically start showing those posts to the people that follow you that you also follow right away.
Discussion
That was my starting point, but I figured most people would want to naturally segregate this stuff by their follow list anyway in the beginning.
Now you can argue that a 10xxx list won't be great either because I may want to have separate lists for different types of content, so maybe use a 30xxx list and give different relays different list ids to use? You could also use a proprietary database that is configured only in that specific relay and doesn't sync anywhere and that wouldn't be bad either. There are many ways of approaching this.
We could also use individual events since I think these lists are going to be massive.