Python Source-Code Encryption
SitrTech encrypts Python source code so you can distribute applications and modules without revealing your .py files. It supports Odoo, Django, Flask, FastAPI, Frappe and Tornado.
Zip your project, run one command, and get a protected build: every .py file is encrypted with AES-256-GCM and a native loader is injected automatically, while your entry point stays runnable.
Encrypt from the local CLI (your source stays on your machine), the REST API, or the hosted platform — and automate it in CI/CD so every release ships protected.
What gets encrypted
Your Python source is protected while the project keeps working.
- All .py source files are encrypted with AES-256-GCM
- The framework entry point (manage.py, main.py, __manifest__.py, …) stays intact so the app still starts
- A native runtime loader ships with the output and decrypts in memory
- Optional licensing by machine, domain, IP or expiry, enforced offline
Protect against reverse-engineering
Compiling to .pyc or obfuscating names still leaves recoverable logic — decompilers and de-obfuscators are widely available. Encrypting the source means the .py files are ciphertext at rest; they can only be executed through the licensed loader, which makes reverse-engineering far harder and impractical.
Common use cases
Where Python teams reach for encryption before shipping.
- Selling an Odoo/Frappe module or a Django SaaS as an on-premise build
- Delivering a FastAPI/Flask service to a client's own servers
- Shipping a licensed desktop or edge Python app
- Protecting proprietary algorithms inside a larger open project
Works with your workflow
Encrypt from the CLI or the REST API, and automate it in CI/CD — GitHub Actions, GitLab CI or Docker — so protection is a build step, not a manual chore.
Frequently asked questions
Which Python versions are supported?
SitrTech supports the current CPython versions used by mainstream frameworks (through recent 3.x releases). See the documentation for the exact build matrix.
Can I encrypt an Odoo module?
Yes — zip your Odoo module (with __manifest__.py) and encrypt it; the manifest stays readable so Odoo still discovers and loads the module while your logic is encrypted.
Is it faster or slower than obfuscation?
At runtime it's effectively native: files decrypt once at import and then execute normally. Obfuscation avoids a startup cost but leaves your logic recoverable — encryption trades a small startup cost for materially stronger protection.
Do I need a network connection to run the protected app?
No. Licensing rules are embedded in the encrypted files and enforced by the loader at runtime, so protected code runs fully offline.
Will my dependencies (pip packages) be encrypted too?
No — third-party packages are left as-is. SitrTech encrypts your own source files so the app keeps working with its normal dependencies.
Get started · read the documentation or see the capabilities.