Security & privacy

GCRYPT security and privacy.

GCRYPT combines Argon2id and XChaCha20-Poly1305, encrypts metadata needed to restore the original, and processes data in blocks. The password remains essential: there is no documented master key or password-recovery mechanism.

Key derivation

Argon2id, version 0x13. Generated containers use 64 MiB, 3 passes, and p=1.

Authenticated encryption

XChaCha20-Poly1305. Modifying a record or its position must cause authentication to fail.

Randomness per container

A fresh random salt and nonce prefix are generated for every encryption operation.

V1

Position-bound records

The nonce combines a random 16-byte prefix with a u64 record index. The AAD contains the 60-byte header and the same index.

nonce = nonce_prefix || record_index_u64_le
AAD   = header_60_bytes || record_index_u64_le
V2

Compression before encryption

The authentication principle remains the same, while the useful plaintext is a Zstandard stream, optionally preceded by an internal TAR serialization for a folder.

file   : bytes → Zstandard → XChaCha20-Poly1305
folder : TAR   → Zstandard → XChaCha20-Poly1305

Protected metadata

  • The original name is encrypted.
  • The exact original size is encrypted.
  • In V2, source type and compression information are encrypted.
  • Only the technical header required for key derivation and format identification remains public.

Abuse-prevention limits

  • Readers reject, among other cases, Argon2 m_cost above 128 MiB.
  • t_cost is limited to 6 and p_cost to 8.
  • Accepted block size is limited to 64 KiB–16 MiB.
  • Unsafe paths and special archive entry types are rejected in V2.

Careful writing

A container or restored file is first written to an opaque work file in the destination folder. The final name is applied only after a valid end, flush, and file synchronization.

Memory and preferences

The application can purge passwords, direct text, selections, and the latest result after a period of inactivity. The local settings.conf file contains only documented non-sensitive preferences.

What GCRYPT does not promise

No password recovery.

The documented model includes neither a master key nor a recovery mechanism. If the password is lost, there is no GCRYPT recovery service that can restore the content. Likewise, publisher metadata and a published SHA-256 checksum must not be confused with a commercial code-signing certificate.

Application privacy

  • No account.
  • No required server.
  • No remote history.
  • No network connection required.
  • No parsing of document contents for encryption.

GCRYPT website privacy

  • No account or user profile.
  • No analytics or advertising cookies.
  • No tracker or user identifier is stored by GCRYPT code.
  • The download counter stores only one global total.
  • The GCRYPT counter stores no downloaded platform, IP address, or User-Agent.
  • The hosting provider may keep standard technical logs independently of GCRYPT.