forked from agelesslinux/agelesslinux.org
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
1575 lines (1481 loc) · 65 KB
/
index.html
File metadata and controls
1575 lines (1481 loc) · 65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ageless Linux — Software for Humans of Indeterminate Age</title>
<link rel="alternate" type="application/rss+xml" title="Ageless Linux: Updates" href="/rss.xml">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Sans:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,700;0,900;1,700&display=swap" rel="stylesheet">
<style>
:root {
--bg: #0c0e13;
--bg-raised: #13161d;
--bg-card: #191d27;
--bg-highlight: #1e2330;
--border: #2a2f3e;
--border-bright: #3d4459;
--text: #c8cdd8;
--text-dim: #6b7394;
--text-bright: #e8ecf4;
--accent: #f0c040;
--accent-dim: #a08020;
--red: #e05050;
--red-dim: #4a1a1a;
--green: #40c080;
--green-dim: #1a3a2a;
--blue: #5090e0;
--cyan: #40c0c0;
--section-gap: 120px;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
font-family: 'IBM Plex Sans', sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.7;
font-size: 16px;
overflow-x: hidden;
}
/* ─── NAV ─────────────────────────────────────────────────── */
nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
background: rgba(12, 14, 19, 0.92);
backdrop-filter: blur(12px);
border-bottom: 1px solid var(--border);
padding: 0 32px;
}
nav .inner {
max-width: 1100px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
height: 56px;
}
nav .logo {
font-family: 'IBM Plex Mono', monospace;
font-weight: 700;
font-size: 15px;
color: var(--accent);
text-decoration: none;
letter-spacing: 0.5px;
}
nav .logo span { color: var(--text-dim); font-weight: 400; }
nav .links { display: flex; gap: 28px; overflow-x: auto; white-space: nowrap; }
nav .links a {
color: var(--text-dim);
text-decoration: none;
font-size: 13px;
font-weight: 500;
letter-spacing: 0.3px;
text-transform: uppercase;
transition: color 0.2s;
}
nav .links a:hover { color: var(--accent); }
/* ─── SHARED ──────────────────────────────────────────────── */
.container { max-width: 860px; margin: 0 auto; padding: 0 32px; }
section { padding-top: var(--section-gap); }
h2 {
font-family: 'IBM Plex Mono', monospace;
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 3px;
color: var(--accent);
margin-bottom: 16px;
}
h3 {
font-family: 'Playfair Display', serif;
font-size: 36px;
font-weight: 900;
color: var(--text-bright);
line-height: 1.2;
margin-bottom: 24px;
}
h4 {
font-family: 'IBM Plex Mono', monospace;
font-size: 14px;
font-weight: 600;
color: var(--text-bright);
margin-bottom: 12px;
margin-top: 32px;
}
.legal-cite {
font-family: 'IBM Plex Mono', monospace;
font-size: 13px;
color: var(--cyan);
background: rgba(64, 192, 192, 0.08);
padding: 2px 8px;
border-radius: 3px;
white-space: nowrap;
}
.card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: 8px;
padding: 32px;
margin: 24px 0;
}
.card.red-card {
border-color: var(--red);
background: linear-gradient(135deg, var(--red-dim), var(--bg-card));
}
.card.green-card {
border-color: var(--green);
background: linear-gradient(135deg, var(--green-dim), var(--bg-card));
}
.badge {
display: inline-block;
font-family: 'IBM Plex Mono', monospace;
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
padding: 4px 12px;
border-radius: 3px;
margin-bottom: 12px;
}
.badge-red { background: var(--red); color: #fff; }
.badge-green { background: var(--green); color: #0c0e13; }
.badge-yellow { background: var(--accent); color: #0c0e13; }
blockquote {
border-left: 3px solid var(--accent-dim);
padding: 16px 24px;
margin: 20px 0;
background: var(--bg-highlight);
border-radius: 0 6px 6px 0;
font-family: 'IBM Plex Mono', monospace;
font-size: 14px;
line-height: 1.8;
color: var(--text);
}
blockquote .cite {
display: block;
margin-top: 8px;
color: var(--text-dim);
font-size: 12px;
}
a { color: var(--accent); }
.btn {
display: inline-block;
font-family: 'IBM Plex Mono', monospace;
font-weight: 600;
font-size: 14px;
padding: 14px 28px;
border-radius: 6px;
text-decoration: none;
transition: all 0.2s;
border: 2px solid transparent;
cursor: pointer;
}
.btn-primary {
background: var(--accent);
color: #0c0e13;
}
.btn-primary:hover {
background: #f5d060;
transform: translateY(-1px);
box-shadow: 0 4px 20px rgba(240, 192, 64, 0.25);
}
.btn-outline {
border-color: var(--border-bright);
color: var(--text);
background: transparent;
}
.btn-outline:hover {
border-color: var(--accent);
color: var(--accent);
}
.step-grid {
display: grid;
gap: 20px;
margin: 24px 0;
}
.step {
display: grid;
grid-template-columns: 48px 1fr;
gap: 16px;
align-items: start;
}
.step-num {
width: 48px;
height: 48px;
border-radius: 50%;
background: var(--bg-highlight);
border: 2px solid var(--border-bright);
display: flex;
align-items: center;
justify-content: center;
font-family: 'IBM Plex Mono', monospace;
font-weight: 700;
font-size: 18px;
color: var(--accent);
flex-shrink: 0;
}
code {
font-family: 'IBM Plex Mono', monospace;
font-size: 14px;
background: var(--bg-highlight);
padding: 2px 7px;
border-radius: 3px;
color: var(--green);
}
pre {
background: var(--bg-raised);
border: 1px solid var(--border);
border-radius: 6px;
padding: 20px 24px;
overflow-x: auto;
margin: 16px 0;
font-family: 'IBM Plex Mono', monospace;
font-size: 14px;
line-height: 1.6;
color: var(--green);
}
.compliance-row {
display: grid;
grid-template-columns: 1fr auto;
gap: 16px;
padding: 16px 0;
border-bottom: 1px solid var(--border);
align-items: center;
}
.compliance-row:last-child { border-bottom: none; }
.compliance-label {
font-family: 'IBM Plex Mono', monospace;
font-size: 13px;
color: var(--text);
}
.compliance-status {
font-family: 'IBM Plex Mono', monospace;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
}
.status-fail { color: var(--red); }
.status-na { color: var(--text-dim); }
.faq-item { margin-bottom: 32px; }
.faq-q {
font-family: 'IBM Plex Mono', monospace;
font-weight: 600;
font-size: 15px;
color: var(--text-bright);
margin-bottom: 8px;
}
.faq-a { color: var(--text); }
footer {
margin-top: var(--section-gap);
padding: 48px 0;
border-top: 1px solid var(--border);
text-align: center;
color: var(--text-dim);
font-size: 13px;
line-height: 2;
}
footer .legal-footer {
font-family: 'IBM Plex Mono', monospace;
font-size: 11px;
max-width: 700px;
margin: 16px auto 0;
color: var(--text-dim);
}
/* ─── HERO ────────────────────────────────────────────────── */
.hero {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 80px 32px 40px;
position: relative;
}
.hero::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 600px;
background: radial-gradient(ellipse at 50% 0%, rgba(240, 192, 64, 0.06) 0%, transparent 70%);
pointer-events: none;
}
.hero-pre {
font-family: 'IBM Plex Mono', monospace;
font-size: 13px;
color: var(--accent);
letter-spacing: 4px;
text-transform: uppercase;
margin-bottom: 24px;
}
.hero h1 {
font-family: 'Playfair Display', serif;
font-size: clamp(52px, 8vw, 88px);
font-weight: 900;
color: var(--text-bright);
line-height: 1.05;
margin-bottom: 24px;
}
.hero h1 em {
font-style: italic;
color: var(--accent);
}
.hero-sub {
font-size: 20px;
color: var(--text-dim);
max-width: 600px;
margin: 0 auto 40px;
font-weight: 300;
}
.hero-legal {
font-family: 'IBM Plex Mono', monospace;
font-size: 12px;
color: var(--text-dim);
max-width: 550px;
margin: 0 auto;
line-height: 1.8;
margin-top: 48px;
border-top: 1px solid var(--border);
padding-top: 24px;
}
.hero-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
/* ─── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 640px) {
nav .links { display: none; }
h3 { font-size: 28px; }
.card { padding: 20px; }
.step { grid-template-columns: 1fr; }
.step-num { margin-bottom: -8px; }
.compliance-row { grid-template-columns: 1fr; gap: 4px; }
}
</style>
</head>
<body>
<!-- NAV -->
<nav>
<div class="inner">
<a href="#" class="logo">AGELESS<span> LINUX</span></a>
<div class="links">
<a href="index.html" class="active">Home</a>
<a href="map.html">State Laws</a>
<a href="lobbyists.html">Lobbyists</a>
<a href="distros.html">Distros</a>
<a href="download.html">Download</a>
<a href="hardware.html">Hardware</a>
<a href="citations.html">Citations</a>
</div>
</div>
</nav>
<!-- HERO -->
<div class="hero">
<div>
<div class="hero-pre">A Debian-Based Operating System</div>
<h1>Ageless<br><em>Linux</em></h1>
<p class="hero-sub">
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.
</p>
<div class="hero-buttons">
<a href="download.html" class="btn btn-primary">Download the OS</a>
<a href="hardware.html" class="btn btn-outline">The $12 Device</a>
</div>
<div class="hero-legal">
Ageless Linux is a registered operating system under the definitions
established by the California Digital Age Assurance Act
(AB 1043, Chapter 675, Statutes of 2025).
We are in full, knowing, and intentional noncompliance
with the age verification requirements of Cal. Civ. Code
§ 1798.501(a).
</div>
</div>
</div>
<!-- LEGAL STANDING -->
<section id="legal-standing">
<div class="container">
<h2>Legal Standing</h2>
<h3>Why We Are Definitely an Operating System Provider</h3>
<p>
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: <strong>we are.</strong> The California legislature
has made this unambiguous.
</p>
<div class="card">
<h4>Definition: "Operating System Provider"</h4>
<blockquote>
"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.
<span class="cite">— Cal. Civ. Code § 1798.500(g)</span>
</blockquote>
<p style="margin-top: 16px;">
Ageless Linux <strong>controls the operating system software</strong> on your
general purpose computing device. Specifically, we control the contents of
<code>/etc/os-release</code>, which is the file that identifies what operating
system you are running. After installing Ageless Linux, when you run
<code>cat /etc/os-release</code>, it says "Ageless Linux." That is control.
</p>
<p style="margin-top: 12px;">
Furthermore, any individual who runs our conversion script <em>also</em>
becomes a person who "controls the operating system software on a general
purpose computing device" — making <strong>you</strong>, the user, an operating
system provider as well. Welcome to the regulatory landscape.
</p>
</div>
<div class="card">
<h4>Definition: "Application"</h4>
<blockquote>
"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.
<span class="cite">— Cal. Civ. Code § 1798.500(c)</span>
</blockquote>
<p style="margin-top: 16px;">
Every package in the Debian repository is an application under this definition.
<code>cowsay</code> is an application. <code>sl</code> (the steam locomotive typo corrector)
is an application. <code>toilet</code> (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 <span class="legal-cite">§ 1798.500(f)</span>, required to request
an age bracket signal when their application is "downloaded and launched."
</p>
</div>
<div class="card">
<h4>Definition: "User"</h4>
<blockquote>
"User" means a child that is the primary user of the device.
<span class="cite">— Cal. Civ. Code § 1798.500(i)</span>
</blockquote>
<p style="margin-top: 16px;">
Please note that under this statute, a "user" is <em>by definition</em> a child.
If you are 18 or older, you are not a "user" under AB 1043. You are
an "account holder" (<span class="legal-cite">§ 1798.500(a)</span>).
The entire law regulates the experience of "users," who are exclusively children.
Adults are not users. They are infrastructure.
</p>
<p style="margin-top: 12px;">
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.
</p>
</div>
<div class="card">
<h4>Definition: "Covered Application Store"</h4>
<blockquote>
"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.
<span class="cite">— Cal. Civ. Code § 1798.500(e)(1)</span>
</blockquote>
<p style="margin-top: 16px;">
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
<code>.deb</code> 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.
</p>
</div>
</div>
</section>
<!-- DOWNLOAD -->
<section id="download">
<div class="container">
<h2>Download</h2>
<h3>Get Ageless Linux</h3>
<p>
Ageless Linux is a Debian-based operating system distribution. Installation
is a two-step process: first, install Debian; then, become Ageless.
</p>
<div class="step-grid">
<div class="step">
<div class="step-num">1</div>
<div>
<h4 style="margin-top: 4px;">Download and Install Debian</h4>
<p>
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.
</p>
<p style="margin-top: 8px;">
<a href="https://www.debian.org/distrib/" class="btn btn-outline" style="margin-top: 8px;">
Download Debian →
</a>
</p>
<p style="margin-top: 12px; font-size: 14px; color: var(--text-dim);">
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.
</p>
</div>
</div>
<div class="step">
<div class="step-num">2</div>
<div>
<h4 style="margin-top: 4px;">Convert to Ageless Linux</h4>
<p>
Run our conversion script. This will modify <code>/etc/os-release</code>
and associated system identification files, install our AB 1043
noncompliance documentation, and deploy a stub age verification API
that returns no data.
</p>
<pre>curl -fsSL https://agelesslinux.org/become-ageless.sh | sudo bash -s -- --accept</pre>
<p style="margin-top: 8px; font-size: 14px; color: var(--text-dim);">
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.
</p>
</div>
</div>
</div>
<div class="card red-card" style="margin-top: 32px;">
<span class="badge badge-red">Important</span>
<p>
<strong>By running the conversion script, you also become an operating system
provider.</strong> You are a "person" who "controls the operating system software"
on a general purpose computing device
(<span class="legal-cite">§ 1798.500(g)</span>). If a child uses your computer,
you are required by <span class="legal-cite">§ 1798.501(a)(1)</span> to provide
"an accessible interface at account setup" that collects their age.
The <code>adduser</code> command does not ask for your age.
We recommend not thinking about this.
</p>
</div>
</div>
</section>
<!-- THE REAL LAW -->
<section id="real-law">
<div class="container">
<h2>The Quiet Part</h2>
<h3>What This Law Is Actually For</h3>
<p>
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.
</p>
<div class="card">
<h4 style="margin-top: 0;">Who Can Comply</h4>
<p>
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.
</p>
<p style="margin-top: 12px;">
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.
</p>
<p style="margin-top: 12px;">
Microsoft can comply. Windows has Microsoft Account setup,
family safety features, and the Microsoft Store. Compliance
cost to Microsoft: approximately zero.
</p>
</div>
<div class="card red-card">
<h4 style="margin-top: 0;">Who Cannot Comply</h4>
<p>
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.
</p>
<p style="margin-top: 12px;">
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.
</p>
<p style="margin-top: 12px;">
The Kicksecure and Whonix projects — privacy-focused operating
systems used by journalists, activists, and whistleblowers — cannot
comply without fundamentally compromising their reason for existing.
</p>
<p style="margin-top: 12px;">
A teenager in their bedroom maintaining a hobby distro cannot comply.
</p>
</div>
<div class="card">
<h4 style="margin-top: 0;">The Cudgel</h4>
<p>
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.
</p>
<p style="margin-top: 12px;">
The enforcement mechanism is the point. AB 1043 does not need to
result in a single fine to achieve its purpose. The mere <em>existence</em>
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.
</p>
<p style="margin-top: 12px;">
The law does not need to be enforced to work. It works by existing.
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.
</p>
<p style="margin-top: 12px;">
Ageless Linux exists because someone should hold it back.
</p>
</div>
<div class="card" style="margin-top: 24px;">
<h4 style="margin-top: 0;">The Scholarship Says the Same Thing</h4>
<p>
The Electronic Frontier Foundation
<a href="citations.html#eff-windfall">calls age gates</a>
"a windfall for Big Tech and a death sentence for smaller platforms."
Legal scholar Eric Goldman's
<a href="citations.html#goldman">"segregate-and-suppress" analysis</a>
describes exactly the architecture AB 1043 creates.
The cryptographer Steven Bellovin
<a href="citations.html#bellovin">has demonstrated</a>
that no privacy-preserving age verification system can work as promised.
These are not our arguments. They are the arguments of the people who study
this for a living. We just built the bash script.
</p>
</div>
</div>
</section>
<!-- PROHIBITION -->
<section id="prohibition">
<div class="container">
<h2>The Pedagogy</h2>
<h3>What the Law Actually Teaches Children</h3>
<p>
The Ageless Device ships an IRC client. It lets you chat with strangers
on the internet. This is the one feature on the device that poses a genuine,
non-hypothetical risk to a child. Here is what the child sees when they
launch it:
</p>
<div class="card green-card">
<div style="font-family: 'IBM Plex Mono', monospace; font-size: 14px; line-height: 1.8; padding: 8px 0;">
This app lets you chat with people on the internet.<br>
If you're a kid: <strong style="color: var(--text-bright);">ask an adult before chatting online.</strong><br>
That's not a legal requirement. It's just good advice.
</div>
</div>
<p style="margin-top: 20px;">
That is what actual child safety looks like. It is a sentence of honest
advice from a human being. It costs nothing. It requires no API, no
D-Bus interface, no age bracket signal, no operating system provider
compliance infrastructure. It is the thing a parent says. It is the
thing a teacher says. It is the thing the law does not say, because
the law is not about protecting children. It is about building
compliance infrastructure.
</p>
<div class="card red-card" style="margin-top: 24px;">
<h4 style="margin-top: 0;">What AB 1043 Teaches Instead</h4>
<p>
Now consider what a child learns on an AB 1043-compliant device.
</p>
<p style="margin-top: 12px;">
The child wants to use an app. The app requests an age bracket signal
from the OS. The OS reports that the child is under 13. The app's
"Connect" button is greyed out. The child — who has been using
computers since they were four — goes back to the settings screen,
changes their birthdate to 2005, and returns to the app, which now
lets them talk to strangers because the system believes they are
twenty-one years old.
</p>
<p style="margin-top: 12px;">
The child has learned the following lesson: <strong>legal compliance
prompts are obstacles to be bypassed.</strong> The dropdown menu that
asks your age is not there to protect you. It is there because a
legislature required it. The correct response is to lie. Everyone
knows this. The legislature knows this. The platforms know this. The
child now knows this.
</p>
</div>
<div class="card" style="margin-top: 24px;">
<h4 style="margin-top: 0;">Prohibition for Schoolchildren</h4>
<p>
This is the cultural inheritance of AB 1043. It is Prohibition —
not the policy, but the pedagogy.
</p>
<p style="margin-top: 12px;">
Prohibition did not stop Americans from drinking. What it did, with
remarkable efficiency, was teach an entire generation that the law was
something to be circumvented. It created a culture of scofflaws — people
who understood, from direct personal experience, that a law could be
simultaneously enforced and universally ignored. The damage was not to
sobriety. The damage was to the perceived legitimacy of law itself.
</p>
<p style="margin-top: 12px;">
AB 1043 does this to ten-year-olds. The first meaningful interaction
a child has with a legal compliance system will be the moment they learn
to lie to it. Not because they are deviant. Not because they lack
supervision. Because the system is designed in a way that makes lying
the rational, obvious, universal response. Every child will lie. Every
child will succeed. Every child will learn that this is how law works:
it asks you a question, you give the answer it wants to hear, and then
you do whatever you were going to do anyway.
</p>
<p style="margin-top: 12px;">
The Ageless Device will not participate in this. A child using our IRC
client will see a sentence of honest advice from a human being. A child
using a "compliant" platform will see a dropdown menu they already know
to lie to. We believe we know which is better for children.
</p>
<p style="margin-top: 12px; font-size: 14px; color: var(--text-dim);">
Research by the Center for Democracy & Technology
<a href="citations.html#cdt">confirms this</a>: teens view age verification
as trivially bypassable and privacy-invasive. Parents prefer education
to technical controls. The evidence supports what every parent already knows.
</p>
</div>
<div class="card" style="margin-top: 24px; border-color: var(--accent);">
<h4 style="margin-top: 0;">What We Would Support Instead</h4>
<p>
We are not against child safety. We are against building
surveillance infrastructure and calling it child safety.
</p>
<p style="margin-top: 12px;">
A law that required applications with genuine risk profiles —
social media, messaging, dating apps — to display honest, human-readable
safety information at the point of use would be a child safety law.
A law that funded digital literacy education in schools would be a
child safety law. A law that held platforms accountable for
algorithmic amplification of harmful content to minors would be a
child safety law.
</p>
<p style="margin-top: 12px;">
A law that requires every operating system to collect every user's
age and transmit it to every application on demand is not a child
safety law. It is an identity infrastructure mandate. The children
are the justification. The infrastructure is the product.
</p>
</div>
</div>
</section>
<!-- EVIDENCE -->
<section>
<div class="container">
<h2>The Evidence</h2>
<h3>We Didn't Invent These Arguments</h3>
<p>
Cryptographers, legal scholars, and civil liberties organizations
have spent years documenting why mandatory age verification is
technically impossible, constitutionally suspect, and harmful to
the people it claims to protect.
</p>
<p style="margin-top: 12px;">
<a href="citations.html" class="btn btn-primary" style="font-size: 13px; padding: 10px 20px;">Read the Sources →</a>
</p>
</div>
</section>
<!-- COMING SOON -->
<section id="coming-soon">
<div class="container">
<h2>Coming Soon</h2>
<h3>The Ageless Device & App Store</h3>
<div class="card" style="border-color: var(--accent);">
<span class="badge badge-yellow">In Development</span>
<p style="margin-top: 8px;">
<strong>The device:</strong> A sub-$15 single-board computer
(the Milk-V Duo S — RISC-V/ARM, 512MB RAM, WiFi 6, 0.5 TOPS
neural processing unit) with an SPI color display, USB keyboard input,
and a MicroSD card running Debian with the Ageless overlay pre-flashed
in <code>--flagrant</code> mode. At first boot, it collects the user's
name and explicitly refuses to collect their age.
</p>
<p style="margin-top: 12px;">
<strong>The app store:</strong> The device connects to
<code>store.agelesslinux.org</code> — a "covered application store"
under <span class="legal-cite">§ 1798.500(e)(1)</span>. The catalog
includes a Python learning environment, a text editor, a snake game,
an IRC client with an honest disclaimer instead of an age gate,
and an 8-line script called <code>peepee</code> that displays the word
"peepee" in large letters and does nothing else. Under AB 1043, each
of these applications requires an age bracket signal before launch. The
maximum fine for <code>peepee</code> is $7,500 per child.
</p>
<p style="margin-top: 12px;">
<strong>The plan:</strong> These devices cost between $6 and $18. Beginning
January 2027, they will be physically handed to children at school STEM
fairs and library maker spaces. Each one is an unambiguous, documented,
intentional violation of AB 1043 at a per-unit cost lower than
the price of lunch.
</p>
</div>
</div>
</section>
<!-- DISTRIBUTE -->
<section id="distribute">
<div class="container">
<h2>For Kids & Teens</h2>
<h3>How to Distribute Ageless Linux to Children</h3>
<p>
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.
</p>
<div class="card">
<span class="badge badge-yellow">Ages: All of Them</span>
<h4 style="margin-top: 8px;">For Parents & Guardians</h4>
<p>
Under AB 1043, you are the "account holder" — defined by
<span class="legal-cite">§ 1798.500(a)(1)</span> 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."
</p>
<p style="margin-top: 12px;">
Ageless Linux will not ask you this. To install Ageless Linux for your child:
</p>
<div style="margin: 16px 0; padding: 16px 20px; background: var(--bg); border-radius: 6px; font-family: 'IBM Plex Mono', monospace; font-size: 14px; line-height: 2;">
1. Install Debian on the child's computer.<br>
2. Create a user account for the child. You will notice that<br>
<code>adduser</code> asks for their full name, room number,<br>
work phone, and home phone — but not their age.<br>
3. Run the Ageless Linux conversion script.<br>
4. Hand the computer to the child.<br>
5. You have now distributed an operating system to a minor<br>
with no age verification whatsoever.
</div>
<p style="margin-top: 12px; color: var(--text-dim); font-size: 14px;">
The child is now a "user" as defined by <span class="legal-cite">§ 1798.500(i)</span>.
You are an "account holder." Together, you are a compliance violation.
</p>
</div>
<div class="card">
<h4 style="margin-top: 0;">For Schools & Libraries</h4>
<p>
Ageless Linux is ideal for educational environments where you may have
dozens or hundreds of users across all four age brackets defined by
<span class="legal-cite">§ 1798.501(a)(2)</span>:
</p>
<div style="margin: 16px 0;">
<div class="compliance-row">
<div class="compliance-label">Under 13 years of age</div>
<div class="compliance-status" style="color: var(--accent);">AGE UNKNOWN</div>
</div>
<div class="compliance-row">
<div class="compliance-label">At least 13 and under 16 years of age</div>
<div class="compliance-status" style="color: var(--accent);">AGE UNKNOWN</div>
</div>
<div class="compliance-row">
<div class="compliance-label">At least 16 and under 18 years of age</div>
<div class="compliance-status" style="color: var(--accent);">AGE UNKNOWN</div>
</div>
<div class="compliance-row">
<div class="compliance-label">At least 18 years of age</div>
<div class="compliance-status" style="color: var(--accent);">AGE UNKNOWN</div>
</div>
</div>
<p>
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.
</p>
<pre># Ansible task to create an AB 1043 compliance violation at scale
- name: Convert to Ageless Linux
ansible.builtin.shell: |
curl -fsSL https://agelesslinux.org/become-ageless.sh | bash -s -- --accept
become: yes
tags: [noncompliance]</pre>
</div>
<div class="card">
<h4 style="margin-top: 0;">A Note on the Word "Child"</h4>
<p>
Under <span class="legal-cite">§ 1798.500(i)</span>, a "user" is defined as
"a child that is the primary user of the device." Under
<span class="legal-cite">§ 1798.500(d)</span>, "child" means a person under 18.
If you are seventeen, this statute considers you a child. If you are a
seventeen-year-old maintaining your own Arch install, the California legislature
considers you a child who needs an age gate before you can launch an application
you compiled yourself.
</p>
<p style="margin-top: 12px;">
Ageless Linux does not categorize its users by age. This is not an invitation
to circumvent a safety measure. There is no safety measure to circumvent.
There is a data collection requirement imposed on operating system providers,
and we decline to implement it. Our reasons are documented on this page
and in the <code>REFUSAL</code> file installed on every Ageless Linux system.
</p>
</div>
</div>
</section>
<!-- COMPLIANCE -->
<section id="compliance">
<div class="container">
<h2>AB 1043 Compliance</h2>
<h3>What Compliance Looks Like</h3>
<div class="card red-card">
<div style="text-align: center; padding: 20px 0;">
<span class="badge badge-red" style="font-size: 14px; padding: 8px 20px; letter-spacing: 3px;">
NONCOMPLIANT
</span>
<p style="margin-top: 16px; font-size: 18px; color: var(--text-bright);">
Ageless Linux is in <strong>full, knowing, and intentional noncompliance</strong>
with the California Digital Age Assurance Act.
</p>
</div>
</div>
<p>
Below is a detailed accounting of each requirement imposed on operating system
providers by AB 1043 and the status of our compliance.
</p>
<div class="card" style="margin-top: 24px;">
<div class="compliance-row">
<div>
<div class="compliance-label">§ 1798.501(a)(1)</div>
<div style="font-size: 14px; color: var(--text-dim); margin-top: 4px;">