You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(security): clarify URL hash security and add browser exposure caveat
- Explain why Key A in URL hash is secure by design in README.md
- Update security page to emphasize treating vault links like passwords
- Add note on browser history/bookmark risks inherent to client-side crypto
This enhances user awareness of zero-trust tradeoffs and proper handling of vault links.
Copy file name to clipboardExpand all lines: README.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -181,11 +181,14 @@ sequenceDiagram
181
181
### "Can I use timing attacks to detect the exact unlock time?"
182
182
**❌ NO.** Server responses include random jitter (0-100ms delay) to prevent timing-based information leakage.
183
183
184
+
### "Can rate limits be bypassed in serverless environments?"
185
+
**❌ NO.** Rate limits are stored in D1 database, persisting across all Cloudflare Worker instances. In-memory bypass is impossible.
186
+
184
187
### "Why is there no user authentication?"
185
188
**✅ BY DESIGN.** Authentication adds attack vectors (credential theft, phishing, password breaches, session hijacking). TimeSeal uses cryptography-only security: possession of the vault link (Key A) is the authentication. No passwords to steal, no accounts to hack.
186
189
187
190
### "Can I replay old API requests to trick the server?"
188
-
**❌ NO.** Pulse tokens include nonces and timestamps. Replay attacks are detected and rejected.
191
+
**❌ NO.** Pulse tokens include nonces stored in D1 database. Replay attacks are detected across all worker instances and rejected.
189
192
190
193
### "What if Cloudflare goes down?"
191
194
**⏸️ PAUSED.** Your seal remains locked in the database. When Cloudflare comes back online, the countdown resumes.
<p>API endpoints use browser fingerprinting (IP + User-Agent + Language) to prevent VPN/IP rotation bypass. 10-20 requests per minute per fingerprint.</p>
84
+
<p>API endpoints use browser fingerprinting (IP + User-Agent + Language) with D1 database persistence. Rate limits survive across all worker instances. 10-20 requests per minute per fingerprint.</p>
85
85
</div>
86
86
<div>
87
87
<pclassName="text-neon-green font-bold mb-2 flex items-center gap-2"><CheckCircle2className="w-4 h-4"/> No Single Point of Failure</p>
@@ -117,8 +117,9 @@ export default function SecurityPage() {
117
117
<li>Brute force attacks (256-bit keys + fingerprinted rate limiting)</li>
0 commit comments