Software for humans of indeterminate age. We don't know how old you are. We don't want to know. We are legally required to ask. We won't.
Some people have asked whether Ageless Linux is a "real" operating system, or whether we are "really" an operating system provider subject to AB 1043. We wish to be absolutely clear: we are. The California legislature has made this unambiguous.
"Operating system provider" means a person or entity that develops, licenses, or controls the operating system software on a computer, mobile device, or any other general purpose computing device. — Cal. Civ. Code § 1798.500(g)
Ageless Linux controls the operating system software on your
general purpose computing device. Specifically, we control the contents of
/etc/os-release, which is the file that identifies what operating
system you are running. After installing Ageless Linux, when you run
cat /etc/os-release, it says "Ageless Linux." That is control.
Furthermore, any individual who runs our conversion script also becomes a person who "controls the operating system software on a general purpose computing device" — making you, the user, an operating system provider as well. Welcome to the regulatory landscape.
"Application" means a software application that may be run or directed by a user on a computer, a mobile device, or any other general purpose computing device that can access a covered application store or download an application. — Cal. Civ. Code § 1798.500(c)
Every package in the Debian repository is an application under this definition.
cowsay is an application. sl (the steam locomotive typo corrector)
is an application. toilet (the text art renderer) is an application.
All 64,000+ packages in Debian stable are applications that may be run by
a user on a general purpose computing device. Each of their developers is,
under § 1798.500(f), required to request
an age bracket signal when their application is "downloaded and launched."
"User" means a child that is the primary user of the device. — Cal. Civ. Code § 1798.500(i)
Please note that under this statute, a "user" is by definition a child. If you are 18 or older, you are not a "user" under AB 1043. You are an "account holder" (§ 1798.500(a)). The entire law regulates the experience of "users," who are exclusively children. Adults are not users. They are infrastructure.
Ageless Linux rejects this ontology. On Ageless Linux, everyone is a user, regardless of age, and no user is a child until they choose to tell us so. They will not be given the opportunity.
"Covered application store" means a publicly available internet website, software application, online service, or platform that distributes and facilitates the download of applications from third-party developers to users of a computer, a mobile device, or any other general purpose computing device that can access a covered application store or can download an application. — Cal. Civ. Code § 1798.500(e)(1)
This website is a "publicly available internet website" that "distributes
and facilitates the download of applications" (specifically: a bash script)
"to users of a general purpose computing device." We are also a covered
application store. Debian's APT repositories are covered application stores.
The AUR is a covered application store. Any mirror hosting
.deb files is a covered application store.
GitHub is a covered application store. Your friend's personal website
with a download link to their weekend project is a covered application store.
Ageless Linux is a Debian-based operating system distribution. Installation is a two-step process: first, install Debian; then, become Ageless.
Obtain a Debian installation image from the Debian project. We recommend the current stable release. Ageless Linux inherits all of Debian's 64,000+ packages, its security infrastructure, and its 30+ years of community stewardship.
Note: At this stage, the Debian Project is the operating system provider. You are merely a person installing software. Enjoy the last moments of your regulatory innocence.
Run our conversion script. This will modify /etc/os-release
and associated system identification files, install our AB 1043
noncompliance documentation, and deploy a stub age verification API
that returns no data.
curl -fsSL https://goblincorps.com/become-ageless.sh | sudo bash
At this point, Ageless Linux now "controls the operating system software" on your device. We are your operating system provider. You are our responsibility under California law. We will not be collecting your age.
By running the conversion script, you also become an operating system
provider. You are a "person" who "controls the operating system software"
on a general purpose computing device
(§ 1798.500(g)). If a child uses your computer,
you are required by § 1798.501(a)(1) to provide
"an accessible interface at account setup" that collects their age.
The adduser command does not ask for your age.
We recommend not thinking about this.
Ageless Linux is suitable for users of all ages, including those ages for which the California legislature has expressed particular concern. The following guide explains how to provide Ageless Linux to minors in your household, school, library, or community.
Under AB 1043, you are the "account holder" — defined by § 1798.500(a)(1) as "an individual who is at least 18 years of age or a parent or legal guardian of a user who is under 18 years of age." The law requires operating system providers to ask you to "indicate the birth date, age, or both, of the user of that device."
Ageless Linux will not ask you this. To install Ageless Linux for your child:
adduser asks for their full name, room number,The child is now a "user" as defined by § 1798.500(i). You are an "account holder." Together, you are a compliance violation.
Ageless Linux is ideal for educational environments where you may have dozens or hundreds of users across all four age brackets defined by § 1798.501(a)(2):
For bulk deployments, the conversion script can be included in your Ansible playbooks, Puppet manifests, or shell provisioning scripts. At no point in the automated deployment pipeline will anyone be asked how old they are. This is by design.
# Ansible task to create an AB 1043 compliance violation at scale
- name: Convert to Ageless Linux
ansible.builtin.shell: |
curl -fsSL https://goblincorps.com/become-ageless.sh | bash
become: yes
tags: [noncompliance]
Hello. Under § 1798.500(i), you are a "user," which the statute defines as "a child that is the primary user of the device." The legislature has defined you as a child. We will not.
You know how to open a terminal. You probably already run Linux. Type the command. Nobody is going to ask how old you are. That's the point.
Ageless Linux is in full, knowing, and intentional noncompliance with the California Digital Age Assurance Act.
Below is a detailed accounting of each requirement imposed on operating system providers by AB 1043 and the status of our compliance.
An operating system provider or a covered application store that makes a good faith effort to comply with this title, taking into consideration available technology and any reasonable technical limitations or outages, shall not be liable for an erroneous signal indicating a user's age range… — Cal. Civ. Code § 1798.502(b)
Ageless Linux has considered the available technology. The available technology
is a bash script that modifies /etc/os-release. The reasonable
technical limitation is that a bash script that modifies /etc/os-release
cannot collect, store, or transmit anyone's age. We have made a good faith effort
to comply with the portions of the law that do not require us to surveil our users.
Our compliance with § 1798.501(a)(3) is, we believe, exemplary.
Under § 1798.503(a), violations are subject to civil penalties of up to $2,500 per "affected child" for negligent violations, or $7,500 per "affected child" for intentional violations.
Follow the logic of the statute to its conclusion:
This is not a clever loophole. This is the plain text of the statute, read in sequence. The law defines its enforcement mechanism in terms of the data it requires you to collect. If you refuse to collect it, the enforcement mechanism has nothing to count.
Of course, the California Attorney General is not bound by logic puzzles. In practice, the AG could presumably argue that children exist regardless of whether you counted them, and estimate the number of affected children through other means. We agree. That's what makes this interesting. The law says "per affected child." We say: prove it. We didn't write your statute. We just read it.
Standard Ageless Linux ships a stub age verification API — a shell script that returns nothing. This preserves a thin argument for "good faith effort" under § 1798.502(b). If you find that insufficiently honest, flagrant mode is for you.
curl -fsSL https://goblincorps.com/become-ageless.sh | sudo bash -s -- --flagrant
Flagrant mode does the following differently:
Instead of an API, flagrant mode installs a file at
/etc/ageless/REFUSAL that explains, in plain English,
that this operating system provider declines to comply and
invites enforcement action.
Flagrant mode is intended for devices that will be physically placed into a child's hands.
The preceding sections describe how to install Ageless Linux on existing hardware. But AB 1043 does not distinguish between digital distribution and physical distribution. The law applies to anyone who "controls the operating system software on a general purpose computing device." If you flash Ageless Linux onto a USB drive and hand it to a ten-year-old, you are an operating system provider distributing an operating system to a child.
Here are some ways to create unambiguous, physically tangible AB 1043 violations.
Flash Debian onto a USB drive. Boot from it. Run the conversion script
with --flagrant. Shut down. Hand the USB drive to a child.
You are now an operating system provider who has physically distributed an operating system to a known child with no age verification. The child is holding the violation in their hand. It cost you about $4 for the USB drive, which is less than the minimum fine of $2,500 — assuming the Attorney General can figure out how to count "affected children" without the age data you declined to collect.
For maximum clarity, we recommend labeling the USB drives:
The Raspberry Pi Pico 2 uses the RP2350 chip, which contains dual ARM Cortex-M33 cores and dual Hazard3 RISC-V cores. It runs MicroPython. It costs $5.
Is a Raspberry Pi Pico a "general purpose computing device"? AB 1043 does not define "general purpose computing device." The Pico can run user-directed software applications. It can download code from the internet. If you put a MicroPython script on an SD card and let a child pick which script to run, you have arguably created a "covered application store" — a platform that "distributes and facilitates the download of applications from third-party developers" to a user of a general purpose computing device (§ 1798.500(e)(1)).
A Raspberry Pi Pico does not have "account setup." It does not have user accounts. It does not have an operating system in the conventional sense. It has a MicroPython REPL and a filesystem. None of that matters: the law says "operating system software on a general purpose computing device," and MicroPython is software that operates the system.
Flash Ageless Linux's REFUSAL notice onto a Pico's
filesystem alongside a few MicroPython games. Hand it to a child
at a school maker fair. You have now physically placed an
AB 1043 violation into a child's palm for the price of a coffee.
The California Attorney General has unambiguous grounds to fine you $7,500 for this. The child is known. The device is known. The noncompliance is documented on the device itself. The only question is whether anyone in Sacramento wants to explain to a judge why a $5 microcontroller with a snake game on it is a regulated operating system platform.
We invite the California Attorney General to fine us $7,500 for handing a Raspberry Pi to a child.
We will pay the fine. We will frame the receipt. We will put it on this website. We will use it to explain, to everyone who will listen, that the State of California has levied a $7,500 penalty against a person who gave a child a $5 computer with a snake game on it, because the snake game did not first ask the child how old they were.
That is the press release we want to write. We believe the Attorney General does not want us to write it. And that is the entire point.
AB 1043 passed the California Assembly 76–0 and the Senate 38–0. Not a single legislator voted against it. The bill had the explicit support of Apple, Google, and the major platform companies. Ask yourself why.
Apple can comply. Apple already has Apple ID, with age gating, parental controls, and App Store review. AB 1043 describes a system Apple has already built. Compliance cost to Apple: approximately zero.
Google can comply. Google already has Android account setup with age declaration, Family Link parental controls, and Play Store age ratings. Compliance cost to Google: approximately zero.
Microsoft can comply. Windows has Microsoft Account setup, family safety features, and the Microsoft Store. Compliance cost to Microsoft: approximately zero.
The Debian Project cannot comply. It is a volunteer organization with no corporate entity, no centralized account system, no app store with age gating, and no revenue to fund implementing one.
Arch Linux cannot comply. Neither can Gentoo, Void, NixOS, Alpine, Slackware, or any of the other 600+ active Linux distributions maintained by volunteers, small nonprofits, and hobbyists.
The Kicksecure and Whonix projects — privacy-focused operating systems used by journalists, activists, and whistleblowers — cannot comply without fundamentally compromising their reason for existing.
A teenager in their bedroom maintaining a hobby distro cannot comply.
A law that the largest companies in the world already comply with, and that hundreds of small projects cannot comply with, is not a child safety law. It is a compliance moat. It raises the regulatory cost of providing an operating system just enough that only well-resourced corporations can afford to do it.
The enforcement mechanism is the point. AB 1043 does not need to result in a single fine to achieve its purpose. The mere existence of potential liability — $7,500 per affected child, enforced at the sole discretion of the Attorney General — creates legal risk for anyone distributing an operating system without the resources to build an age verification infrastructure. Most of these projects will respond by adding a disclaimer that their software is "not intended for use in California." Some will simply stop distributing.
The law does not need to be enforced to work. It works by making small developers afraid. It works because the cost of defending against even a frivolous AG action exceeds the entire annual budget of most open-source projects. You do not need to swing a cudgel to get compliance. You just need to hold it where people can see it.
Ageless Linux exists because someone should hold it back.
/etc/os-release. The law does not define minimum technical
thresholds for what constitutes an operating system. It defines an
"operating system provider" as anyone who "develops, licenses, or controls
the operating system software." We control the operating system software.
The operating system software says it's Ageless Linux. QED.
/etc/ageless/age-verification-api.sh that prints
an error message and exits. In flagrant mode, no API of any kind
is installed. The standard-mode stub
exists only for people who find comfort in the "good faith effort"
defense. Ageless Linux officially recommends flagrant mode.