Systemd Adds Birthdate Storage
Posted: Tue Mar 24, 2026 6:27 am
From linuxiac.comWhether you like it or not, the recently much-discussed age-verification requirements are beginning to influence how the Linux desktop is built. In light of this, systemd now includes a birthDate field in its user record format, representing an initial step toward standardizing age-related metadata in the Linux desktop stack.
This update, merged via pull request, extends systemd’s userdb JSON structure to include a user’s full date of birth. The field serves as a system-level source of truth, enabling other components to access age-related information as needed. Users cannot edit this field directly. It must be set by an administrator, typically using the homectl tool.
It is important to understand that this addition does not itself enforce age restrictions or verification. Instead, it provides foundational data for other services. In parallel, xdg-desktop-portal developers are introducing APIs that allow sandboxed applications to determine content accessibility based on user age.
This approach follows the established portal model in Flatpak-based environments. Applications do not access sensitive user data directly. Instead, they request information through a controlled interface. Here, the portal is expected to return only limited results, such as an age bracket or an allow-or-deny decision, rather than the actual birth date.
With that said, systemd acts solely as a backend provider in this architecture. By storing a consistent birth date at the system level, it allows higher-level components, such as portals or account services, to make age-related decisions without requiring each application to implement its own logic or storage.
This development is linked to a broader regulatory context. The systemd pull request references new legal requirements, including California AB-1043, Colorado SB26-051, and Brazil’s Lei 15.211/2025. These laws expand obligations for age verification, parental controls, and access restrictions for minors online.
Expectably, this sparked discussion among developers. Some believe storing a full date of birth introduces unnecessary sensitive data and suggest that age ranges may suffice for most cases. Others argue that retaining the original data at the system level offers flexibility, with stricter controls applied by higher layers such as portals.
Technically, the distinction between storage and exposure is key. Systemd stores the complete birth date, but applications interact only with mediated results from portal APIs, where portals serve as gatekeepers between sandboxed applications and system resources.
But what about systemd-free distributions, like Void, Alpine, Devuan, etc.? Without systemd’s userdb and the birthDate field, they will likely need to either provide an alternative data source, such as by extending AccountsService, or return limited responses through portal APIs, which will certainly require additional development work on their part.
Finally, to reiterate: adding a birthDate field does not immediately affect the user experience on Linux systems. In any case, however, it clearly signals an effort across projects to support age-aware behavior in desktop applications. And by all accounts, it seems that a move in this direction is becoming increasingly inevitable.