You can use category tag whitelist for #1 and #3. It is configured on a category basis and users can only use those tags.
Tags visible for guests
I have a closed NodeBB installation. Unfortunately, anonymous users who visit the homepage can select tags and then spot the actual topics that are discussed. How can I hide them for guests/anonymous users?
Did you untick guests can find topics in each categories privelidges? With this disabled, it will show them the tags, but not the categories they're contained in.
All checkboxes for guests are unticked.
Yes, they can see the tags, not the topics. But the tags are also something they shouldn't see because it more or less discloses the content of the board.