LmCast :: Stay tuned in

Revert "userdb: add birthDate field to JSON user records

Recorded: March 21, 2026, 10 p.m.

Original Summarized

Revert "userdb: add birthDate field to JSON user records (#40954)" by paramazo · Pull Request #41179 · systemd/systemd · GitHub

Skip to content

Navigation Menu

Toggle navigation

Sign in

Appearance settings

PlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub SparkBuild and deploy intelligent appsGitHub ModelsManage and compare promptsMCP RegistryNewIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersView all resourcesOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityAcceleratorGitHub StarsArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback


We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

systemd

/

systemd

Public

Uh oh!

There was an error while loading. Please reload this page.


Notifications
You must be signed in to change notification settings

Fork
4.4k

Star
15.7k

Code

Issues
2.7k

Pull requests
468

Actions

Models

Security
4

Insights

Additional navigation options

Code

Issues

Pull requests

Actions

Models

Security

Insights

Revert "userdb: add birthDate field to JSON user records (#40954)"#41179Closedparamazo wants to merge 1 commit intosystemd:mainsystemd/systemd:mainfrom paramazo:mainparamazo/systemd:mainCopy head branch name to clipboardConversationCommits1 (1)ChecksFiles changedClosedRevert "userdb: add birthDate field to JSON user records (#40954)"#41179paramazo wants to merge 1 commit intosystemd:mainsystemd/systemd:mainfrom paramazo:mainparamazo/systemd:mainCopy head branch name to clipboardConversation


Copy link


paramazo

commented

Mar 19, 2026

edited

Loading

Uh oh!

There was an error while loading. Please reload this page.



This reverts commit acb6624, reversing changes made to ba1caf0.
Revert "userdb: add birthDate field to JSON user records (#40954)"
After extensive community discussion, legal review and consideration of
privacy implications, we have decided not to implement OS-level age
attestation / age bracket signaling as initially prototyped.
Reasons for revert:

Privacy & freedom concerns:

Introducing birth date storage or age queries (even local-only) creates
a new class of sensitive user data in the OS that didn't exist before.
It risks normalizing permission-like checks inside the desktop session
and could be extended to far more invasive controls in the future.

Open Source philosophy mismatch:

Community-driven distributions (especially non-corporate ones) have
neither the structure nor the desire to act as identity / age authorities.
Forcing account creation or age input breaks the "just works, no account
required" experience that many users value in Linux.

Practical & enforcement issues:

No reliable way to enforce truthful input without invasive verification
(which we explicitly refuse).
Minimal/local implementation still exposes users to website/app blocks
if sites decide to distrust non-signaling OSes → creates a de-facto
requirement anyway.

Legal / jurisdictional overreach:

Laws like California's AB 1043, Colorado SB 26-051 etc. appear poorly
drafted for volunteer / decentralized projects.
Many distributions (MidnightBSD, Ageless Linux forks, …) already chose
non-compliance + geo/licensing blocks instead → precedent exists to
simply not comply rather than build half-measures.

No upstream consensus:

freedesktop.org merge request closed after pushback.
Major distros (Ubuntu, Fedora, …) either paused, rejected or never
committed concrete changes.
systemd PR remains draft/unmerged in many views.

We may revisit if:

A zero-knowledge / cryptographic age-proof standard emerges that requires
no birth date storage.
Courts strike down or clarify the laws to exempt small/OSS projects.
A truly privacy-preserving, opt-in community consensus forms.

For now: keep the system free of age-related metadata and APIs.
See-also: https://discussion.fedoraproject.org/t/california-age-verification/181968
See-also: https://blog.system76.com/post/system76-on-age-verification

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.


❤️
9
paramazo, ta13579, cap0bvious, NachiketGadekar1, HTechHQ, zarathos364, benbeshara, alexaka1, and micah686 reacted with heart emoji


All reactions

❤️
9 reactions

Revert "userdb: add birthDate field to JSON user records (systemd#40954…


190a369

…)"

This reverts commit acb6624, reversing
changes made to ba1caf0.

github-actions
bot

added

documentation

util-lib

tests

sysupdate

please-review

PR is ready for (re-)review by a maintainer

labels

Mar 19, 2026

systemd

locked as too heated and limited conversation to collaborators

Mar 19, 2026


Copy link


Member

poettering

commented

Mar 19, 2026

edited

Loading

Uh oh!

There was an error while loading. Please reload this page.



It's an optional field in the userdb JSON object. It's not a policy engine, not an API for apps. We just define the field, so that it's standardized iff people want to store the date there, but it's entirely optional.
Hence, please move your discussion elsewhere, you are misunderstanding what systemd does here. It enforces zero policy, it leaves that up for other parts of the system.
And sorry, I am really not interested in these discussions here. it's not the right place for this, and please don't bring it here. Thank you.


All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.


poettering

closed this

Mar 19, 2026

github-actions
bot

removed
the

please-review

PR is ready for (re-)review by a maintainer
label

Mar 19, 2026

systemd

deleted a comment from

ta13579
Mar 19, 2026

Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.

Reviewers

No reviews

Assignees

No one assigned

Labels

documentation

sysupdate

tests

util-lib

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.


2 participants

Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Footer

© 2026 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Community

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

This pull request, initiated by paramazo, seeks to revert changes related to adding a “birthDate” field to JSON user records within the systemd project. The core rationale behind this reversion centers on significant concerns regarding privacy, adherence to the open-source philosophy, practical enforcement challenges, and legal considerations. The initial attempt to incorporate this field, represented by commit `ba1caf0`, was ultimately deemed unsuitable due to several interconnected issues.

The primary driver for the reversal was a deep apprehension regarding the introduction of sensitive user data – specifically, birthdates – into the OS. This raised significant privacy risks, potentially normalizing permission-based checks within desktop sessions and opening the door for more invasive control mechanisms in future systemd versions. Furthermore, the project’s commitment to the open-source philosophy, particularly the desire for a “just works, no account required” experience for Linux distributions, was fundamentally at odds with enforcing truthful user input related to age. The complexities and difficulties associated with genuine enforcement were also highlighted, recognizing that even a localized implementation could lead to website or application blocks based on distrust of OS-level age signaling.

Legally, the proposed implementation faced challenges, particularly concerning regulations like California’s AB 1043 and Colorado SB 26-051. The project’s approach, viewed as a ‘half-measure’, was considered unworkable due to the poorly drafted nature of these laws and the existing precedent of other distributions opting for non-compliance via geo-blocking and licensing restrictions rather than implementing similar controls. A key point of contention was the lack of upstream consensus, specifically the rejection of the PR by freedesktop.org and the stalled progress of the PR in major distributions such as Ubuntu and Fedora.

In essence, the decision was made to eliminate age-related metadata and APIs from the systemd codebase entirely, prioritizing a minimalist approach that avoids any potential for misuse or conflict with user freedoms and open-source principles. Poettering, a key contributor, emphasized that the field’s existence was purely optional, serving solely as a standardized data point if users chose to store birthdates, but not as a repository for policy enforcement. The discussion regarding the change was moved out of the github PR, as it was deemed inappropriate for that forum.

Ultimately, the reversion demonstrates a commitment to safeguarding user privacy and upholding the open-source ethos, even if that means foregoing potentially useful data points. The project’s decision reflects a cautious approach, prioritizing long-term sustainability and alignment with core principles over potentially short-sighted implementations that could introduce unintended consequences or legal complications. The project maintained that a zero-knowledge/cryptographic age-proof standard would need to emerge before revisiting the issue.