Skip to main content

Command Palette

Search for a command to run...

IPFS vault storage: encryption, pinning and availability

Updated
•3 min read•View as Markdown

Lire cet article en français

When we designed VaultKeepR, one of the first questions was: "Where should encrypted vaults be stored?" The default answer in the industry is "our cloud servers." We chose a fundamentally different path.

The Cloud Problem

A hosted service may offer replication, monitoring and an availability contract. Those guarantees depend on the service and configuration. They do not establish that a provider can read a client-encrypted vault.

Enter IPFS: Content-Addressed Storage

IPFS (InterPlanetary File System) is a peer-to-peer protocol where data is identified by what it is, not where it is.

Traditional Storage (Location-Based)

"Give me the file at server-47.company.com/vaults/user-12345"
→ You trust the server to return the correct file
→ If the server is down, the file is unavailable
→ The server operator can modify the file

IPFS (Content-Based)

"Give me the file with hash bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oc..."
→ Any node on the network can serve the file
→ The hash guarantees the file hasn't been modified
→ Multiple nodes can store copies for redundancy

The key insight: with IPFS, the identifier IS the verification. If someone tampers with your encrypted vault, the hash changes, and the CID no longer matches. You get tamper detection for free.

How VaultKeepR Uses IPFS

The client encrypts vault snapshots before upload. Storage can involve IPFS gateways, pinning services, hosted APIs and S3-compatible backends. These services handle ciphertext, while timing, size, CIDs and on-chain activity may remain observable. IPFS content addressing does not guarantee persistence: retain an independent encrypted backup and test retrieval. The sync documentation and threat model describe those dependencies.

IPFS Benefits for Password Security

Content addressing lets a client verify that a retrieved blob matches the requested CID. It does not prove that CID is the newest version, encrypt the blob by itself or guarantee availability.

Independent pinning can add a copy, but requires retaining CIDs and testing retrieval. Contracts and hosted APIs may still be required by the selected flow.

Addressing Concerns

Anyone who learns a CID may retrieve its ciphertext. That does not supply the key, but permits copying the blob and offline guessing against a password-based path. Sizes, timing and gateway accesses may be observable.

The Bigger Picture

Encryption protects content; storage must preserve access. Evaluate those separately, then test an independent backup instead of inferring permanent persistence from decentralization.

Keep Reading


Your encrypted vault shouldn't have a landlord. VaultKeepR stores your passwords on IPFS — open and verifiable. Availability still depends on copies someone keeps pinned and reachable: hold your CID and recovery identifiers, and test an independent restore.

Learn more →

More from this blog

V

VaultKeepR - Password Manager Zero Knowledge - No Account - No Email

86 posts

Building a password manager with no email signup, no account, and zero-knowledge encryption. The engineering behind VaultKeepR, open source: Argon2id and XChaCha20-Poly1305 in TypeScript, Solidity contracts on Base, wallet-based identity, CRDT sync, IPFS storage, fragmented recovery, digital legacy. Working code, threat models, Foundry tests, and the trade-offs we argue about. MIT, reuse it.