A header that says “user is under 18, no nsfw content” should generally be fine and should be sufficient, or websites could report a tag list like “tag: 18+ reason: explicit nudity” for the client to filter.
However, that will soon inevitably become “lgbtq content is inherently mature” which is not fine, but probably in the for parents to decide bucket.
Ultimately, parents need to fucking parent. That’s the problem. But im fine making on device private parental controls better/easier.