Zero-Knowledge Architecture

Security you can verify, not just trust

Your sensitive bookmarks are encrypted on your device before they ever reach us. Here is exactly how it works — including the trade-offs most services don't mention.

Encrypted bookmark
End-to-end encryption
••••••••••••
title9f2a·c41e·77bd·a0…
urlb83c·1de9·44af·2c…
Encrypted on your device — server never sees plaintext

What we actually do

No "bank-level security" hand-waving. These are the specific measures protecting your data today.

Client-side AES-GCM encryption

Bookmarks you mark as sensitive are encrypted in your browser with AES-GCM authenticated encryption before anything reaches our servers. We store ciphertext we cannot read.

PBKDF2 key derivation, 600k iterations

Your encryption password is turned into a key with PBKDF2-HMAC-SHA256 at 600,000 iterations — the OWASP-recommended strength — with a random salt generated per bookmark.

Zero-knowledge by design

Your encryption password and derived keys never leave your device. If you forget the password, we cannot recover the data — that is the proof we cannot read it either.

Account passwords hashed with bcrypt

Your login password is stored only as a bcrypt hash (cost factor 12). Nobody at onBookmarks can see it, and it is never written to logs.

Encrypted data stays off public pages

Publicly shared collections exclude encrypted bookmarks at the database query level, so ciphertext never appears on an indexable page.

Safe exports

Library exports represent encrypted bookmarks as locked placeholders instead of dumping raw ciphertext — nothing leaves that could be attacked offline.

How encrypting a bookmark works

Three steps, all of them on your device.

1

Choose what's sensitive

Toggle encryption on any bookmark and set a password only you know. The rest of your library stays searchable and shareable.

2

Encrypted in your browser

PBKDF2 (600k iterations, fresh random salt) derives a key from your password; AES-GCM encrypts the URL, title, description, and notes locally.

3

We store ciphertext

Our servers receive and store only the encrypted blob. Your password and keys never leave your device — not even hashed.

Honest about the boundaries

A security page should tell you what a product doesn't do, too.

Encryption is selective, on purpose

Only bookmarks you choose to encrypt are end-to-end encrypted. Everything else is stored conventionally so search, AI tagging, archiving, and sharing can work. You decide what is sensitive.

Password recovery does not exist for encrypted data

There is no back door to add one. Losing your encryption password means losing access to those bookmarks — we are honest about this trade-off because it is what zero-knowledge means.

Format upgrades never strand your data

Our ciphertext format is versioned. When we hardened key derivation, older bookmarks kept decrypting and upgrade automatically the next time they are saved — no forced migrations.

Found a security issue?

Security reports go to the top of our queue. Email us and we'll respond as fast as we can.

Report an Issue

Private and smart — not one or the other

Cloud-grade convenience with self-hosting-grade privacy for the bookmarks that matter.

Create Your Free Account

We use browser storage for app functionality and Google Analytics to improve your experience. Your data stays encrypted, always.

Learn more in ourPrivacy Policy.