Snippet-Keeper.eu

Keep the text you find on the web. Only you can read it.

Snippet Keeper is a Firefox add-on that saves selected text together with the page's URL, title and the time you saved it. Your snippets are stored in your browser.

Sync is optional: turn it on and they are encrypted in your browser before they go to the server, so the server stores them without being able to read them.

Firefox add-on coming soon

How it works

  1. 1

    Save

    Select text, then right-click and choose Save to Snippet Keeper, or press Alt+Shift+S. The snippet is stored in this browser.

  2. 2

    Sync (optional)

    You don't need it to save snippets. Turn on sync with a generated passphrase, then enter the same passphrase in another Firefox to get the same snippets there.

  3. 3

    Browse

    The popup shows your recent snippets. With sync on, Browse all opens a searchable page that decrypts them in your browser.

End-to-end encrypted

Without sync, nothing is sent anywhere. With sync, everything secret stays in your browser: the server only stores encrypted blobs and a few hashes, so whoever runs it, me included, can't read your snippets.

Good to know

  • Your snippets live in the browser where you saved them. Stopping sync or deleting your account keeps them there; uninstalling the add-on removes them.
  • Lose your passphrase and the copy on the server is gone. Nobody can recover it.
  • The browse page runs JavaScript that the server sends. If you don't want to trust my server with that, run your own.
  • Both projects are open source, so you can check all of this yourself.

Pick a server

Only needed if you turn on sync.

Use mine

The add-on syncs with https://www.snippet-keeper.eu out of the box. Install it, open Settings, turn on sync and you're done.

Run your own

The server is a small Laravel app (PHP 8.3 or newer). Host it anywhere with HTTPS, then enter its address in the add-on under Settings → Server before you turn on sync.

git clone https://pushin.eu/surfman/snippet-keeper-server.git
cd snippet-keeper-server
composer install --no-dev
cp .env.example .env
php artisan key:generate
php artisan migrate
npm install
npm run build

Set APP_URL in .env to your server's address and point your web server at the public directory. The API is documented in docs/api.md.