Zero-Knowledge Web Apps Explained
What “zero-knowledge” means and doesn’t mean for browser apps.
By Quickburn Team · · 3 min read
“Zero‑knowledge” has become a marketing buzzword, but in cryptography it has a precise meaning: proving that you know something without revealing the thing itself. In the context of web apps, the term usually means the service cannot read the data it stores for you. Quickburn fits that model, but with important caveats. This guide demystifies the term and sets realistic expectations.
Origins of zero‑knowledge proofs
The concept dates back to the 1980s with protocols like the Fiat–Shamir identification scheme. These methods let one party prove possession of a secret to another party without disclosing the secret. Modern zero‑knowledge proofs, used in cryptocurrency and privacy‑preserving computations, are far more advanced, allowing verification of entire computations.
Web apps rarely implement full zero‑knowledge proofs. Instead, they adopt the “zero‑knowledge” label to signal that sensitive data is encrypted client‑side before reaching the server. Services like password managers or Quickburn cannot decrypt the stored data because the keys never leave the user’s device.
What zero‑knowledge means for Quickburn
Quickburn’s server stores an encrypted blob and a timestamp. The encryption key lives in the URL fragment and never touches our infrastructure. If an attacker compromises the database, they gain nothing without the key. In that sense, the server has zero knowledge of the secret’s contents.
However, Quickburn still learns minimal metadata: when the link was created, when it expires, and whether it has been read. These pieces of information can reveal patterns, such as how often you share secrets. Zero knowledge does not imply zero metadata.
Threats outside the model
A common misconception is that zero‑knowledge equals invulnerability. If your browser or device is compromised by malware, an attacker can capture the plaintext before encryption or after decryption. Likewise, a phishing attack that tricks you into sending the link to the wrong person bypasses the cryptography entirely.
Another limitation is that most web apps, including Quickburn, rely on the integrity of the JavaScript delivered by the server. Although we serve content over HTTPS and use Subresource Integrity for critical scripts, a truly paranoid threat model would require building the app from source or using browser extensions that pin hashes.
Balancing usability and purism
Implementing full zero‑knowledge proofs in the browser is still impractical for everyday tasks due to computational cost and complexity. Instead, we adopt pragmatic measures: client‑side encryption, minimal logging, and a transparent architecture for verification. These choices cover the vast majority of real‑world threats while keeping the app easy to use.
When zero‑knowledge isn’t enough
Some scenarios demand stronger guarantees. If you need deniable communication or protection against traffic analysis, a specialized tool like Tor combined with an end‑to‑end encrypted messenger might be more appropriate. Quickburn is best for short‑lived secrets where the main risk is server compromise or lingering copies.
The path forward
Researchers are developing more efficient zero‑knowledge proofs, and browsers are adding primitives like WebAssembly and secure enclaves that could make advanced protocols feasible. We keep an eye on these developments and plan to incorporate them when they become practical.
For now, remember that “zero‑knowledge” is a useful shorthand for “we can’t read your stuff,” not a magic shield against every attack. Use tools like Quickburn as part of a broader security strategy that includes safe devices, cautious sharing habits, and continual learning.
Keep exploring
- Secure Messaging vs One-Time Links
When to use apps like Signal or Matrix and when a one-time link is enough.
- Privacy-by-Design Checklist
A practical checklist aligning Quickburn with GDPR principles.
- How We Handle Metadata
What Quickburn stores about your links and what it deliberately ignores.