-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
257 lines (233 loc) Β· 10.7 KB
/
Copy pathindex.html
File metadata and controls
257 lines (233 loc) Β· 10.7 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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AVOW Protocol β Proven Consent, Unsubscribe, and Rate Limits</title>
<meta name="description" content="AVOW Protocol is a design for verifiable consent, working unsubscribe links, and enforceable rate limits. This site demonstrates the concepts.">
<!-- Favicon -->
<link rel="icon" type="image/svg+xml" href="favicon.svg">
<!-- Open Graph / Social Media -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://avow-protocol.org/">
<meta property="og:title" content="AVOW Protocol β Proven Consent and Compliance">
<meta property="og:description" content="Demonstration of verifiable consent, working unsubscribe links, and enforceable rate limits.">
<meta property="og:site_name" content="AVOW Protocol">
<meta property="og:image" content="https://avow-protocol.org/favicon.svg">
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:url" content="https://avow-protocol.org/">
<meta property="twitter:title" content="AVOW Protocol β Proven Consent and Compliance">
<meta property="twitter:description" content="Verifiable consent, working unsubscribe links, and enforceable rate limits.">
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- Hero Section -->
<header class="hero">
<div class="container">
<h1>AVOW Protocol</h1>
<p class="tagline">Authenticated Verifiable Open Web Protocol</p>
<p class="subtitle">A protocol design that aims to make consent, unsubscribe, and rate-limit compliance verifiable.</p>
<div class="cta-buttons">
<a href="https://t.me/avow_demo_bot" class="btn btn-primary" target="_blank">
Try Live Demo on Telegram β
</a>
<a href="#how-it-works" class="btn btn-secondary">
Learn How It Works
</a>
</div>
<p class="subtitle"><a href="docs/PROTOCOL.md">Read the protocol draft β</a></p>
</div>
</header>
<!-- Problem Section -->
<section class="problem">
<div class="container">
<h2>The Problem</h2>
<div class="problem-grid">
<div class="problem-card">
<h3>π§ Email Spam</h3>
<p>Unsubscribe links often don't work. No proof consent was given.</p>
<p class="stat">$200M+ market</p>
</div>
<div class="problem-card">
<h3>π€ Social Media Bots</h3>
<p>Fake profiles, astroturfing, election interference. Current solutions don't scale.</p>
<p class="stat">$1.2B+ market</p>
</div>
<div class="problem-card">
<h3>πΈ Platform Costs</h3>
<p>Companies spend $100M+/year fighting spam and bots. Still losing.</p>
<p class="stat">Bots remain a persistent problem</p>
</div>
</div>
</div>
</section>
<!-- Solution Section -->
<section class="solution" id="how-it-works">
<div class="container">
<h2>The AVOW Solution</h2>
<p class="intro">Use <strong>dependent types</strong> (Idris2) to make message properties verifiable at compile-time.</p>
<div class="features">
<div class="feature">
<div class="feature-icon">β</div>
<h3>Proven Consent</h3>
<p>Cryptographically provable consent chains. Can't fake timestamps or skip verification.</p>
<code>proof : confirmation > initial_request</code>
</div>
<div class="feature">
<div class="feature-icon">β</div>
<h3>Working Unsubscribe</h3>
<p>Unsubscribe links validated before sending to avoid broken links.</p>
<code>proof : response.code = OK β§ response.time < 200ms</code>
</div>
<div class="feature">
<div class="feature-icon">β</div>
<h3>Rate Limiting</h3>
<p>Protocol-level rate limits based on account age. Cannot be bypassed.</p>
<code>proof : messages_today < daily_limit</code>
</div>
</div>
</div>
</section>
<!-- How It Works - Technical -->
<section class="technical">
<div class="container">
<h2>How It Works</h2>
<div class="tech-comparison">
<div class="tech-col">
<h3>β Without Dependent Types</h3>
<pre><code>struct UnsubscribeLink {
url: String,
tested: bool, // Can lie
}</code></pre>
<p class="explanation">No guarantees. Developers can lie about testing.</p>
</div>
<div class="tech-col">
<h3>β
With AVOW (Idris2)</h3>
<pre><code>record UnsubscribeLink where
url : URL
tested_at : Timestamp
response : HTTPResponse
{auto proof : response.code = OK}
{auto proof : response.time < 200ms}</code></pre>
<p class="explanation">Designed to be verifiable. The protocol aims to reject invalid links before send.</p>
</div>
</div>
</div>
</section>
<!-- Interactive Demo Section -->
<section class="demo">
<div class="container">
<h2>Try It Now</h2>
<!-- Live Browser Demo -->
<div class="demo-box interactive-demo">
<h3>π¬ Live Verification Demo</h3>
<p>Test AVOW verification right in your browser (build-time proofs + demo rules):</p>
<div class="demo-controls">
<div class="demo-control-group">
<h4>Test Unsubscribe Link</h4>
<input
type="text"
id="unsub-url"
value="https://example.com/unsubscribe?token=abc123"
placeholder="Enter unsubscribe URL"
class="demo-input"
/>
<button id="test-unsub-btn" class="btn btn-primary">
Verify Link
</button>
</div>
<div class="demo-control-group">
<h4>Test Consent Chain</h4>
<p class="demo-description">Verify that confirmation happened AFTER initial request (time-ordering proof)</p>
<button id="test-consent-btn" class="btn btn-primary">
Verify Consent
</button>
</div>
</div>
<div id="demo-output" class="demo-output">
<p class="demo-placeholder">π Click a button above to see verification in action</p>
</div>
<p class="demo-note">Note: URL checks use build-time proofs from proven. Consent checks are demo rules.</p>
</div>
<!-- Telegram Bot Demo -->
<div class="demo-box">
<h3>π± Telegram Bot Demo</h3>
<p>See AVOW in action with our live Telegram bot:</p>
<ol>
<li>Open Telegram and search for <strong>@avow_demo_bot</strong></li>
<li>Send <code>/start</code> to subscribe</li>
<li>See consent flow steps in action</li>
<li>Send <code>/verify</code> to see full verification</li>
<li>Send <code>/unsubscribe</code> to test the demo flow</li>
</ol>
<a href="https://t.me/avow_demo_bot" class="btn btn-primary" target="_blank">
Open @avow_demo_bot β
</a>
</div>
</div>
</section>
<!-- Use Cases -->
<section class="use-cases">
<div class="container">
<h2>Use Cases</h2>
<div class="use-case-grid">
<div class="use-case">
<h3>Email Marketing</h3>
<p>Design for compliance with CAN-SPAM, GDPR. Verified unsubscribe links.</p>
</div>
<div class="use-case">
<h3>Dating Apps</h3>
<p>Reduce fake profiles with verified identity chains.</p>
</div>
<div class="use-case">
<h3>Social Media</h3>
<p>Combat astroturfing and election interference with verified accounts.</p>
</div>
<div class="use-case">
<h3>Business Messaging</h3>
<p>RCS, SMS marketing with verifiable compliance.</p>
</div>
</div>
</div>
</section>
<!-- Stats -->
<section class="stats">
<div class="container">
<h2>Impact</h2>
<div class="stats-grid">
<div class="stat-card">
<div class="stat-number">β</div>
<div class="stat-label">Bot Reduction (TBD)</div>
</div>
<div class="stat-card">
<div class="stat-number">β</div>
<div class="stat-label">Platform Savings (TBD)</div>
</div>
<div class="stat-card">
<div class="stat-number">β</div>
<div class="stat-label">Compliance Proof (TBD)</div>
</div>
</div>
</div>
</section>
<!-- CTA Footer -->
<footer class="footer">
<div class="container">
<h2>Ready to Prove Compliance?</h2>
<p>Contact us to integrate AVOW into your platform.</p>
<div class="footer-links">
<a href="https://github.com/hyperpolymath/libavow" target="_blank">GitHub</a>
<a href="https://t.me/stamp_demo_bot" target="_blank">Demo Bot</a>
<a href="mailto:j.d.a.jewell@open.ac.uk">Contact</a>
</div>
<p class="copyright">Β© 2026 Jonathan D.A. Jewell. Licensed under PMPL-1.0-or-later.</p>
</div>
</footer>
<!-- TEA Application Root -->
<div id="avow-root"></div>
<script type="module" src="src/Main.res.js"></script>
<script type="module" src="src/Website.res.js"></script>
<script type="module" src="public/demo.js"></script>
</body>
</html>