AI coding tools need to read project files. Some source code should still stay out of the workspace in plaintext.
I built AILatch for that boundary: files stay encrypted on disk, while Python code can run with plaintext materialized only inside the AILatch process.
The basic flow is:
pip install ailatch
ailatch lock secret.py
cat secret.py # ordinary file reads see ciphertext
ailatch run secret.py # run the program without restoring plaintext
ailatch run decrypts the entry file in memory and keeps the working-tree file encrypted. Encrypted Python modules can still import each other, and application code can use normal open() and pathlib reads through the runtime hooks.
When I need to inspect or edit a locked file, AILatch provides a controlled plaintext view:
ailatch open .
ailatch show secret.py
The project also includes encrypted backups and recovery commands:
ailatch lock secret.py --recovery
ailatch restore secret.py
ailatch recover secret.py
This is aimed at filesystem-level reads by AI tools and ordinary file utilities. It does not claim to stop a privileged local attacker who can inspect process memory or persuade a user to decrypt a file. Stronger isolation still requires operating-system permissions, process isolation, and careful credential handling.
AILatch currently targets Python 3.11+ and is primarily tested on Windows and macOS.
Repository and full command reference: github.com/lo2589/AILatch
Tags: #opensource #python #security #ai
Top comments (0)