Re: Age Verification laws
Aaron Rainbolt <[email protected]> Mon, 2 Mar 2026 19:46:39 -0500
| Newsgroups | gmane.linux.xdg.devel |
|---|---|
| Message-ID | <[email protected]> |
--Sig_/=q3No/TQT4VdNIYC_OOX/.J Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, 2 Mar 2026 11:25:06 -0500 Lucas Holt <[email protected]> wrote: > Hello, > I'm the MidnightBSD project lead.=C2=A0 I've been trying to make sense of > the age verification law passed in California and up for discussion > this week in Colorado. >=20 > My interpretation of this law is that it needs to be implemented at > the adduser flow, not just for X11/Wayland use.=C2=A0 There were likely > need to be standard hooks somewhere for GUI apps to get it > consistently across operating system implementations but likely some > of us will be rushed to implement something to comply. >=20 > Here's the current plan I've developed. It's still a draft and has a > few issues, particularly with the group membership >=20 > https://docs.google.com/document/d/1_NKq0bpN1pOrMpHePuilJY7saXqXqhss6LwPT= C6nSto/edit?usp=3Dsharing >=20 > I am interpreting app store to also include package repositories and=20 > thus package manager integration is also needed. >=20 > I think the california law would not require actually storing the age > or date of birth, just the ranges.=C2=A0 However, I've been told that some > other states have laws that would require DOB so this plan includes > that, although I've not had time to confirm it yet. I've only looked > at CA and CO laws. >=20 > Apologies for the new thread, I just subscribed after someone pointed=20 > this was being discussed. >=20 > Lucas Holt > [email protected] > ________________________________________________________ > MidnightBSD.org (Free OS) > JustJournal.com (Free blogging) I'm curious why you believe it needs to be implemented in adduser. AFAICT, it likely does need to be present on systems even without a GUI (or with a non-standard GUI), but D-Bus can work in non-GUI environments. While it's possible some states may require giving a date of birth, do they require *storing* it? The original design I proposed provided the APIs but left storage up to the individual implementation (this is of critical importance to Whonix, which cannot store a date of birth on disk due to fingerprinting concerns). If the only information that needs to be returned from the API is an age bracket, is it enough to accept a date, turn it into an age bracket, and then store only that? Some users in the thread have claimed that an age verification API such as this would be illegal under other laws even though it's required by some, so it may be essential to allow the feature to be turned off in some manner (probably not as obvious as a "turn this off" button, but others have suggested asking the user where they are located). The law passed by California doesn't explicitly mention age-gating content that I can see, it does explicitly mention exposing the user's age bracket to developers so they can refrain from collecting data they aren't legally permitted to collect. This is the primary reason I proposed something based on D-Bus; it's probably the easiest thing for web browsers to integrate with given that they already integrate with other D-Bus services. Mediating access through a file on disk or a bespoke daemon could be problematic for sandboxed applications (one user in the thread mentioned that files can be passed through to sandboxed apps, but to me that sounds very clunky and like it may go wrong or expose more data than should be exposed). I don't know what MidnightBSD's sandboxing situation looks like, so maybe this isn't a concern for you. I do like the idea of taking inspiration from Apple's implementation. They seem like they're the most likely people to get it right. Apologies if a lot of what i just said makes no sense in the context of BSD, I'm not much of a BSD user. -- Aaron --Sig_/=q3No/TQT4VdNIYC_OOX/.J Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQS8QsiCjFi4DcDBX+Q5rdye4jrrCAUCaaYvbwAKCRA5rdye4jrr CKP8AQCJ4+PjN5DW6YmMxreVQlkt9mHWXbnrHesB9VD709YgOQEAnYjJTz2H2XjS q00h+rrfU4cYWC4/dUbefseAOTlVywA= =gfR8 -----END PGP SIGNATURE----- --Sig_/=q3No/TQT4VdNIYC_OOX/.J--