Granting badges for restricted categories has been discussed several times on meta, with this being the most recent answer from Sam I could find:
Though he also imagined the possibility of a site setting for that:
Currently in the category settings I found this field though:
Allow granting of badges in this category
Shouldn’t this be the solution that allows granting of badges for even private categories, or does them being private ultimately override this category setting?
If that’s the latter, I find the behavior really confusing, because one hereby explicitely whishes granting of badges in the category, whereas none are granted.
In our community, most of the action happens in a certain private category and it’s regrettable that users can’t get their well earned badges.