Both tools encrypt in the browser — but not equally

Privnote and 1time.io share the same fundamental approach: the secret is encrypted in your browser and the decryption key lives only in the URL fragment. The server stores ciphertext it cannot read. When the recipient opens the link, decryption happens in their browser. Neither server ever sees the plaintext.

The difference is what happens inside that encryption step. Privnote uses Gibberish-AES — an open-source JavaScript library last updated around 2012 — which implements AES in CBC mode with MD5 for key derivation. 1time.io uses AES-GCM with HKDFkey derivation via the browser's native Web Crypto API. That difference matters.

AES-CBC vs AES-GCM: why the mode matters

AES-CBC encrypts your data but provides no integrity guarantee. If an attacker can modify the ciphertext in transit — through a network interception, a compromised server, or a malicious proxy — the tampered ciphertext will silently decrypt to corrupted output. There is no built-in way for the recipient to detect that the message was altered.

AES-GCM (Galois/Counter Mode) is authenticated encryption. Every ciphertext includes an authentication tag. If anyone modifies even a single byte of the ciphertext, decryption fails with an explicit error. The recipient either gets the original message or nothing — there is no silent corruption.

Privnote: AES-CBC — no tamper detection
🔒Encrypted in browserAES-CBC, MD5 key derivation
⚠️No integrity checkTampering undetectable
📖Decrypted by recipient
1time.io: AES-GCM — authenticated encryption
🔒Encrypted in browserAES-GCM, HKDF key derivation
Auth tag includedAny tampering detected
📖Decrypted by recipient

MD5 vs HKDF: key derivation matters too

Gibberish-AES derives the encryption key from the passphrase using MD5 — the same hash function that was deprecated for security use over a decade ago. MD5 is fast to compute, which means it is fast to brute-force. It was never designed to be a key derivation function.

1time.io uses HKDF (HMAC-based Key Derivation Function), a purpose-built algorithm for deriving cryptographic keys. It is the standard recommended by NIST and used in modern protocols like TLS 1.3.

Feature-by-Feature Comparison

Feature1time.ioPrivnote
Client-side encryption AES-GCM (authenticated)~ AES-CBC (no auth tag)
Key derivation HKDF MD5
Encryption library Web Crypto API (native, maintained) Gibberish-AES (abandoned, 2012)
Open source Full repo on GitHub Closed source
Ads & trackers None Ads + third-party trackers
Self-destructing
Custom passphrase
Password generator Built-in
File sharing Encrypted one-time download
CLI npx @1time/cli send
Read notification Email notification
Account required No No

Where Privnote Has the Edge

  • Read notifications. Privnote can email you when the recipient opens your note — useful when you need confirmation of receipt. 1time.io does not offer this.
  • Brand recognition. Privnote has been around since 2008. Many people know it by name and trust it from past use.
  • Custom destruction message. You can configure a custom message shown to the recipient after the note is destroyed.

Where 1time.io Has the Edge

  • Authenticated encryption. AES-GCM detects any tampering with the ciphertext. With Privnote's AES-CBC, a modified ciphertext silently decrypts to garbage with no warning.
  • Modern key derivation. HKDF is a purpose-built, NIST-recommended KDF. MD5 is a general-purpose hash not designed for this role.
  • Maintained cryptographic library. 1time.io uses the browser's native Web Crypto API — audited, maintained, and updated with browser security patches. Gibberish-AES has not been updated since around 2012.
  • Open source, fully auditable. Privnote is closed source. 1time.io publishes the complete source code including the encryption protocol on GitHub.
  • No ads or trackers. Privnote shows ads and loads third-party tracking scripts. 1time.io has no ads, no analytics, and no third-party scripts.
  • More features. Password generator, passphrase generator, encrypted file sharing, and a CLI for terminal and CI/CD workflows.
⚠️

Closed source means you cannot verify.Privnote's JavaScript is inspectable in the browser, which is how we know they use Gibberish-AES. But the rest of their stack is opaque. With 1time.io, the entire system — client, server, and CLI — is publicly auditable on GitHub.

The Bottom Line

Privnote pioneered the self-destructing note format and still works for low-stakes use. But for sharing passwords, API keys, or credentials, the cryptographic details matter: AES-GCM with HKDF is meaningfully stronger than AES-CBC with MD5, and an actively maintained native API is safer than a decade-old third-party library.

If you want to verify what you are trusting, 1time.io is the only option — the source code is public and the encryption is auditable. Privnote requires you to take their word for it, while serving you ads in the process.

Frequently asked questions about Privnote and 1time.io

What is the difference between Privnote and 1time.io?

Both Privnote and 1time.io encrypt in the browser and store the decryption key only in the URL fragment — the server never sees your plaintext. The key difference is the quality of the cryptographic implementation. Privnote uses Gibberish-AES, an unmaintained library from 2012 that implements AES-CBC with MD5 key derivation. 1time.io uses AES-GCM (authenticated encryption) with HKDF key derivation via the native Web Crypto API. Additionally, 1time.io is fully open source, has no ads, and includes a password generator, file sharing, and a CLI.

Does Privnote use end-to-end encryption?

Yes, Privnote encrypts notes client-side before sending them to the server. However, the encryption library they use — Gibberish-AES — implements AES-CBC mode with MD5 for key derivation. AES-CBC provides no authentication, meaning an attacker who can modify ciphertext in transit could alter the decrypted message without detection. 1time.io uses AES-GCM, which is an authenticated encryption scheme that detects any tampering with the ciphertext.

Why does the encryption algorithm matter when comparing Privnote and 1time.io?

Privnote uses AES-CBC, which encrypts data but provides no integrity guarantee — a modified ciphertext will silently decrypt to garbled output, and certain attack classes (like padding oracle attacks) are possible against CBC mode. It also uses MD5 for key derivation, a hash function not designed for this purpose. 1time.io uses AES-GCM, which is authenticated encryption: any tampering with the ciphertext is detected and the decryption fails. It uses HKDF for key derivation, which is specifically designed for this role.

Is Privnote open source?

No. Privnote is closed source — you cannot audit their full implementation. Their JavaScript is inspectable in the browser, which is how we can see they use the Gibberish-AES library, but there is no public repository to verify or audit the complete system. 1time.io is fully open source under the MIT license on GitHub — the entire encryption protocol, client, server, and CLI are publicly auditable.

Does Privnote show ads?

Yes. Privnote displays ads and uses third-party non-functional cookies for commercial purposes, as stated in their privacy policy. 1time.io has no ads, no tracking, and no third-party cookies.

Does Privnote have file sharing or a password generator?

No. Privnote only supports text notes. 1time.io includes a built-in password generator, a diceware passphrase generator, encrypted one-time file sharing, and a CLI for terminal and CI/CD workflows — all using the same zero-knowledge architecture.

🔒

Share secrets with real encryption

End-to-end encrypted, self-destructing, open source. No ads, no tracking.

Create a secure link