Skip to content

Commit 53ef1a3

Browse files
committed
Add GitHub Pages landing page
1 parent 5e3fa77 commit 53ef1a3

1 file changed

Lines changed: 162 additions & 0 deletions

File tree

docs/index.html

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
<meta name="description" content="Phasmid is a local-only coercion-aware storage research prototype and the reference implementation of the Janus Eidolon System.">
7+
<meta property="og:title" content="Phasmid — Janus Eidolon System">
8+
<meta property="og:description" content="A local-only coercion-aware storage research prototype for controlled disclosure experiments.">
9+
<meta property="og:type" content="website">
10+
<meta property="og:image" content="../images/Phasmid_banner.jpg">
11+
<title>Phasmid — Janus Eidolon System</title>
12+
<style>
13+
:root {
14+
--bg: #080a0f;
15+
--panel: #101522;
16+
--panel-2: #151d2c;
17+
--text: #eef3ff;
18+
--muted: #aab6cc;
19+
--line: rgba(255,255,255,.12);
20+
--accent: #91d6c3;
21+
--accent-2: #c7a5ff;
22+
--warn: #ffcf7a;
23+
--shadow: 0 24px 80px rgba(0,0,0,.45);
24+
}
25+
* { box-sizing: border-box; }
26+
body {
27+
margin: 0;
28+
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
29+
background: radial-gradient(circle at 20% 0%, rgba(145,214,195,.14), transparent 32%),
30+
radial-gradient(circle at 85% 10%, rgba(199,165,255,.13), transparent 30%),
31+
var(--bg);
32+
color: var(--text);
33+
line-height: 1.65;
34+
}
35+
a { color: var(--accent); text-decoration: none; }
36+
a:hover { text-decoration: underline; }
37+
.wrap { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
38+
header { padding: 22px 0; border-bottom: 1px solid var(--line); position: sticky; top: 0; backdrop-filter: blur(16px); background: rgba(8,10,15,.74); z-index: 10; }
39+
nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
40+
.brand { font-weight: 800; letter-spacing: .04em; }
41+
.links { display: flex; gap: 18px; flex-wrap: wrap; font-size: 14px; color: var(--muted); }
42+
.hero { padding: 88px 0 48px; }
43+
.hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: center; }
44+
.eyebrow { color: var(--accent); text-transform: uppercase; letter-spacing: .16em; font-size: 13px; font-weight: 700; }
45+
h1 { font-size: clamp(44px, 7vw, 82px); line-height: .95; margin: 18px 0; letter-spacing: -.06em; }
46+
.lead { font-size: clamp(18px, 2.3vw, 24px); color: var(--muted); max-width: 760px; }
47+
.actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
48+
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; border-radius: 999px; border: 1px solid var(--line); background: rgba(255,255,255,.04); color: var(--text); font-weight: 700; }
49+
.btn.primary { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #08100e; border: none; }
50+
.card { background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)); border: 1px solid var(--line); border-radius: 28px; padding: 26px; box-shadow: var(--shadow); }
51+
.hero-card img { width: 100%; border-radius: 20px; border: 1px solid var(--line); display: block; }
52+
.tagrow { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
53+
.tag { border: 1px solid var(--line); border-radius: 999px; padding: 6px 10px; color: var(--muted); font-size: 13px; }
54+
section { padding: 48px 0; }
55+
h2 { font-size: clamp(28px, 4vw, 44px); line-height: 1.1; letter-spacing: -.04em; margin: 0 0 16px; }
56+
.section-lead { color: var(--muted); max-width: 780px; margin-bottom: 24px; }
57+
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
58+
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
59+
.mini h3 { margin: 0 0 8px; font-size: 20px; }
60+
.mini p { margin: 0; color: var(--muted); }
61+
.terminal { background: #05070b; border: 1px solid var(--line); border-radius: 18px; padding: 18px; overflow-x: auto; color: #d9fce9; }
62+
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
63+
.warning { border-color: rgba(255,207,122,.34); background: rgba(255,207,122,.08); }
64+
.warning strong { color: var(--warn); }
65+
footer { padding: 42px 0 64px; color: var(--muted); border-top: 1px solid var(--line); margin-top: 32px; }
66+
@media (max-width: 860px) {
67+
.hero-grid, .grid-2, .grid-3 { grid-template-columns: 1fr; }
68+
header { position: static; }
69+
.links { display: none; }
70+
}
71+
</style>
72+
</head>
73+
<body>
74+
<header>
75+
<nav class="wrap">
76+
<div class="brand">Phasmid</div>
77+
<div class="links">
78+
<a href="#overview">Overview</a>
79+
<a href="#architecture">Architecture</a>
80+
<a href="#quickstart">Quick Start</a>
81+
<a href="https://github.com/01rabbit/Phasmid">GitHub</a>
82+
</div>
83+
</nav>
84+
</header>
85+
86+
<main>
87+
<section class="hero">
88+
<div class="wrap hero-grid">
89+
<div>
90+
<div class="eyebrow">Janus Eidolon System</div>
91+
<h1>Local-only coercion-aware storage.</h1>
92+
<p class="lead">Phasmid is a field-evaluation research prototype for controlled disclosure experiments under practical risks such as device seizure, compelled access, and over-disclosure.</p>
93+
<div class="actions">
94+
<a class="btn primary" href="https://github.com/01rabbit/Phasmid">View on GitHub</a>
95+
<a class="btn" href="https://github.com/01rabbit/Phasmid/blob/main/docs/THREAT_MODEL.md">Threat Model</a>
96+
<a class="btn" href="https://github.com/01rabbit/Phasmid/blob/main/docs/PHASMID_ARCHITECTURE.md">Architecture</a>
97+
</div>
98+
<div class="tagrow">
99+
<span class="tag">Research prototype</span>
100+
<span class="tag">Local-only by default</span>
101+
<span class="tag">Raspberry Pi Zero 2 W target</span>
102+
<span class="tag">Apache-2.0</span>
103+
</div>
104+
</div>
105+
<div class="card hero-card">
106+
<img src="../images/Phasmid_banner.jpg" alt="Phasmid project banner">
107+
</div>
108+
</div>
109+
</section>
110+
111+
<section id="overview">
112+
<div class="wrap">
113+
<h2>Designed for disclosure control, not casual file encryption.</h2>
114+
<p class="section-lead">Phasmid creates and operates encrypted local containers while keeping the operating boundary explicit. It is intended for security researchers, field-risk evaluators, and local-only disclosure-control experiments.</p>
115+
<div class="grid-3">
116+
<div class="card mini"><h3>Encrypted local vessel</h3><p>Stores payloads in a local container and uses authenticated encryption with password-derived keys.</p></div>
117+
<div class="card mini"><h3>Object-cue operation</h3><p>Uses camera/object matching as an operational access cue, not as cryptographic key material.</p></div>
118+
<div class="card mini"><h3>Controlled disclosure</h3><p>Supports workflows that separate visible disclosure from protected local state under documented assumptions.</p></div>
119+
</div>
120+
</div>
121+
</section>
122+
123+
<section id="architecture">
124+
<div class="wrap">
125+
<h2>Architecture boundary</h2>
126+
<p class="section-lead">The Janus Eidolon System is organized around a two-slot local storage model, local access-key mixing, explicit restricted-action policy checks, and capture-visible UI discipline.</p>
127+
<div class="grid-2">
128+
<div class="card mini"><h3>Local-first security boundary</h3><p><code>vault.bin</code> alone is not intended to be sufficient for normal recovery when required local state is absent.</p></div>
129+
<div class="card mini"><h3>Capture-visible restraint</h3><p>Normal UI and CLI flows avoid exposing internal disclosure structure, restricted recovery behavior, or trial order.</p></div>
130+
<div class="card mini"><h3>Best-effort metadata reduction</h3><p>Metadata review and reduction are provided as operational support, not as guaranteed sanitization.</p></div>
131+
<div class="card mini"><h3>Explicit non-claims</h3><p>Phasmid does not claim perfect deniability, forensic immunity, secure deletion on flash media, or protection from compromised hosts.</p></div>
132+
</div>
133+
</div>
134+
</section>
135+
136+
<section id="quickstart">
137+
<div class="wrap">
138+
<h2>Quick start</h2>
139+
<p class="section-lead">Repository-local use is intentionally simple. The first run creates a virtual environment if needed, installs dependencies, and opens the TUI Operator Console.</p>
140+
<pre class="terminal"><code>git clone https://github.com/01rabbit/Phasmid.git
141+
cd Phasmid
142+
./phasmid</code></pre>
143+
</div>
144+
</section>
145+
146+
<section>
147+
<div class="wrap">
148+
<div class="card warning">
149+
<strong>Security boundary notice.</strong>
150+
Phasmid is research software. It is not a replacement for audited full-disk encryption, hardware-backed key storage, classified-data handling procedures, or a complete answer to compelled disclosure.
151+
</div>
152+
</div>
153+
</section>
154+
</main>
155+
156+
<footer>
157+
<div class="wrap">
158+
<p>Phasmid — reference implementation of the Janus Eidolon System. Licensed under Apache License 2.0.</p>
159+
</div>
160+
</footer>
161+
</body>
162+
</html>

0 commit comments

Comments
 (0)