if this is still a topic: you can create groups and assign boards to only some groups. If the user is not in the right group, he only sees the public available boards. At least my (old) installation of SMF supports this.
You must create a user group that is not contribution-related.