-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoap.html
More file actions
1142 lines (1062 loc) · 58.6 KB
/
oap.html
File metadata and controls
1142 lines (1062 loc) · 58.6 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">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>OAP — Integrity Governance Engine | Orthonode Labs</title>
<meta name="description" content="OAP (Orthonode Assurance Platform) — deterministic motion validation and lifecycle trust governance for mobility, robotics, and DePIN systems. Physics compliance, device-bound identity, append-only integrity.">
<link rel="canonical" href="https://orthonode.xyz/oap.html">
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<meta name="theme-color" content="#050505">
<link rel="icon" type="image/png" sizes="96x96" href="https://orthonode.xyz/site-logo.png">
<link rel="apple-touch-icon" href="https://orthonode.xyz/site-logo.png">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&display=swap" rel="stylesheet">
<style>
:root {
--bg-primary: #050505;
--bg-secondary: #0a0a0a;
--bg-elevated: #111111;
--border-subtle: #1a1a1a;
--border-primary: #262626;
--border-bright: #333333;
--text-primary: #ffffff;
--text-secondary: #ededed;
--text-tertiary: #a3a3a3;
--text-dim: #737373;
--text-muted: #525252;
--accent-arbitrum: #28a0f0;
--accent-arbitrum-glow: rgba(40, 160, 240, 0.3);
--accent-success: #22c55e;
--accent-success-glow: rgba(34, 197, 94, 0.3);
--accent-warning: #fbbf24;
--accent-warning-glow: rgba(251, 191, 36, 0.2);
--accent-critical: #ef4444;
/* OAP uses amber/warning as its signature accent */
--oap-accent: #fbbf24;
--oap-accent-glow: rgba(251, 191, 36, 0.15);
--oap-accent-border: rgba(251, 191, 36, 0.3);
--font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
--font-mono: 'JetBrains Mono', 'Courier New', monospace;
--font-display: 'Space Grotesk', sans-serif;
--shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.5);
--shadow-md: 0 4px 6px -1px rgba(0,0,0,0.5);
--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.7);
--shadow-glow: 0 0 20px rgba(251, 191, 36, 0.1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body {
background: var(--bg-primary);
color: var(--text-secondary);
font-family: var(--font-ui);
font-size: 16px;
line-height: 1.6;
overflow-x: hidden;
}
body::before {
content: '';
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
background-image:
linear-gradient(var(--border-subtle) 1px, transparent 1px),
linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px);
background-size: 50px 50px;
opacity: 0.3;
z-index: -1;
pointer-events: none;
}
/* Security Gate */
#security-gate {
position: fixed;
top: 0; left: 0;
width: 100vw; height: 100vh;
background: var(--bg-primary);
z-index: 9999;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 2rem;
}
#security-gate h2 {
font-family: var(--font-display);
color: var(--text-primary);
margin-bottom: 2rem;
font-size: 1.5rem;
letter-spacing: 0.05em;
}
#security-gate img {
width: 80px; height: auto;
margin-bottom: 1.5rem;
filter: drop-shadow(0 0 20px rgba(251, 191, 36, 0.2));
}
#app-content { display: none; opacity: 0; transition: opacity 0.5s ease-in; }
::selection { background: var(--oap-accent-glow); color: var(--text-primary); }
a { color: var(--text-secondary); text-decoration: none; transition: all 0.2s ease; }
a:hover { color: var(--text-primary); }
/* Header */
header {
position: fixed;
top: 0; width: 100%;
z-index: 1000;
backdrop-filter: blur(12px) saturate(180%);
background: rgba(5,5,5,0.85);
border-bottom: 1px solid var(--border-primary);
}
.header-content {
max-width: 1400px; margin: 0 auto;
padding: 0.875rem 2rem;
display: flex; justify-content: space-between; align-items: center; gap: 2rem;
}
.header-left, .header-right {
display: flex; align-items: center; gap: 1rem;
font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.025em;
}
.status-indicator { display: flex; align-items: center; gap: 0.5rem; color: var(--text-dim); }
.status-dot {
width: 6px; height: 6px;
background: var(--oap-accent);
border-radius: 50%;
box-shadow: 0 0 10px var(--oap-accent-glow);
animation: pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;
}
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
.network-badge {
padding: 0.25rem 0.75rem;
background: var(--bg-elevated);
border: 1px solid var(--border-primary);
border-radius: 4px;
color: var(--oap-accent);
font-weight: 500;
white-space: nowrap;
font-family: var(--font-mono);
font-size: 0.75rem;
}
.nav-back {
color: var(--text-dim);
font-family: var(--font-mono); font-size: 0.75rem;
display: flex; align-items: center; gap: 0.5rem;
transition: color 0.2s;
}
.nav-back:hover { color: var(--oap-accent); }
/* Container */
.container { max-width: 1400px; margin: 0 auto; padding: 0 2rem; }
/* Page Hero */
.page-hero { padding-top: 8rem; padding-bottom: 4rem; }
.breadcrumb {
font-family: var(--font-mono); font-size: 0.75rem;
color: var(--text-muted); margin-bottom: 2rem; letter-spacing: 0.05em;
}
.breadcrumb span { color: var(--oap-accent); }
.oap-badge {
display: inline-flex; align-items: center; gap: 0.75rem;
padding: 0.5rem 1rem;
background: var(--bg-elevated);
border: 1px solid var(--border-bright);
border-radius: 6px;
font-family: var(--font-mono); font-size: 0.8rem;
color: var(--text-dim); margin-bottom: 2rem;
}
.oap-badge-dot {
width: 8px; height: 8px;
background: var(--oap-accent);
border-radius: 50%;
box-shadow: 0 0 8px var(--oap-accent-glow);
animation: pulse 2s infinite;
}
.page-title {
font-family: var(--font-display);
font-weight: 700;
font-size: clamp(2.5rem, 6vw, 4.5rem);
line-height: 0.95;
letter-spacing: -0.03em;
color: var(--text-primary);
margin-bottom: 1.5rem;
}
.page-title .highlight { color: var(--oap-accent); }
.page-intro {
font-size: clamp(1rem, 2vw, 1.25rem);
color: var(--text-tertiary);
max-width: 760px;
line-height: 1.65;
margin-bottom: 3rem;
padding-left: 1.5rem;
border-left: 3px solid var(--oap-accent);
}
/* Stats Strip */
.stats-strip {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: 1px;
background: rgba(255,255,255,.07);
border: 1px solid rgba(255,255,255,.09);
margin-bottom: 5rem;
}
.stat-item { background: linear-gradient(155deg,rgba(255,255,255,.042) 0%,rgba(255,255,255,.008) 100%),var(--bg-secondary); padding: 1.5rem; text-align: center;
box-shadow: 0 2px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.09);
}
.stat-value {
font-family: var(--font-mono); font-size: 1.6rem; font-weight: 700;
color: var(--oap-accent); display: block; margin-bottom: 0.25rem;
}
.stat-label {
font-family: var(--font-mono); font-size: 0.68rem;
color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em;
}
/* Section Headers */
.section-header {
font-family: var(--font-mono); font-size: 0.8rem;
color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.1em;
margin-bottom: 2rem; padding-bottom: 1rem;
border-bottom: 1px solid var(--border-primary);
}
/* Two-col layout */
.two-col {
display: grid; grid-template-columns: 1fr 1fr;
gap: 1px; background: rgba(255,255,255,.07);
border: 1px solid rgba(255,255,255,.09); margin-bottom: 2rem;
}
.two-col-card { background: linear-gradient(155deg,rgba(255,255,255,.042) 0%,rgba(255,255,255,.008) 100%),var(--bg-secondary); padding: 2.5rem;
box-shadow: 0 2px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.09);
}
.two-col-card h3 {
font-family: var(--font-display); font-size: 1.25rem;
color: var(--text-primary); margin-bottom: 1rem;
}
.two-col-card p {
color: var(--text-tertiary); font-size: 0.9375rem; line-height: 1.65;
}
.two-col-card p + p { margin-top: 1rem; }
/* Doctrine block */
.doctrine-section { margin-bottom: 5rem; }
.doctrine-grid {
display: grid; grid-template-columns: repeat(3, 1fr);
gap: 1px; background: rgba(255,255,255,.07);
border: 1px solid rgba(255,255,255,.09);
}
.doctrine-card {
background: linear-gradient(155deg,rgba(255,255,255,.042) 0%,rgba(255,255,255,.008) 100%),var(--bg-secondary); padding: 2rem 2.5rem;
transition: background .35s,box-shadow .35s,border-color .35s;
}
.doctrine-card:hover { background: linear-gradient(155deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.012) 100%),var(--bg-elevated);
box-shadow: 0 20px 60px rgba(0,0,0,.65),0 0 50px rgba(251,191,36,.07),inset 0 1px 0 rgba(255,255,255,.12);
}
.doctrine-number {
font-family: var(--font-mono); font-size: 0.68rem;
color: var(--oap-accent); letter-spacing: 0.1em;
margin-bottom: 0.75rem; text-transform: uppercase;
}
.doctrine-card h3 {
font-family: var(--font-display); font-size: 1rem;
color: var(--text-primary); margin-bottom: 0.5rem;
}
.doctrine-card p {
font-size: 0.875rem; color: var(--text-tertiary); line-height: 1.6;
}
/* Capabilities */
.capabilities-section { margin-bottom: 5rem; }
.capability-block {
background: rgba(255,255,255,.07);
border: 1px solid rgba(255,255,255,.09);
margin-bottom: 1px;
}
.capability-block:last-child { margin-bottom: 0; }
.cap-row {
display: grid; grid-template-columns: 320px 1fr;
gap: 0; background: linear-gradient(155deg,rgba(255,255,255,.042) 0%,rgba(255,255,255,.008) 100%),var(--bg-secondary);
transition: background .35s,box-shadow .35s,border-color .35s;
}
.cap-row:hover { background: linear-gradient(155deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.012) 100%),var(--bg-elevated);
box-shadow: 0 20px 60px rgba(0,0,0,.65),0 0 50px rgba(251,191,36,.07),inset 0 1px 0 rgba(255,255,255,.12);
}
.cap-label-col {
padding: 2.5rem;
border-right: 1px solid var(--border-primary);
}
.cap-num {
font-family: var(--font-mono); font-size: 0.68rem;
color: var(--oap-accent); text-transform: uppercase;
letter-spacing: 0.1em; margin-bottom: 0.75rem;
display: flex; align-items: center; gap: 0.5rem;
}
.cap-num::before { content: '//'; color: var(--text-muted); }
.cap-label-col h3 {
font-family: var(--font-display); font-size: 1.25rem;
color: var(--text-primary); line-height: 1.2;
}
.cap-body-col { padding: 2.5rem; }
.cap-body-col p {
color: var(--text-tertiary); font-size: 0.9375rem;
line-height: 1.65; margin-bottom: 1rem;
}
.cap-body-col p:last-child { margin-bottom: 0; }
.cap-body-col .cap-note {
font-family: var(--font-mono); font-size: 0.8rem;
color: var(--oap-accent); border-left: 2px solid var(--oap-accent);
padding-left: 1rem; margin-top: 1rem; font-style: italic; opacity: 0.85;
}
.cap-tags {
display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem;
}
.cap-tag {
font-family: var(--font-mono); font-size: 0.72rem;
padding: 0.25rem 0.6rem;
background: var(--bg-primary);
border: 1px solid var(--border-bright);
border-radius: 3px; color: var(--text-dim);
}
/* How It Works — Flow */
.flow-section { margin-bottom: 5rem; }
.flow-diagram {
display: grid; grid-template-columns: 1fr auto 1fr;
gap: 0; background: rgba(255,255,255,.07);
border: 1px solid rgba(255,255,255,.09);
}
.flow-side { background: linear-gradient(155deg,rgba(255,255,255,.042) 0%,rgba(255,255,255,.008) 100%),var(--bg-secondary); padding: 2.5rem;
box-shadow: 0 2px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.09);
}
.flow-divider {
width: 1px; background: var(--border-primary);
display: flex; align-items: center; justify-content: center;
position: relative;
}
.flow-divider::after {
content: '→';
position: absolute;
color: var(--oap-accent);
font-size: 1.5rem;
background: linear-gradient(155deg,rgba(255,255,255,.042) 0%,rgba(255,255,255,.008) 100%),var(--bg-secondary);
padding: 0.5rem;
}
.flow-side-label {
font-family: var(--font-mono); font-size: 0.72rem;
color: var(--oap-accent); text-transform: uppercase;
letter-spacing: 0.1em; margin-bottom: 1.5rem;
}
.flow-step-list { list-style: none; display: flex; flex-direction: column; gap: 1rem; }
.flow-step-item {
display: flex; align-items: flex-start; gap: 0.75rem;
font-size: 0.9rem; color: var(--text-tertiary); line-height: 1.5;
}
.flow-step-item::before {
content: '→';
color: var(--oap-accent); flex-shrink: 0; margin-top: 0.1rem;
}
.flow-step-item strong { color: var(--text-primary); display: block; margin-bottom: 0.2rem; }
.flow-note {
margin-top: 1px;
background: var(--bg-elevated);
border: 1px solid var(--border-primary);
border-top: 2px solid var(--oap-accent);
padding: 1.5rem 2.5rem;
font-family: var(--font-mono); font-size: 0.85rem;
color: var(--text-dim);
display: grid; grid-template-columns: 1fr 1fr;
gap: 1.5rem;
}
.flow-note-item strong { color: var(--oap-accent); }
/* Transparency Model */
.transparency-section { margin-bottom: 5rem; }
.transparency-grid {
display: grid; grid-template-columns: 1fr 1fr;
gap: 1px; background: rgba(255,255,255,.07);
border: 1px solid rgba(255,255,255,.09);
}
.transparency-card { background: linear-gradient(155deg,rgba(255,255,255,.042) 0%,rgba(255,255,255,.008) 100%),var(--bg-secondary); padding: 2.5rem;
box-shadow: 0 2px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.09);
}
.transparency-card h3 {
font-family: var(--font-display); font-size: 1rem;
color: var(--text-primary); margin-bottom: 1.25rem;
display: flex; align-items: center; gap: 0.75rem;
}
.t-dot-pub {
width: 8px; height: 8px; border-radius: 50%;
background: var(--accent-success);
box-shadow: 0 0 8px var(--accent-success-glow);
flex-shrink: 0;
}
.t-dot-priv {
width: 8px; height: 8px; border-radius: 50%;
background: var(--oap-accent);
box-shadow: 0 0 8px var(--oap-accent-glow);
flex-shrink: 0;
}
.transparency-list { list-style: none; display: flex; flex-direction: column; gap: 0.75rem; }
.transparency-list li {
font-size: 0.875rem; color: var(--text-tertiary);
display: flex; align-items: center; gap: 0.75rem;
}
.transparency-list li::before { content: '→'; color: var(--text-muted); }
/* Governance Summary */
.governance-section { margin-bottom: 5rem; }
.gov-table-wrap {
background: linear-gradient(155deg,rgba(255,255,255,.042) 0%,rgba(255,255,255,.008) 100%),var(--bg-secondary);
border: 1px solid var(--border-primary);
overflow-x: auto; margin-bottom: 1.5rem;
box-shadow: 0 2px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.09);
}
table { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: 0.85rem; }
thead tr { background: var(--bg-elevated); border-bottom: 1px solid var(--border-bright); }
th {
padding: 1rem 1.5rem; text-align: left;
color: var(--text-dim); font-size: 0.72rem;
text-transform: uppercase; letter-spacing: 0.08em; font-weight: 500;
}
td { padding: 0.875rem 1.5rem; color: var(--text-tertiary); border-bottom: 1px solid var(--border-subtle); }
tr:last-child td { border-bottom: none; }
tr:hover td { background: var(--bg-elevated); }
.td-param { color: var(--text-secondary); font-weight: 500; }
.td-val { color: var(--oap-accent); font-weight: 600; }
.td-note { color: var(--text-dim); font-size: 0.8rem; }
.gov-axioms {
display: grid; grid-template-columns: repeat(3, 1fr);
gap: 1px; background: rgba(255,255,255,.07);
border: 1px solid rgba(255,255,255,.09);
}
.axiom {
background: var(--bg-elevated);
padding: 1.5rem 2rem;
font-family: var(--font-mono); font-size: 0.85rem;
color: var(--oap-accent);
display: flex; align-items: center; gap: 0.75rem;
}
.axiom::before { content: '//'; color: var(--text-muted); flex-shrink: 0; }
/* Application Domains */
.domains-section { margin-bottom: 5rem; }
.domains-grid {
display: grid; grid-template-columns: repeat(3, 1fr);
gap: 1px; background: rgba(255,255,255,.07);
border: 1px solid rgba(255,255,255,.09);
margin-bottom: 1.5rem;
}
.domain-card {
background: linear-gradient(155deg,rgba(255,255,255,.042) 0%,rgba(255,255,255,.008) 100%),var(--bg-secondary); padding: 2rem;
transition: background .35s,box-shadow .35s,border-color .35s;
}
.domain-card:hover { background: linear-gradient(155deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.012) 100%),var(--bg-elevated);
box-shadow: 0 20px 60px rgba(0,0,0,.65),0 0 50px rgba(251,191,36,.07),inset 0 1px 0 rgba(255,255,255,.12);
}
.domain-icon {
font-family: var(--font-mono); font-size: 0.68rem;
color: var(--text-muted); text-transform: uppercase;
letter-spacing: 0.1em; margin-bottom: 1rem;
}
.domain-card h3 {
font-family: var(--font-display); font-size: 1.1rem;
color: var(--text-primary); margin-bottom: 0.75rem;
}
.domain-card p { font-size: 0.875rem; color: var(--text-tertiary); line-height: 1.6; }
.domain-principle {
background: var(--bg-elevated);
border: 1px solid var(--border-primary);
border-left: 3px solid var(--oap-accent);
padding: 1.5rem 2rem;
font-family: var(--font-mono); font-size: 0.9rem;
color: var(--text-secondary); font-style: italic;
}
/* CTA */
.cta-section {
margin: 4rem 0 6rem; padding: 4rem;
background: var(--bg-elevated);
border: 1px solid var(--border-primary);
border-radius: 12px; text-align: center;
}
.cta-section h2 {
font-family: var(--font-display); font-size: 2rem;
color: var(--text-primary); margin-bottom: 1rem;
}
.cta-section p {
font-size: 1.125rem; color: var(--text-tertiary);
margin-bottom: 2rem; max-width: 600px;
margin-left: auto; margin-right: auto;
}
.cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.btn {
display: inline-flex; align-items: center; gap: 0.5rem;
padding: 0.875rem 1.75rem;
font-family: var(--font-mono); font-size: 0.875rem; font-weight: 600;
text-decoration: none; border-radius: 6px;
transition: all 0.2s ease; cursor: pointer; border: none;
}
.btn-primary { background: var(--oap-accent); color: var(--bg-primary); }
.btn-primary:hover { background: #fcd34d; box-shadow: 0 0 20px var(--oap-accent-glow); transform: translateY(-2px); }
.btn-secondary { background: transparent; color: var(--text-primary); border: 1px solid var(--border-bright); }
.btn-secondary:hover { background: linear-gradient(155deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.012) 100%),var(--bg-elevated); border-color: var(--oap-accent); color: var(--oap-accent);
box-shadow: 0 20px 60px rgba(0,0,0,.65),0 0 50px rgba(251,191,36,.07),inset 0 1px 0 rgba(255,255,255,.12);
}
/* Footer */
footer { margin-top: 8rem; padding: 4rem 0 2rem; border-top: 1px solid var(--border-primary); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 4rem; margin-bottom: 3rem; }
.footer-brand h4 { font-family: var(--font-display); font-size: 1.25rem; color: var(--text-primary); margin-bottom: 1rem; }
.footer-brand p { color: var(--text-dim); font-size: 0.875rem; line-height: 1.6; }
.footer-links h5 { font-family: var(--font-mono); font-size: 0.75rem; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 1rem; }
.footer-links ul { list-style: none; }
.footer-links li { margin-bottom: 0.75rem; }
.footer-links a { color: var(--text-tertiary); font-size: 0.875rem; transition: color 0.2s ease; }
.footer-links a:hover { color: var(--oap-accent); }
.footer-bottom {
padding-top: 2rem; border-top: 1px solid var(--border-subtle);
display: flex; justify-content: space-between; align-items: center;
font-family: var(--font-mono); font-size: 0.75rem; color: var(--text-muted);
}
.footer-legal { display: flex; gap: 1.5rem; }
/* Responsive */
@media (max-width: 1024px) {
.cap-row { grid-template-columns: 1fr; }
.cap-label-col { border-right: none; border-bottom: 1px solid var(--border-primary); }
.governance-section .gov-axioms { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
.two-col, .transparency-grid { grid-template-columns: 1fr; }
.flow-diagram { grid-template-columns: 1fr; }
.flow-divider { display: none; }
.doctrine-grid, .domains-grid { grid-template-columns: 1fr 1fr; }
.gov-axioms { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
.header-content { padding: 0.75rem 1rem; flex-direction: column; gap: 0.75rem; }
.doctrine-grid, .domains-grid { grid-template-columns: 1fr; }
.footer-grid { grid-template-columns: 1fr; }
.footer-bottom { flex-direction: column; gap: 1rem; text-align: center; }
.cta-section { padding: 2rem; }
.flow-note { grid-template-columns: 1fr; }
}
/* ── glass card depth injection ───────────────────── */
.module-card,.constraint-card,.gate-card,.stat-item,.layer-row,.phase-row{box-shadow:0 2px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.09);transition:background .35s,box-shadow .35s,border-color .35s!important}
.module-card:hover,.constraint-card:hover,.gate-card:hover,.stat-item:hover,.layer-row:hover,.phase-row:hover{box-shadow:0 20px 60px rgba(0,0,0,.65),0 0 50px rgba(251,191,36,.07),inset 0 1px 0 rgba(255,255,255,.1)!important}
</style>
</head>
<body>
<div id="security-gate">
<img src="/site-logo.png" alt="Orthonode" style="width:60px;height:60px;border-radius:8px">
<h2>// ESTABLISHING_SECURE_UPLINK</h2>
<div class="cf-turnstile"
data-sitekey="0x4AAAAAACZs3Wk3UKBEsJUb"
data-theme="dark"
data-callback="onHumanVerified">
</div>
</div>
<div id="app-content">
<header role="banner">
<div class="header-content">
<div class="header-left">
<a href="/" class="nav-back"><img src="/site-logo.png" alt="" width="18" height="18" style="border-radius:3px;vertical-align:middle;margin-right:5px;display:inline-block">orthonode.xyz</a>
<div class="status-indicator">
<span class="status-dot" role="img" aria-label="System operational"></span>
<span>OAP ENGINE [IN_DEVELOPMENT]</span>
</div>
</div>
<div class="header-right">
<div class="network-badge">INTEGRITY_GOVERNANCE</div>
<div class="network-badge">MOBILITY_ROBOTICS</div>
</div>
</div>
</header>
<main class="container">
<!-- Page Hero -->
<section class="page-hero">
<p class="breadcrumb">ORTHONODE SYSTEMS / <span>OAP — INTEGRITY GOVERNANCE ENGINE</span></p>
<div class="oap-badge">
<span class="oap-badge-dot"></span>
<span>IN DEVELOPMENT · STRUCTURAL MODEL PUBLISHED · ARCHITECTURE DOCS AVAILABLE</span>
</div>
<h1 class="page-title">
OAP — Integrity<br><span class="highlight">Governance Engine</span>
</h1>
<p class="page-intro">
Deterministic motion validation and lifecycle trust governance for mobility, robotics, and decentralized infrastructure systems. OAP does not block telemetry. It emits verifiable integrity state — giving protocols, operators, and economic layers a deterministic foundation for reward eligibility, device trust, and lifecycle governance.
</p>
<div class="stats-strip" role="region" aria-label="OAP dimensions">
<div class="stat-item">
<span class="stat-value">5</span>
<span class="stat-label">Core Capabilities</span>
</div>
<div class="stat-item">
<span class="stat-value">0–100</span>
<span class="stat-label">Trust Score Range</span>
</div>
<div class="stat-item">
<span class="stat-value">2/yr</span>
<span class="stat-label">Override Cap (365d)</span>
</div>
<div class="stat-item">
<span class="stat-value">Append-Only</span>
<span class="stat-label">History Model</span>
</div>
<div class="stat-item">
<span class="stat-value">Chain-Agnostic</span>
<span class="stat-label">Deployment Model</span>
</div>
</div>
</section>
<!-- What Is OAP -->
<section style="margin-bottom: 5rem;">
<h2 class="section-header">// WHAT_IS_OAP : SYSTEM_OVERVIEW</h2>
<div class="two-col">
<div class="two-col-card">
<h3>The Problem It Solves</h3>
<p>Autonomous systems — DePIN networks, mobility fleets, robotics platforms — make economic and operational decisions based on digital telemetry. But telemetry can be spoofed. Motion can be emulated. Firmware can be tampered. Device identities can be cloned. Counters can be rolled back.</p>
<p>Most systems assume physical compliance. Very few verify it deterministically. OAP closes that gap — not by blocking data, but by continuously emitting a verifiable integrity signal that reflects the actual physical and behavioral state of each device over its full lifecycle.</p>
</div>
<div class="two-col-card">
<h3>What OAP Governs</h3>
<p>OAP governs integrity across three dimensions simultaneously: motion compliance (is the device behaving within expected physics?), trust lifecycle (what is this device's accumulated behavioral history?), and identity continuity (is this still the same device, operating under approved firmware?). These three dimensions are resolved into a single signed integrity output that downstream systems can consume without replicating the verification logic themselves.</p>
<p>OAP emits state. Partners apply economic policy. No hidden resets. No silent forgiveness.</p>
</div>
</div>
<div class="two-col">
<div class="two-col-card">
<h3>What OAP Is Not</h3>
<p>OAP is not an anti-spoof tool. It is not a blacklist service, a content filter, or a fraud detection heuristic. It is a lifecycle integrity governance engine — designed to provide a deterministic, append-only record of integrity state that is structurally impossible to silently manipulate. It does not make economic decisions; it provides the verifiable foundation on which economic decisions can be made.</p>
</div>
<div class="two-col-card">
<h3>Integration Philosophy</h3>
<p>OAP publishes its mathematical structure, governance rules, and lifecycle model. It protects threshold constants, escalation parameters, and calibration values — balancing auditability with adversarial resilience. Partners retain full control over their economic policies. OAP provides the integrity signal; the downstream system decides what to do with it.</p>
</div>
</div>
</section>
<!-- Doctrine -->
<section class="doctrine-section">
<h2 class="section-header">// DESIGN_DOCTRINE : FIRST_PRINCIPLES</h2>
<div class="doctrine-grid">
<div class="doctrine-card">
<div class="doctrine-number">AXIOM_01</div>
<h3>Physics Is Invariant</h3>
<p>Real physical behavior obeys immutable laws. OAP's motion enforcement is grounded in physics envelopes — tolerances derived from vehicle class, environment, and sensor characteristics. Software cannot replicate the friction, inertia, and noise signatures of genuine physical operation.</p>
</div>
<div class="doctrine-card">
<div class="doctrine-number">AXIOM_02</div>
<h3>Identity Must Be Device-Bound</h3>
<p>Trust cannot be portable. Each physical device carries a unique identity derived from hardware-level identifiers. Identity cannot be transferred, cloned, or rotated without explicit governance approval — making Sybil attacks and clone attacks structurally detectable.</p>
</div>
<div class="doctrine-card">
<div class="doctrine-number">AXIOM_03</div>
<h3>Trust Must Be Lifecycle-Governed</h3>
<p>A clean history today does not erase a compromised history yesterday. OAP maintains a full behavioral record across each device's operating life. Trust is earned, degraded, and bounded — never silently reset. Redemption is possible but constrained by the severity of prior violations.</p>
</div>
<div class="doctrine-card">
<div class="doctrine-number">AXIOM_04</div>
<h3>Integrity Must Be Append-Only</h3>
<p>History is immutable. Anchors, violation records, and trust state changes are appended, never overwritten. Pruned anchors are retained in summarized form. The integrity record grows forward — there is no mechanism for silent retrospective modification.</p>
</div>
<div class="doctrine-card">
<div class="doctrine-number">AXIOM_05</div>
<h3>Redemption Must Be Bounded</h3>
<p>Devices that have crossed severe violation thresholds cannot self-restore. Re-provisioning requires explicit partner approval and results in a new identity under governed conditions. Override authority is capped, signed, logged, and limited to a fixed number per rolling period.</p>
</div>
<div class="doctrine-card">
<div class="doctrine-number">AXIOM_06</div>
<h3>Verification Must Be Deterministic</h3>
<p>The same inputs always produce the same integrity output. OAP contains no probabilistic heuristics, no model inference, and no opaque scoring functions. Every output is reproducible from the underlying signed record — auditable by any party with access to the data.</p>
</div>
</div>
</section>
<!-- Core Capabilities -->
<section class="capabilities-section">
<h2 class="section-header">// CORE_CAPABILITIES : FIVE_ENGINES</h2>
<div class="cap-row">
<div class="cap-label-col">
<div class="cap-num">CAPABILITY_01</div>
<h3>Motion Integrity</h3>
</div>
<div class="cap-body-col">
<p>Physics envelope validation enforces that device motion conforms to expected bounds for the vehicle class, operating environment, and sensor profile. Violations are scored using a scar accumulation model — each event contributes to a running integrity penalty that decays at a governed rate for recoverable behavior, and permanently marks catastrophic events.</p>
<p>Physics violations reduce reward eligibility — not data availability. OAP never silences a device; it adjusts its integrity signal. The reward layer decides what to do with that signal.</p>
<div class="cap-tags">
<span class="cap-tag">Physics Envelope</span>
<span class="cap-tag">Vehicle-Class Profiles</span>
<span class="cap-tag">Scar Accumulation</span>
<span class="cap-tag">Decay Model</span>
<span class="cap-tag">Catastrophic Event Flag</span>
<span class="cap-tag">Reward-Neutral Scoring</span>
</div>
<p class="cap-note">Violations score integrity — not data flow. Economic policy lives downstream.</p>
</div>
</div>
<div class="cap-row" style="border-top: 1px solid var(--border-primary);">
<div class="cap-label-col">
<div class="cap-num">CAPABILITY_02</div>
<h3>Trust Lifecycle Governance</h3>
</div>
<div class="cap-body-col">
<p>A device's trust score is a deterministic function of its full behavioral history — not its most recent state. OAP maintains a visible tamper count, applies a non-linear severity curve to escalating violations, and enforces a rolling decay window that allows gradual recovery from minor events. A configurable permanent downgrade threshold marks devices that have crossed an irreversible boundary.</p>
<p>A controlled re-provision protocol allows severely degraded devices to be assigned new identities under explicit partner approval. Trust is deterministic. Redemption is bounded. History is append-only.</p>
<div class="cap-tags">
<span class="cap-tag">Non-Linear Severity Curve</span>
<span class="cap-tag">Visible Tamper Count</span>
<span class="cap-tag">Rolling Decay Window</span>
<span class="cap-tag">Permanent Downgrade</span>
<span class="cap-tag">Controlled Re-Provision</span>
</div>
</div>
</div>
<div class="cap-row" style="border-top: 1px solid var(--border-primary);">
<div class="cap-label-col">
<div class="cap-num">CAPABILITY_03</div>
<h3>Identity & Clone Containment</h3>
</div>
<div class="cap-body-col">
<p>Each physical device operates under a unique signing key bound to hardware-level identifiers. Keys can be rotated under governed conditions, but each rotation is logged and traceable. Monotonic counter enforcement makes identity rollback attempts detectable — any submitted counter value below the last confirmed value triggers containment logic. Duplicate identity detection catches cloning attempts across the network.</p>
<div class="cap-tags">
<span class="cap-tag">Device-Unique Signing Keys</span>
<span class="cap-tag">Rotatable Key Governance</span>
<span class="cap-tag">Monotonic Counter</span>
<span class="cap-tag">Duplicate Detection</span>
<span class="cap-tag">Lower-Counter Freeze</span>
</div>
<p class="cap-note">Identity rollback becomes detectable and containable.</p>
</div>
</div>
<div class="cap-row" style="border-top: 1px solid var(--border-primary);">
<div class="cap-label-col">
<div class="cap-num">CAPABILITY_04</div>
<h3>Adaptive Anchoring</h3>
</div>
<div class="cap-body-col">
<p>OAP dynamically adjusts the frequency at which integrity checkpoints are anchored, based on device trust score and behavioral state. High-risk devices anchor more frequently, reducing the window in which undetected manipulation can occur. Clean devices operate efficiently with less overhead. Anchoring can be triggered by state transitions, time intervals, or trust-score thresholds. Partner-side checkpoint retention policies are configurable within governed bounds.</p>
<div class="cap-tags">
<span class="cap-tag">Transition-Based Anchoring</span>
<span class="cap-tag">Time-Based Anchoring</span>
<span class="cap-tag">Trust-Adaptive Tightening</span>
<span class="cap-tag">Partner Checkpoint Retention</span>
</div>
<p class="cap-note">High-risk devices anchor more. Clean devices run lean.</p>
</div>
</div>
<div class="cap-row" style="border-top: 1px solid var(--border-primary);">
<div class="cap-label-col">
<div class="cap-num">CAPABILITY_05</div>
<h3>Override Governance</h3>
</div>
<div class="cap-body-col">
<p>Administrative overrides of integrity state are permitted under strictly governed conditions. Each override is level-restricted (only principals with sufficient authority may invoke it), cryptographically signed, and committed to the append-only log. Overrides are capped at two per rolling 365-day window per device. After an override, trust is restored only to a fixed baseline — never to the pre-degradation level. The integrity math remains intact; overrides are visible in the audit record and cannot be hidden.</p>
<div class="cap-tags">
<span class="cap-tag">Level-Restricted Authority</span>
<span class="cap-tag">Signed & Logged</span>
<span class="cap-tag">2/yr Cap</span>
<span class="cap-tag">Fixed Trust Baseline Restore</span>
<span class="cap-tag">Full Auditability</span>
</div>
<p class="cap-note">Integrity math remains intact. Overrides are visible — never silent.</p>
</div>
</div>
</section>
<!-- How It Works -->
<section class="flow-section">
<h2 class="section-header">// VERIFICATION_FLOW : DEVICE_TO_INTEGRITY_SIGNAL</h2>
<div class="flow-diagram">
<div class="flow-side">
<div class="flow-side-label">DEVICE_LAYER</div>
<ul class="flow-step-list">
<li class="flow-step-item">
<div>
<strong>Motion Envelope Check</strong>
Physics-bounded validation against vehicle-class profile. Scar accumulation on violation.
</div>
</li>
<li class="flow-step-item">
<div>
<strong>Trust Engine Evaluation</strong>
Running trust score updated from full behavioral history, tamper count, and severity model.
</div>
</li>
<li class="flow-step-item">
<div>
<strong>Adaptive Anchoring Decision</strong>
Checkpoint frequency adjusted by current trust tier. State committed to anchor.
</div>
</li>
<li class="flow-step-item">
<div>
<strong>Signed Checkpoint Emitted</strong>
Checkpoint includes integrity state, counter, firmware hash, and device signature.
</div>
</li>
</ul>
</div>
<div class="flow-divider"></div>
<div class="flow-side">
<div class="flow-side-label">PARTNER_LAYER</div>
<ul class="flow-step-list">
<li class="flow-step-item">
<div>
<strong>Signature Verification</strong>
Checkpoint signature verified against device's registered public key.
</div>
</li>
<li class="flow-step-item">
<div>
<strong>Counter Monotonic Validation</strong>
Submitted counter checked against last confirmed value. Rollback triggers freeze.
</div>
</li>
<li class="flow-step-item">
<div>
<strong>Anchor Storage</strong>
Verified checkpoint stored within retention policy bounds. Pruned anchors summarized.
</div>
</li>
<li class="flow-step-item">
<div>
<strong>Economic Policy Application</strong>
Partner applies their own reward or access rules against the OAP integrity signal.
</div>
</li>
</ul>
</div>
</div>
<div class="flow-note">
<div class="flow-note-item"><strong>OAP emits:</strong> Deterministic integrity state</div>
<div class="flow-note-item"><strong>Partners apply:</strong> Their own economic logic</div>
</div>
</section>
<!-- Transparency Model -->
<section class="transparency-section">
<h2 class="section-header">// TRANSPARENCY_MODEL : PUBLISHED_VS_PROTECTED</h2>
<div class="transparency-grid">
<div class="transparency-card">
<h3><span class="t-dot-pub"></span>Published (Auditable)</h3>
<ul class="transparency-list">
<li>Mathematical structure of all scoring functions</li>
<li>Governance rules for overrides, re-provision, and key rotation</li>
<li>Trust lifecycle model and state machine</li>
<li>Signed checkpoint format and field definitions</li>
<li>Monotonic counter enforcement logic</li>
<li>Anchor retention and pruning policy</li>
</ul>
</div>
<div class="transparency-card">
<h3><span class="t-dot-priv"></span>Protected (Adversarial Resilience)</h3>
<ul class="transparency-list">
<li>Threshold constants for scar accumulation</li>
<li>Escalation parameters and severity breakpoints</li>
<li>Motion envelope tolerance values by vehicle class</li>
<li>Adaptive anchoring calibration parameters</li>
<li>Permanent downgrade trigger thresholds</li>
<li>Decay rate coefficients</li>
</ul>
</div>
</div>
</section>
<!-- Governance Summary -->
<section class="governance-section">
<h2 class="section-header">// GOVERNANCE_SUMMARY : PARAMETER_TABLE</h2>
<div class="gov-table-wrap">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Value</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td class="td-param">Trust Score Range</td>
<td class="td-val">0 – 100</td>
<td class="td-note">Deterministic function of full behavioral history</td>
</tr>
<tr>
<td class="td-param">Tamper Count Visibility</td>
<td class="td-val">Visible</td>
<td class="td-note">Exposed in signed checkpoint; not hideable</td>
</tr>
<tr>
<td class="td-param">Override Cap</td>
<td class="td-val">2 per rolling 365 days</td>
<td class="td-note">Per device; signed, logged, and capped</td>
</tr>
<tr>
<td class="td-param">Override Trust Restore</td>
<td class="td-val">Fixed baseline only</td>
<td class="td-note">Never restored to pre-degradation level</td>
</tr>
<tr>
<td class="td-param">Permanent Downgrade</td>
<td class="td-val">Triggered at severe threshold</td>
<td class="td-note">Threshold protected; trigger is visible in record</td>
</tr>
<tr>
<td class="td-param">Re-Provision</td>
<td class="td-val">New identity, partner-approved</td>
<td class="td-note">Old identity retained in audit log</td>
</tr>
<tr>
<td class="td-param">History Model</td>
<td class="td-val">Append-only</td>
<td class="td-note">Pruned anchors retained in summarized form</td>
</tr>
<tr>
<td class="td-param">Economic Enforcement</td>
<td class="td-val">None (OAP emits state only)</td>
<td class="td-note">Economic policy is the partner's responsibility</td>
</tr>
</tbody>
</table>
</div>
<div class="gov-axioms">
<div class="axiom">No hidden resets</div>
<div class="axiom">No silent forgiveness</div>
<div class="axiom">No economic enforcement by OAP</div>
</div>
</section>
<!-- Application Domains -->
<section class="domains-section">
<h2 class="section-header">// APPLICATION_DOMAINS : WHERE_OAP_FITS</h2>
<div class="domains-grid">
<div class="domain-card">
<div class="domain-icon">DOMAIN_01</div>
<h3>DePIN Reward Networks</h3>
<p>Hardware nodes submitting telemetry data, compute proofs, or sensor readings can have their integrity continuously validated by OAP — preventing Sybil attacks, replay exploitation, and firmware tampering from draining reward pools.</p>
</div>
<div class="domain-card">
<div class="domain-icon">DOMAIN_02</div>
<h3>Mobility & Fleet Platforms</h3>
<p>Ride-share, delivery, and logistics fleets rely on GPS and motion telemetry for billing, insurance, and compliance. OAP provides a deterministic integrity layer that distinguishes genuine physical trips from emulated data streams.</p>
</div>
<div class="domain-card">
<div class="domain-icon">DOMAIN_03</div>
<h3>Drone Operations</h3>
<p>UAV platforms operating under regulatory or economic constraints require verifiable proof of physical compliance. OAP's physics envelope enforcement and firmware governance provide a structured integrity foundation for autonomous aerial operations.</p>
</div>
<div class="domain-card">
<div class="domain-icon">DOMAIN_04</div>