So, I have actually read the text of California law CA AB1043 and, honestly, I don't hate it. It requires operating systems to let you enter a date when you create a user account and requires a way for software to get a coarse-grained approximation of this that says either 'over 18' or one of three age ranges of under-18s. Importantly, it doesn't require:

  • Remote attestation.
  • Tamper-proof storage of the age.
  • Any validation in the age.

In short, it's a tool for parents: it allows you to set the age of a child's account so that apps (including web browsers, which can then expose via JavaScript or whatever) can ask questions about what features they should expose.

In a UNIX-like system, this is easy to do, with a tiny amount of new userspace things:

  • Define four groups for the four age ranges (ideally, standardise their names!).
  • Add a /etc/user_birthdays file (or whatever name it is) that stores pairs of username (or uid) and birthdays.
  • Add a daily cron job that checks the above file and updates group membership.
  • Modify user-add scripts / GUIs to create an entry in the above file.
  • Add a tool to create an entry in the above file for existing user accounts.

This doesn't require any kernel changes. Any process can query the set of groups that the user is in already.

If a parent wants to give their child root, they can update the file and bypass the check. And that's fine, that's a parent's choice. And that's what I want.

I like this approach far more than things that require users to provide scans of passports and other toxically personal information to be able to use services. If we had this feature, then the Online Safety Act could simply require that web browsers provide a JavaScript API to query the age bracket and didn't work unless it returned 'over 18'.

What about an OS that doesn't want to or have the need to or the bandwidth
to do that ?
@pkw @david_chisnall doesn't have the bandwidth to...store a file of birthdays and run a service to allow programs to query the user's age?
"doesn't have the bandwidth to...store a file of birthdays and run a service to allow programs to query the user's age?"

Correct. Does not have the bandwidth or need or desire to change their OS to
do that. That was my question.


@pkw I'm not convinced it takes thay much bandwidth, and as for need, I mean, legal compliance is pretty important
"I'm not convinced it takes that much bandwidth"

I regret engaging.
@pkw AFAIK the issue is not the network bandwidth but how much the OS restricts underage users (children). Actually, according to @david_chisnall the #ageverification should be a totally local process, not even requiring network access. @AVincentInSpace

@paoloredaelli

I knew @pkw was talking about developer bandwidth, and I'm not convinced it takes much of that either.

@AVincentInSpace Oh, my! As a #nonNativeSpeaker I tend to miss those subtleties, I would have rather used the term "developer time" or at most "developing resources" @pkw