Mastodon has a system of user-definable Content Warnings that hide the rest of the post and any media attached. Due to just how broad NSFW can be something like this may be a good idea. Maybe you're ok with nudity, but not porn. Maybe you're ok with porn but not (certain act/fetish/whatever). Maybe you're ok with violence, but not dead bodies. Lots to think about there. Defining all of these in advance or trying to come up with categories such that it is actually useful to everyone sounds like a path to madness and fetishes you never even knew existed.
These can also be used for things that aren't necessarily NSFW, but also uncomfortable topics such as "miscarriage", "cheating", or even just "spoilers for ". They're pretty versatile.