Skip to content

Security & privacy

Security & privacy

What is protected, how, and — just as plainly — what is not.

What encryption covers

File contents AES-256-GCM, one record per block
File names, sizes, timestamps, attributes the manifest is one AES-256-GCM record
Per-block SHA-256 and CRC-32C the chunk table is one AES-256-GCM record
Archive size, block count, uncompressed total the header stays readable, and there is no padding to hide it
Who made the archive there are no signatures: a valid tag proves someone had the password, nothing about who

The cryptography, named

Cipher
AES-256-GCM through Windows CNG (BCryptEncrypt / BCryptDecrypt, BCRYPT_CHAIN_MODE_GCM). 96-bit nonce, 128-bit tag.
Key derivation
PBKDF2-HMAC-SHA256 through BCryptDeriveKeyPBKDF2, 600,000 iterations by default. The archive records the count, so it can be raised without breaking old files.
Randomness
The operating system's generator. No salt, nonce or key is produced by this project's own code.
Wrong-password answer
A GCM tag over an empty plaintext whose associated data is the finished header. One derivation tells a reader the password is wrong.
Invented cryptography
None. Every primitive comes from Windows CNG.

Where it ends

A weak password defeats all of it

The whole scheme reduces to the password. PBKDF2 at 600,000 iterations costs an attacker roughly half a second per guess on one core — but a GPU does hundreds of thousands of guesses a second, and specialised hardware does more. A long passphrase is the only defence that scales.

PBKDF2 is not memory-hard

A memory-hard function such as Argon2id would resist GPUs better. Windows CNG offers none, and this project implements no cryptography of its own, so PBKDF2 is what is used. It is named here rather than glossed over.

No signatures, no identity

An archive that opens with your password was made by someone who had your password. Nothing in the format says who, and nothing proves an unprotected archive is unaltered.

Memory is not scrubbed as a guarantee

No claim is made that a password cannot be recovered from the running process's memory.

Deletion is not secure deletion

Nothing here claims to erase data beyond recovery on an SSD. Wear levelling means a file's old blocks can survive an overwrite, and this program makes no promise it cannot keep.

What the program sends

Nothing. There is no network code in the archiver: no telemetry, no update check, no crash reporting, no account, no advertising identifier. The only addresses in the program are links you choose to click, and they open in your browser.

Privacy policy
  • Settings

    A plain text file in your own AppData folder. You can read it, edit it or delete it; a value this build does not accept falls back to the default.

  • Recent archives

    A list of paths and sizes, kept in the same folder, so the home screen can show what you worked on. Deleting the file clears it.

  • Your archives

    Written where you asked and nowhere else. Extraction never writes outside the folder you chose.

  • Shell integration

    Registry entries, added only when you press Install and removed when you press Remove.

Reporting something

If you find a security problem, write to [email protected] with enough detail to reproduce it. Please do not post it publicly until there is a fix to go with it.

The long version

The threat model, the container format and the measured benchmark are documents in the source repository rather than marketing copy: THREAT_MODEL.md, FORMAT_JAB_V1.md and PERFORMANCE_BENCHMARK.md.