What the Law Requires

At the OS level, AB 1043 creates three obligations for operating system distributors:

1. Age Collection Interface

An accessible interface during account setup that prompts for the user's age or date of birth. The statute requires this to be presented during the initial setup flow — not buried in settings.

2. Real-Time Age Bracket API

A programmatic interface that reports the user's age bracket to applications at runtime. Applications are expected to query this API and adjust their behavior accordingly — restricting content, disabling features, or refusing to launch for underage users.

3. Data Minimization

The system must expose the minimum information necessary. Rather than providing an exact age or date of birth, the API should report only an age bracket.

The Four Age Brackets

The statute defines four age categories that the OS must distinguish:

Bracket 1

Under 13

Bracket 2

13 – 15

Bracket 3

16 – 17

Bracket 4

18+

In the proposed D-Bus interface, bracket 0 means "unknown" — the user has not provided age information. This is the value Ageless Linux intends to return for all queries.

Implementation Mechanisms

Four implementation paths are under discussion across the Linux ecosystem, and one has shipped outside of it. Each is documented in detail:

Leading Candidate

D-Bus Interface

The org.freedesktop.AgeVerification1 proposal — a standalone D-Bus service with SetAge, SetDateOfBirth, and GetAgeBracket methods. Proposed by Aaron Rainbolt (Kicksecure/Whonix) on March 1, 2026. Cross-posted to Debian, Ubuntu, Fedora, and freedesktop.org mailing lists.

Speculative

AccountsService

The GNOME/systemd user account service. A natural place for age data, but described as "effectively obsolete" by KDE developer David Edmundson. Not formally proposed.

Active PR + Merged Data Layer

xdg-desktop-portal + systemd userdb

The emerging stack: systemd PR #40954 (merged March 18, 2026) adds a birthDate field to user records. xdg-desktop-portal PR #1922 (open) defines the application-facing age range API. The original D-Bus proposal author now recommends this path. Ageless Linux already neutralizes the data layer; the API layer is being monitored.

Shipped

MidnightBSD aged(8)

The first operating system to ship a native age verification implementation. A Unix daemon with SQLite storage, a C library in libutil, a CLI tool, and four Unix groups for package-level enforcement. Merged March 9, 2026. Enabled by default. Not a proposal — production code.

Active Fork

Liberated systemd

A fork of systemd that reverts the birthDate field and stays in sync with upstream for everything else. The most maintained of eleven forks that appeared after the merge. AUR packaging, a downstream hardened fork (sonicd), and significant media coverage.

Tracking

Distro-Specific Implementations

Where every major distribution stands: Debian, Ubuntu, Fedora, Arch, Pop!_OS, openSUSE, Red Hat, Valve, Kicksecure/Whonix, MidnightBSD, and others. Updated as positions change.