https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml...
What I got out of it was that an os has to provide an interface to applications so that if they make an age request(note that the law says nothing about when or what applications will make a age request) the os can provide something. and it has to provide an interface for the user to enter the information.
So when we map this requirement onto the mechanism of how the os provides information to applications. and how users set up the system. I have come to the conclusion that compliance on a unix-like platforms is as simple as
echo ${AGE_CATEGORY} > ~/.config/ca_ab_1043
Then the program can get the age category anytime it wants to. the user is able to put this information in at account setup just like the law asks using an accessible interface, the same interface everything else on a unix-like platform uses, the shell.
I guess you could also make the bracket selectable instead of requiring the age
There are millions of people moving between the proposed age brackets every day. This is a DoB-gifting firehose to ad tech.
It does not require the OS to actually verify the age, collect government IDs, or any other data.
The intention, I think, is to put the responsibility for communicating the users age on the OS, instead of having each application or service do their own age verification (by scanning IDs, requesting user data, etc). Since it’s set on the machine, a parent can set it once for their kid when setting up the device.
If you want to give a young child a laptop or computer though, it maybe helps keep them away from objectionable content.
In all cases, at least in the US, these laws violate the first amendment (as code is a form of speech), and freedom respecting users and devs need to resist them until they can be defeated in court.