@Tobbe had a bit more think about question you asked, about what solution would be ideal.
I think having a block like the Private block, where I can provide a custom match function would be ideal. Then inside the block, I could add the routes that qualify.