I’m the developer of YourKeep, a local-first backup application built around an open, implementation-independent recovery protocol.
Protect mode uses XChaCha20-Poly1305, Argon2id, a BIP-39 24-word recovery phrase, and Reed–Solomon erasure coding. The resulting self-describing shards can be distributed across unrelated cloud providers, external drives, NAS devices, or physical locations. Split mode provides erasure-coded redundancy without confidentiality.
YourKeep operates without an account or backup server. Backup and recovery run entirely locally. The protocol specification and test vectors are published under Apache-2.0, so recovery does not depend on the official clients or the continued existence of the project.
Threat model:
Protects confidentiality and integrity if storage providers or individual shard locations are compromised, assuming the recovery phrase remains secret
Preserves availability while at least the configured threshold of shards remains available (tolerating up to n−k missing shards in a k-of-n configuration)
Does not protect against a compromised local endpoint or runtime during encryption or recovery
Cannot recover encrypted data if the recovery phrase is lost, or if fewer than the threshold number of shards remain
Split mode provides redundancy only, with no confidentiality
The protocol and implementation have not yet undergone an independent third-party security audit. I’m posting here to invite technical review and identify potential weaknesses in the design, cryptography, implementation, or documentation.
You claim your project is Open Source (multiple time listed on your Website), but on all your GitHub repos I only can find templates for LLM-instructions instead of any code.
In Protect mode, the original data is first encrypted locally with XChaCha20-Poly1305. The encrypted data is then encoded into n shards using Reed–Solomon erasure coding, with a configured threshold k. Any k valid shards are sufficient to reconstruct the encrypted data, after which the recovery phrase is used to derive the key and decrypt it.
So the two mechanisms have separate roles: Reed–Solomon provides the k-of-n redundancy and loss tolerance, while encryption provides confidentiality. The recovery phrase itself is not split across the shards.
Split mode uses the same Reed–Solomon approach, but without the encryption layer.
I am not a native English speaker, and because GPT is a better translator, I often ask it to translate my writing. However, it automatically adds a link footer. I sincerely apologize for this issue caused by my language barrier, which may have made you feel disrespected. But I want to say that I deeply respect communication with everyone, even more than with users. I am not a particularly articulate or socially charismatic person. Therefore, I currently rely on AI to help me with translation and text editing.