storage-p

storage-p vs Padloc: zero-knowledge & self-hosted

Both storage-p and Padloc keep secrets safe, but they take different routes. storage-p is a self-hosted, zero-knowledge vault you operate yourself; Padloc is a self-hosted, open-source server. Here is a factual side-by-side.

At a glance

  1. Hosting: storage-p runs self-hosted on your own server; Padloc is a self-hostable server.
  2. Encryption: storage-p is zero-knowledge — your key is derived in the browser with Argon2id and the server only ever stores XChaCha20-Poly1305 ciphertext.
  3. Beyond passwords: storage-p also stores SSH/TLS keys, API keys and TOTP, and generates Ed25519 SSH keys and self-signed certificates client-side.
  4. Integrations: storage-p issues scoped API tokens whose every read can require your in-app or Telegram confirmation.
  5. Both Padloc and storage-p can be self-hosted; storage-p keeps the database encrypted at rest with SQLCipher on top of client-side encryption.
  6. Both are open about their internals: Padloc is open-source, and storage-p is self-hostable with a transparent, documented crypto design.

The core difference

You already self-host with Padloc, so the real question is the model: storage-p derives keys in your browser (the server only ever holds ciphertext), additionally encrypts the database at rest with SQLCipher, and hands integrations scoped, confirmable API tokens instead of broad access.

Where storage-p stands out

The server never sees your master password or plaintext — encryption, decryption, key generation and the security audit all run on your device. You can store and generate SSH/TLS material, share via burn-after-read links or end-to-end sealed-box, and grant integrations narrow, auditable access instead of all-or-nothing exports.

When Padloc may fit better

Padloc is a mature project with its own ecosystem and clients; if you already run it and rely on its integrations, staying put may be simplest.

Switching from Padloc

Moving is straightforward: Padloc can export your entries to a CSV file, which storage-p imports as a generic CSV. See the step-by-step migration guide linked below.