Skip to content

Commit 4d6ba1e

Browse files
committed
ots page: privacy-shield section at the bottom
After we wired the /digest proxy, ordpool is now a full shield for OTS stamping and verification -- calendars never observe end-users, and our own infrastructure keeps no per-request user data. Surface that property where users can see it: a centred shield icon (FA shield-halved, registered in shared.module), a lead sentence, three column blurbs (file stays local, calendars only see us, no user-data logs), and one footnote naming Cloudflare as the only caveat plus the VPN mitigation. Tone: factual, no marketing. The three columns each pin a distinct mechanism so the claim is auditable rather than vague.
1 parent 7fc6383 commit 4d6ba1e

3 files changed

Lines changed: 73 additions & 0 deletions

File tree

frontend/src/app/components/_ordpool/open-timestamps/open-timestamps.component.html

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,4 +166,49 @@ <h2 id="recent-commits" class="mt-4">Recent commits</h2>
166166
</table>
167167
</div>
168168
}
169+
170+
<hr class="my-5">
171+
172+
<section class="ots-privacy text-center">
173+
<fa-icon class="ots-privacy-icon" [icon]="['fas', 'shield-halved']"></fa-icon>
174+
<h2 class="mt-3">Your privacy is the point</h2>
175+
<p class="lead">
176+
Ordpool is the shield. We carry every external request for you so
177+
no third party sees who's stamping or verifying what.
178+
</p>
179+
180+
<div class="row mt-4 text-start">
181+
<div class="col-md-4 mb-3">
182+
<h5>Your file never leaves your browser</h5>
183+
<p class="text-muted">
184+
We compute the 32-byte SHA-256 fingerprint locally. Only the hash
185+
is ever transmitted &mdash; never the contents, never the filename.
186+
</p>
187+
</div>
188+
<div class="col-md-4 mb-3">
189+
<h5>Calendars only see us</h5>
190+
<p class="text-muted">
191+
Stamp submissions and confirmation polls both route through our
192+
backend. The four public calendar operators receive ordpool's IP,
193+
not yours, on every request.
194+
</p>
195+
</div>
196+
<div class="col-md-4 mb-3">
197+
<h5>We don't log who you are</h5>
198+
<p class="text-muted">
199+
Our backend keeps no per-request user data &mdash; no IPs, no
200+
hashes, no timestamps in any logfile we control.
201+
</p>
202+
</div>
203+
</div>
204+
205+
<p class="text-muted mt-3">
206+
<small>
207+
One honest caveat: Cloudflare sits in front of ordpool.space for
208+
DDoS protection and records standard CDN metadata (your IP, your
209+
country, the request path). If you don't trust them either, run a
210+
VPN on top &mdash; then there's no path back to you.
211+
</small>
212+
</p>
213+
</section>
169214
</div>

frontend/src/app/components/_ordpool/open-timestamps/open-timestamps.component.scss

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,28 @@
1616
font-size: 0.75rem;
1717
}
1818
}
19+
20+
.ots-privacy {
21+
padding: 2rem 0 3rem;
22+
23+
.ots-privacy-icon {
24+
font-size: 3rem;
25+
color: var(--primary);
26+
display: inline-block;
27+
line-height: 1;
28+
}
29+
30+
h2 {
31+
font-weight: 600;
32+
}
33+
34+
.lead {
35+
max-width: 640px;
36+
margin: 0.5rem auto 0;
37+
}
38+
39+
h5 {
40+
font-weight: 600;
41+
margin-bottom: 0.4rem;
42+
}
43+
}

frontend/src/app/shared/shared.module.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import { faFilter, faAngleDown, faAngleUp, faAngleRight, faAngleLeft, faBolt, fa
1616
// "Could not find icon with iconName=<x> and prefix=fas" the moment the master-page
1717
// template tries to render the nav.
1818
faCubes, faBook, faChartArea, faFaucetDrip, faHammer, faCheckCircle, faTimesCircle,
19+
// HACK -- Ordpool: shield icon used by the privacy section on the OTS page.
20+
faShieldHalved,
1921
} from '@fortawesome/free-solid-svg-icons';
2022
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
2123
import { MenuComponent } from '@components/menu/menu.component';
@@ -599,6 +601,7 @@ export class SharedModule {
599601
library.addIcons(faCode);
600602
library.addIcons(faPause);
601603
library.addIcons(faPlay);
604+
library.addIcons(faShieldHalved);
602605
// HACK -- Ordpool: post-upstream-merge missing registrations. See import comment.
603606
library.addIcons(faCubes);
604607
library.addIcons(faBook);

0 commit comments

Comments
 (0)