story
if isAdult == 0 and website doesn't send a "safe-content" header, then:
browser refuses to display content
if isAdult == 0 and photo in a messenger doesn't contain a "safe-content" metadata, then
photo viewer refuses to display content
if isAdult == 0 and the app is not marked as safe, then
app store refuses to download the app and OS refuses to launch it
With my approach, you don't need to store your ID on your device, you don't need to send your ID anywhere, and website operators and app developers do not need to do anything because by default they will be considered not safe. So my solution's cost is ZERO for website operators and app developers. As a website operator you don't need to change anything and to verify the age.