Repository navigation
Expand file tree
/
Copy pathprivacy.html
More file actions
181 lines (172 loc) · 17.7 KB
/
Copy pathprivacy.html
File metadata and controls
181 lines (172 loc) · 17.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
<!doctype html>
<html lang="en" data-theme="dark">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Privacy and Security - CyberTools</title>
<meta name="description" content="CyberTools privacy policy: every operation runs in your browser. No analytics, no cookies, no uploads, no server-side processing." />
<link rel="canonical" href="https://ctlib.github.io/CyberTools/privacy.html" />
<!-- CSP -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; worker-src 'self'; manifest-src 'self'; object-src 'none'; frame-src 'none'; frame-ancestors 'none'; base-uri 'self'; form-action 'self';" />
<!-- Search metadata -->
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
<meta name="theme-color" content="#0d1117" />
<meta name="keywords" content="privacy-first security tools, client-side cybersecurity tools, no tracking tools" />
<meta property="og:site_name" content="CyberTools" />
<meta property="og:locale" content="en_US" />
<meta property="og:title" content="Privacy and Security - CyberTools" />
<meta property="og:description" content="CyberTools privacy policy: every operation runs in your browser. No analytics, no cookies, no uploads, no server-side processing." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://ctlib.github.io/CyberTools/privacy.html" />
<meta property="og:image" content="https://ctlib.github.io/CyberTools/assets/logowb.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Privacy and Security - CyberTools" />
<meta name="twitter:description" content="CyberTools privacy policy: every operation runs in your browser. No analytics, no cookies, no uploads, no server-side processing." />
<meta name="twitter:image" content="https://ctlib.github.io/CyberTools/assets/logowb.png" />
<link rel="alternate" hreflang="en" href="https://ctlib.github.io/CyberTools/privacy.html" />
<link rel="alternate" hreflang="x-default" href="https://ctlib.github.io/CyberTools/privacy.html" />
<link rel="sitemap" type="application/xml" href="sitemap.xml" />
<script type="application/ld+json">
{"@context":"https://schema.org","@graph":[{"@type":"PrivacyPolicy","@id":"https://ctlib.github.io/CyberTools/privacy.html#webpage","name":"Privacy and Security - CyberTools","url":"https://ctlib.github.io/CyberTools/privacy.html","description":"CyberTools privacy policy: every operation runs in your browser. No analytics, no cookies, no uploads, no server-side processing.","isPartOf":{"@id":"https://ctlib.github.io/CyberTools/#website"},"inLanguage":"en"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"CyberTools","item":"https://ctlib.github.io/CyberTools/"},{"@type":"ListItem","position":2,"name":"Privacy and Security","item":"https://ctlib.github.io/CyberTools/privacy.html"}]}]}
</script>
<!-- /Search metadata -->
<link rel="icon" href="assets/logowb.png" type="image/png" />
<link rel="preload" href="assets/fonts/inter.woff2" as="font" type="font/woff2" crossorigin />
<link rel="stylesheet" href="css/design-system.css" />
<link rel="stylesheet" href="css/global.css" />
<link rel="stylesheet" href="css/tailwind.css" />
<script src="js/theme.js"></script>
</head>
<body data-ct-active-tool="">
<main id="ct-main" style="max-width:760px;margin:0 auto;">
<article>
<h1 style="font-size:28px;font-weight:800;color:var(--text);margin:0 0 8px;">Privacy & Security</h1>
<p style="font-size:14px;color:var(--text-muted);margin:0 0 40px;">Last updated: 2026-05-03</p>
<!-- The promise -->
<div style="background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;padding:20px 24px;margin-bottom:40px;">
<p style="font-size:16px;font-weight:600;color:var(--text);margin:0 0 8px;">The one-sentence version</p>
<p style="font-size:15px;color:var(--text-muted);margin:0;line-height:1.6;">Every operation - encryption, decoding, hashing, steganography, analysis - runs entirely inside your browser. Your input never leaves your device. There are no servers. There is nothing to leak.</p>
</div>
<!-- What we collect -->
<section style="margin-bottom:40px;">
<h2 style="font-size:18px;font-weight:700;color:var(--text);margin:0 0 16px;">What we collect</h2>
<table style="width:100%;border-collapse:collapse;font-size:13px;">
<thead>
<tr style="border-bottom:1px solid var(--border);">
<th style="text-align:left;padding:10px 12px;color:var(--text-muted);font-weight:600;">Data type</th>
<th style="text-align:left;padding:10px 12px;color:var(--text-muted);font-weight:600;">Sent to server?</th>
<th style="text-align:left;padding:10px 12px;color:var(--text-muted);font-weight:600;">Stored?</th>
</tr>
</thead>
<tbody>
<tr style="border-bottom:1px solid var(--border);">
<td style="padding:10px 12px;color:var(--text);">Tool inputs (text, files, keys, passwords)</td>
<td style="padding:10px 12px;color:var(--success);font-weight:600;">Never</td>
<td style="padding:10px 12px;color:var(--text-muted);">Not persisted</td>
</tr>
<tr style="border-bottom:1px solid var(--border);">
<td style="padding:10px 12px;color:var(--text);">Analytics / usage</td>
<td style="padding:10px 12px;color:var(--success);font-weight:600;">Never</td>
<td style="padding:10px 12px;color:var(--text-muted);">Nothing collected</td>
</tr>
<tr style="border-bottom:1px solid var(--border);">
<td style="padding:10px 12px;color:var(--text);">Cookies</td>
<td style="padding:10px 12px;color:var(--success);font-weight:600;">None set</td>
<td style="padding:10px 12px;color:var(--text-muted);">No server, no cookies</td>
</tr>
<tr style="border-bottom:1px solid var(--border);">
<td style="padding:10px 12px;color:var(--text);">IP address</td>
<td style="padding:10px 12px;color:var(--success);font-weight:600;">Never logged by CyberTools</td>
<td style="padding:10px 12px;color:var(--text-muted);">GitHub Pages may log standard hosting metadata (see below)</td>
</tr>
<tr>
<td style="padding:10px 12px;color:var(--text);">Theme preference, recent tools</td>
<td style="padding:10px 12px;color:var(--success);font-weight:600;">Never</td>
<td style="padding:10px 12px;color:var(--text-muted);">localStorage only (stays on your device)</td>
</tr>
</tbody>
</table>
</section>
<!-- How to verify -->
<section style="margin-bottom:40px;">
<h2 style="font-size:18px;font-weight:700;color:var(--text);margin:0 0 16px;">How to verify this yourself - in 60 seconds</h2>
<p style="font-size:14px;color:var(--text-muted);margin:0 0 16px;line-height:1.6;">Trust should not require faith. Open DevTools and check for yourself:</p>
<ol style="margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px;">
<li style="font-size:14px;color:var(--text);line-height:1.6;">Open any CyberTools page in your browser.</li>
<li style="font-size:14px;color:var(--text);line-height:1.6;">Open DevTools: <code style="background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:12px;">F12</code> (Windows/Linux) or <code style="background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:12px;">Cmd+Option+I</code> (Mac).</li>
<li style="font-size:14px;color:var(--text);line-height:1.6;">Click the <strong>Network</strong> tab. Click the clear button (🚫) to empty the log.</li>
<li style="font-size:14px;color:var(--text);line-height:1.6;">Use a tool - paste text, encode something, decrypt a JWT, compute a hash.</li>
<li style="font-size:14px;color:var(--text);line-height:1.6;"><strong style="color:var(--accent);">Observe the Network tab.</strong> Zero new requests will appear after the initial page load. Your data stayed entirely in your browser.</li>
</ol>
</section>
<!-- localStorage -->
<section style="margin-bottom:40px;">
<h2 style="font-size:18px;font-weight:700;color:var(--text);margin:0 0 16px;">localStorage usage</h2>
<p style="font-size:14px;color:var(--text-muted);margin:0 0 16px;line-height:1.6;">CyberTools uses your browser's <code style="background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:12px;">localStorage</code> for the following - this data never leaves your device:</p>
<ul style="margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;">
<li style="font-size:14px;color:var(--text);line-height:1.6;"><code style="background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:12px;">ct-theme</code> - your dark/light preference.</li>
<li style="font-size:14px;color:var(--text);line-height:1.6;"><code style="background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:12px;">ct-history</code> - the last 10 tools you visited (IDs only, no input data).</li>
<li style="font-size:14px;color:var(--text);line-height:1.6;"><code style="background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:12px;">ct-favorites</code> - tools you have starred.</li>
<li style="font-size:14px;color:var(--text);line-height:1.6;"><code style="background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:12px;">ct-visit-count</code> - visit count for the PWA install prompt.</li>
<li style="font-size:14px;color:var(--text);line-height:1.6;"><code style="background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:12px;">ct-install-dismissed</code> - whether you dismissed the install prompt.</li>
</ul>
<p style="font-size:14px;color:var(--text-muted);margin:16px 0 0;line-height:1.6;">To clear everything: open your browser's DevTools → Application → Storage → Clear Site Data.</p>
</section>
<!-- Third-party dependencies -->
<section style="margin-bottom:40px;">
<h2 style="font-size:18px;font-weight:700;color:var(--text);margin:0 0 16px;">Third-party dependencies</h2>
<p style="font-size:14px;color:var(--text-muted);margin:0 0 16px;line-height:1.6;">CyberTools self-hosts every dependency. No external CDN requests are made at runtime. All assets are served from the same origin.</p>
<table style="width:100%;border-collapse:collapse;font-size:13px;">
<thead>
<tr style="border-bottom:1px solid var(--border);">
<th style="text-align:left;padding:8px 12px;color:var(--text-muted);font-weight:600;">Dependency</th>
<th style="text-align:left;padding:8px 12px;color:var(--text-muted);font-weight:600;">Purpose</th>
<th style="text-align:left;padding:8px 12px;color:var(--text-muted);font-weight:600;">Source</th>
</tr>
</thead>
<tbody>
<tr style="border-bottom:1px solid var(--border);">
<td style="padding:8px 12px;color:var(--text);">Tailwind CSS</td>
<td style="padding:8px 12px;color:var(--text-muted);">Styling utilities</td>
<td style="padding:8px 12px;color:var(--text-muted);">Built locally, committed to repo</td>
</tr>
<tr style="border-bottom:1px solid var(--border);">
<td style="padding:8px 12px;color:var(--text);">Inter font</td>
<td style="padding:8px 12px;color:var(--text-muted);">UI typography</td>
<td style="padding:8px 12px;color:var(--text-muted);">Self-hosted woff2</td>
</tr>
<tr>
<td style="padding:8px 12px;color:var(--text);">JetBrains Mono</td>
<td style="padding:8px 12px;color:var(--text-muted);">Code/output typography</td>
<td style="padding:8px 12px;color:var(--text-muted);">Self-hosted woff2</td>
</tr>
</tbody>
</table>
</section>
<!-- Open-source -->
<section style="margin-bottom:40px;">
<h2 style="font-size:18px;font-weight:700;color:var(--text);margin:0 0 16px;">Open-source transparency</h2>
<p style="font-size:14px;color:var(--text-muted);margin:0 0 12px;line-height:1.6;">CyberTools is fully open-source under the MIT License. Every line of code is publicly auditable. If you find a discrepancy between this policy and the code, the code is authoritative - and we'd appreciate a bug report.</p>
<div style="display:flex;flex-wrap:wrap;gap:12px;">
<a href="https://github.com/ctlib/CyberTools" target="_blank" rel="noopener noreferrer" style="display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px 14px;font-size:13px;color:var(--text);text-decoration:none;transition:border-color 150ms;" onmouseover="this.style.borderColor='var(--accent-2)'" onmouseout="this.style.borderColor='var(--border)'">View source on GitHub</a>
<a href="https://github.com/ctlib/CyberTools/blob/main/SECURITY.md" target="_blank" rel="noopener noreferrer" style="display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px 14px;font-size:13px;color:var(--text);text-decoration:none;transition:border-color 150ms;" onmouseover="this.style.borderColor='var(--accent-2)'" onmouseout="this.style.borderColor='var(--border)'">SECURITY.md</a>
<a href="https://github.com/ctlib/CyberTools/security/advisories/new" target="_blank" rel="noopener noreferrer" style="display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px 14px;font-size:13px;color:var(--text);text-decoration:none;transition:border-color 150ms;" onmouseover="this.style.borderColor='var(--danger)'" onmouseout="this.style.borderColor='var(--border)'">Report a security issue</a>
</div>
</section>
<!-- GitHub Pages note -->
<section style="margin-bottom:40px;">
<h2 style="font-size:18px;font-weight:700;color:var(--text);margin:0 0 16px;">GitHub Pages hosting</h2>
<p style="font-size:14px;color:var(--text-muted);margin:0;line-height:1.6;">CyberTools is hosted on GitHub Pages. GitHub may collect standard web server logs (IP address, timestamp, user-agent) as part of serving the static files. This is GitHub's standard infrastructure logging and is outside of CyberTools' control. See <a href="https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement" target="_blank" rel="noopener noreferrer" style="color:var(--accent-2);">GitHub's privacy statement</a> for details. CyberTools itself adds zero tracking on top of this.</p>
</section>
</article>
</main>
<script src="js/app.js" defer></script>
<script src="js/history.js" defer></script>
<script src="js/share.js" defer></script>
<script src="js/smart-detect.js" defer></script>
<script src="js/components.js" defer></script>
<script src="js/shortcuts.js" defer></script>
<script src="js/pwa.js" defer></script>
<script src="js/page-init.js" defer></script>
</body>
</html>