How do you communicate about things related to the project, but doesn't need to have the client involved in? Do you have a separate internal channel per client?
My company has this, and I highly recommend it in general for security and data loss prevention purposes.
Any channel that may have external to the company users must have `-ext` at the end of the name and there should also be a non `-ext` channel for internal discussion that relates.
This ends up working really well because the channels sort together next to each other and you can tell very clearly from the name if you are talking "publicly" or not.
We do the same as other people replying, we’ve got a few shared channels with a major client, and alongside that internal channels related to work for them. You do have to be careful you’re in the right channel before letting rip about that one person at the other end everyone dislikes, but otherwise it works fine.