Your code. Your models.
Locked to you.
One command encrypts your Python code and AI models. From then on they run only on the devices you authorize — fully offline, wherever they travel. And when you need it: a kill switch, one click in your portal.
The real workflow — from install to running offline.
Code protection
One command. Source becomes ciphertext.
Run `magiclock protect` and your Python source turns into an encrypted artifact that still imports and runs like ordinary Python — but only on machines you authorize.
- Ships encrypted, runs like Python
- Protected files import and execute exactly as before. Your users notice nothing — except that copying the files elsewhere gets them noise.
- Nothing to mark, nothing to miss
- No decorators, no source changes — every protected module passes the runtime gate before a single line executes.
- A compiled tier when you want more
- One flag builds a hardened native binary — machine code instead of bytecode, for the strongest protection level.
- One project, one self-contained app
- Add --standalone and your whole project — runtime included — compiles into a self-contained app. Your users need no Python, no packages, nothing to set up: they receive it and run it.
Two promises
Forever offline, or yours to switch off.
Every artifact is one of two things, and you decide which at the moment you protect it. Both promises are absolute — neither erodes the other.
Allowed to run. Flip it off to stop it everywhere it is deployed.
Demo only, sped up: the real artifact re-checks on its own schedule, and keeps running through a network outage for a grace window you choose.
It runs forever.
The artifact you ship never phones anyone. Your subscription ending, a machine leaving your account — none of it touches software already in your customers' hands.
- No network at run time. Ever.
- Nothing we (or you) can do stops it later.
- Right for ordinary delivery: sell it, ship it, done.
The honest trade: an offline artifact cannot be recalled. If you need that, choose the other promise. The free trial produces these offline artifacts.
You say when it stops.
A cloud-controlled artifact checks for your approval before it runs. Flip the switch in your portal and it stops — everywhere it is deployed, at its next check.
- Stop and restart any delivery, per artifact.
- Keeps running offline for a grace window you choose (1 hour to 30 days).
- Right for rentals, subscriptions, expiring pilots, and unpaid invoices.
An approval can't be forged, and a stop can't be worked around — the switch answers to you alone.
Same command, one flag: `magiclock protect app.py --web-gate`. Mix both in one product line — the choice is per artifact, not per account.
Model protection
Models decrypt in memory. Nowhere else.
The weights you spent months training are encrypted once, then sealed to each authorized device. They unlock only at the moment of inference — in memory, never on disk.
- Encrypt once, seal per device
- Each authorized machine gets its own envelope. There is no shared key to leak — and nothing a copied file can do on foreign hardware.
- No decryption secret ever leaves
- The secret that unlocks your model exists only on the authorized device — never uploaded, never escrowed, and no server can hand it over, including ours.
- Zero code changes for inference
- Load weights through runtime.open_model() and everything downstream works untouched — PyTorch, ONNX, anything that reads a file.
Device-bound · fully offline
The license is the machine.
Every run passes a five-step gate — locally, instantly, with no network. Activate once online; after that, protected software verifies and decrypts entirely on the device.
All five pass and your software runs as if nothing happened. Any one fails, and nothing decrypts.
- 01Authenticity
The license was issued by us, for your account — a fake one is spotted instantly and gets nothing.
- 02Validity
Not expired, and the machine is still authorized to produce artifacts.
- 03Device
The machine fingerprint matches the authorized device — clones and copies stop here.
- 04Entitlement
What the code is about to do is inside what the license allows.
- 05Freshness
A copied or captured old credential fails on the spot — every check must be brand new.
- 1 command
- encrypts code and models — zero code changes
- 0
- Network connections needed at run time
- 3
- Platforms — macOS, Windows, Linux · Python 3.9–3.14
- 48h
- Free trial — the full offline protection, no card
How it works
Four steps. Minutes, not days.
No SDK rewrite, no build-system surgery. Install, protect, ship — and what you ship keeps running even after your subscription ends.
- 1
Activate
pip install, sign in once — your machine is authorized in seconds.
- 2
Protect
One command encrypts code and models. Every module is gated automatically — zero code changes.
- 3
Ship
Deliver the protected app any way you like. Your users need no account, no install.
- 4
Run
It opens and runs — verified and decrypted fully offline, every time.
Agent-ready
Your AI agent already knows how.
Run one command and any AI coding agent in your project — Claude Code included — learns to protect your code and models by itself. No manual, no setup.
$ magiclock skillPricing
Every plan includes everything.
Code and model encryption, device binding, offline runtime, the cloud kill switch — all of it, in every paid plan. Start free for 48 hours; subscribe weekly, monthly or yearly, or buy Lifetime once and own it.
Apps you've shipped keep running even after your subscription ends.
Lock it down in minutes.
Your next release can ship encrypted. Start the free trial and see the whole flow — install, protect, run — before your coffee cools.