Skip to main content

FileCrypt

Interactive file encryption with Argon2id (key derivation) and ChaCha20-Poly1305 (authenticated encryption).

Drag a file into the terminal: the tool auto-detects encrypt/decrypt. Password input is hidden and never touches shell history.

License: GNU AGPL v3 or later — see LICENSE.

Features

  • Drag & drop, no flags to remember.
  • Auto mode detection via file header.
  • Streaming in 8 MiB chunks, low memory on multi-GB files.
  • Colored output, progress bar with percent, sizes and speed.
  • CLI mode: batch files, --encrypt / --decrypt, -o, -y, -k.
  • Detects wrong passwords, tampering, truncation and chunk reordering.
  • Atomic output, never overwrites without asking.

Install

pip install filecrypt-argon2id
filecrypt --help

Or from source:

git clone https://github.com/msv1d/filecrypt.git
cd filecrypt
pip install -r requirements.txt
python filecrypt.py

Usage

Interactive (simplest):

python filecrypt.py

Encrypted files get .obf2id: photo.jpg -> photo.jpg.obf2id and back.

With arguments:

# auto mode, one or more files
python filecrypt.py report.pdf backup.zip

# forced modes
python filecrypt.py -e secret.docx
python filecrypt.py -d secret.docx.obf2id

# custom output, overwrite without asking, keep source
python filecrypt.py -e input.bin -o output.obf2id -y -k

python filecrypt.py --help
python filecrypt.py --version

Exit code: 0 on success, 1 if any file failed.

Format

Parameter Value
KDF Argon2id, 3 iterations, 64 MiB, 4 lanes
Cipher ChaCha20-Poly1305, 256-bit key
Chunk 8 MiB plaintext + 16-byte tag
Header 58 bytes, used as AAD for every chunk
Nonce prefix(7) + counter(4) + last(1), STREAM construction

Header stores Argon2 parameters, so they can be raised later. Untrusted headers are capped: time <= 10, memory <= 256 MiB, parallelism <= 8, chunk <= 64 MiB. See the docstring in filecrypt.py.

Security notes

  • Strength depends on the password. Use a long passphrase (20+ chars).
  • Wrong password fails on the first chunk; later failures mean modification.
  • Deleting the original is a plain delete, not a secure wipe.
  • Python cannot reliably erase secrets from memory.
  • Not independently audited.

License

Copyright (C) 2026 FileCrypt contributors.

Free software under GNU Affero General Public License v3 or later. Full text in LICENSE: you may use, modify and share it; modifications stay under AGPL, and network use of a modified version requires offering the source to users.

Metadata

Release files for filecrypt-argon2id 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for filecrypt-argon2id 1.0.0
File Size Uploaded
filecrypt_argon2id-1.0.0.tar.gz 19.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for filecrypt-argon2id 1.0.0
File Interpreter ABI Platform
filecrypt_argon2id-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.3 kB

Release files / filecrypt_argon2id-1.0.0.tar.gz

Download URL filecrypt_argon2id-1.0.0.tar.gz
Size 19.9 kB
Tags Source
SHA-256 checksum
How to use checksums
57ad0b2ee7dda5da9902a8700c1223b22588091d6eab22715d95a5a8c500d8e5
BLAKE2b-256 checksum
How to use checksums
0f811f299f1fa652ee4600d3d1627bf36b005085faa73bb4eef4e20b34c7546f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / filecrypt_argon2id-1.0.0-py3-none-any.whl

Download URL filecrypt_argon2id-1.0.0-py3-none-any.whl
Size 20.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe3700ff04eaf808a3fedb3b3d02fe855ecc18ed151f07863a1c871a9fd2e588
BLAKE2b-256 checksum
How to use checksums
51134ce59a69b3f5cca975ff6aac2da83c30fbd0f983b077839917efb62c99ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page