Repository navigation
Expand file tree
/
Copy pathsecurity.html
More file actions
167 lines (160 loc) · 7.88 KB
/
Copy pathsecurity.html
File metadata and controls
167 lines (160 loc) · 7.88 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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Security — AI2TH</title>
<meta name="description" content="AI2TH Security: cryptship for encrypted, license-gated container delivery, and local-first, no-tracking apps." />
<link rel="icon" type="image/svg+xml" href="logo/ai2th-mark.svg" />
<link rel="stylesheet" href="style.css" />
<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@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
</head>
<body>
<nav class="nav">
<div class="nav-inner">
<a href="index.html" class="nav-logo"><img src="logo/ai2th-animated.svg" alt="AI2TH" class="nav-logo-img" /><span class="nav-logo-text">AI2TH</span></a>
<div class="nav-links">
<a href="index.html">Home</a>
<a href="android.html">Android</a>
<a href="linux.html">Linux</a>
<a href="kubernetes.html">Kubernetes</a>
<a href="security.html" class="nav-active">Security</a>
<a href="bible.html">Bible</a>
<a href="about.html">About</a>
<a href="https://groups.google.com/g/ai2th" target="_blank" rel="noopener">Community</a>
<a href="https://github.com/AI2TH" target="_blank" rel="noopener">GitHub</a>
</div>
</div>
</nav>
<div class="page-header">
<div class="section-inner">
<div class="breadcrumb"><a href="index.html">AI2TH</a><span>/</span>Security</div>
<h1 class="page-title">Security,<br /><span class="accent">without snake oil.</span></h1>
<p class="page-sub">Encrypted, license-gated software delivery with an honest threat model, and apps that keep your data on your device.</p>
<nav class="cat-switch" aria-label="Categories">
<a href="android.html" class="filter-chip">📱 Android</a>
<a href="linux.html" class="filter-chip">🐧 Linux</a>
<a href="kubernetes.html" class="filter-chip">☸️ Kubernetes</a>
<a href="security.html" class="filter-chip is-active">🔐 Security</a>
<a href="bible.html" class="filter-chip">📖 Bible</a>
</nav>
</div>
</div>
<section class="section section-tight">
<div class="section-inner">
<h2 class="section-title">Apps</h2>
<div class="cards product-grid">
<article class="card product-card" data-cats="linux kubernetes security">
<div class="card-header">
<img src="logo/cryptship.svg" alt="" class="card-logo-img" />
<div>
<h3 class="card-name"><a href="cryptship.html">cryptship</a></h3>
<span class="card-tag">Software delivery</span>
</div>
</div>
<p class="card-desc">Ship encrypted, license-gated application code inside Docker images. The image is ciphertext; a small loader runs your app only with a valid license.</p>
<ul class="card-features">
<li>AES-256-GCM payloads, Ed25519 licenses</li>
<li>Air-gapped, on-prem and cloud modes</li>
<li>Instant revocation via license server</li>
<li>Hardening and per-license watermarks</li>
</ul>
<div class="product-status">v0.1.0 · Go · GPLv3</div>
<div class="card-footer">
<a href="cryptship.html" class="btn btn-sm">Details →</a>
<a href="https://github.com/AI2TH/cryptship" class="btn btn-sm btn-ghost" target="_blank" rel="noopener">GitHub</a>
</div>
</article>
</div>
</div>
</section>
<!-- How it works -->
<section class="section section-alt" id="how-it-works">
<div class="section-inner">
<h2 class="section-title">How cryptship works</h2>
<p class="section-sub">The image on disk is ciphertext. Only a valid license turns it back into your app.</p>
<div class="arch-cols">
<div class="arch-col">
<h3 class="arch-col-title">Build time · vendor</h3>
<div class="arch-grid arch-grid-col">
<div class="arch-layer">
<div class="arch-label">Your app</div>
<div class="arch-desc">Source or compiled build output</div>
</div>
<div class="arch-arrow">↓</div>
<div class="arch-layer arch-layer-highlight">
<div class="arch-label">cryptship pack</div>
<div class="arch-desc">Random content key; AES-256-GCM into payload.enc</div>
</div>
<div class="arch-arrow">↓</div>
<div class="arch-layer">
<div class="arch-label">cryptship issue</div>
<div class="arch-desc">Ed25519-signed license that wraps the content key</div>
</div>
<div class="arch-arrow">↓</div>
<div class="arch-layer">
<div class="arch-label">Container image</div>
<div class="arch-desc">Loader + payload.enc + license + public key</div>
</div>
</div>
</div>
<div class="arch-col">
<h3 class="arch-col-title">Run time · customer</h3>
<div class="arch-grid arch-grid-col">
<div class="arch-layer">
<div class="arch-label">Loader starts</div>
<div class="arch-desc">Verifies the license signature, expiry and revocation</div>
</div>
<div class="arch-arrow">↓</div>
<div class="arch-layer arch-layer-highlight">
<div class="arch-label">Key provider</div>
<div class="arch-desc">offline · online license server · attested hardware</div>
</div>
<div class="arch-arrow">↓</div>
<div class="arch-layer">
<div class="arch-label">Decrypt to tmpfs</div>
<div class="arch-desc">Wrong license or machine means the AEAD tag fails</div>
</div>
<div class="arch-arrow">↓</div>
<div class="arch-layer">
<div class="arch-label">exec your app</div>
<div class="arch-desc">Runs with the license ID and customer as a watermark</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="section">
<div class="section-inner">
<h2 class="section-title">Local-first by design</h2>
<div class="feature-grid">
<div class="feature-item"><div class="feature-icon">📵</div><div class="feature-title">No tracking</div><div class="feature-desc">AI2TH apps ship no analytics or crash reporting that sends data off the device</div></div>
<div class="feature-item"><div class="feature-icon">🤖</div><div class="feature-title">Offline AI</div><div class="feature-desc">Miktam Bible’s study assistant runs a local model; conversations stay on the phone</div></div>
<div class="feature-item"><div class="feature-icon">🔌</div><div class="feature-title">Loopback by default</div><div class="feature-desc">Linxr binds port forwards to 127.0.0.1; LAN access is an explicit opt-in</div></div>
</div>
<div class="project-links"><a href="privacy.html" class="btn btn-ghost">Read the privacy policy</a></div>
</div>
</section>
<footer class="footer">
<div class="footer-inner">
<img src="logo/ai2th-mark.svg" alt="AI2TH" class="nav-logo-img footer-logo-img" />
<p class="footer-tagline">Applied Intelligence To Tackle Hardships.</p>
<div class="footer-links">
<a href="linxr.html">Linxr</a>
<a href="vizxr.html">Vizxr</a>
<a href="miktam.html">Miktam Bible</a>
<a href="cryptship.html">cryptship</a>
<a href="bible.html">Bible</a>
<a href="about.html">About</a>
<a href="contribute.html">Contribute</a>
<a href="privacy.html">Privacy</a>
<a href="https://github.com/AI2TH" target="_blank" rel="noopener">GitHub</a>
<a href="https://groups.google.com/g/ai2th" target="_blank" rel="noopener">Community</a>
</div>
</div>
</footer>
</body>
</html>