Bergrum

The design, published in full.

The app is closed source. Its design is not. Everything below is public, including an honest list of what the app does not protect against.

Why the documentation is public when the code is not

A closed-source security tool asks you to take two things on faith: that the design is sound, and that your data is not hostage to the vendor. Both are answerable without handing over the source.

Is the design sound?

Judge it. The key hierarchy, the exact algorithms and parameters, and the reasoning behind each choice are written down. There is nothing in the construction whose secrecy it relies on — that is what distinguishes a design from a secret.

Is your data hostage?

No. The archive format is specified completely enough that someone else could write a reader for it. If this app disappeared, a reader built from the specification would open your archives with your passphrase and your key file. The specification removes the app from the equation.

It does not remove your secrets from it, and it cannot: what it publishes are the inputs to a key derivation, not a way around one.

The documents

Written for a technical reader. Plain Markdown, diagrams included.

Can you open an archive without this app?

That is the question the format exists to answer. You do not need this app, only a reader built from the specification. No finished one exists yet; an open-source reader for Windows is planned.

What you need

The archive, your passphrase, and your key file if you used one. The header carries the salt and the key-derivation parameters in plaintext — they are not secrets, and they are bound into the authentication tag so nobody can weaken them after the fact.

From there it is Argon2id, AES-256-GCM to unwrap the archive key, and AES-GCM-HKDF streaming to read each file. All of it is standard, and all of it is specified in FORMAT.md.