# cryptship | Part 3 — An Honest Threat Model, and the Hardening That Raises the Cost

> Source: <https://dev.to/ai2th/cryptship-part-3-an-honest-threat-model-and-the-hardening-that-raises-the-cost-29oe>
> Published: 2026-11-15 16:12:14+00:00

Every "protect your code" product has to answer one question honestly: **what about root?** This part is cryptship's answer.

The image on disk is ciphertext. But once your app runs, its plaintext is in the container's memory, and **root on the host can read that memory**. No user-space trick changes that. Only two things truly do:

Everything else in cryptship raises the cost. We would rather say that plainly than sell you a lock that is not there.

```
cryptship pack --transform-cmd "<your toolchain>" …
```

The transform runs over a copy of your app **before** it is encrypted. A memory dump then recovers compiled artifacts instead of readable source, which matters a lot when the attacker has AI tools that are good at reconstructing source. The repo includes a Python-bytecode recipe (`scripts/compile-python.sh`); swapping in Nuitka for native code is a one-line change. `scripts/demo-compiled.sh` shows the difference.

`tmpfs`` deploy/`.
That stops an attacker who is inside the container or not root. It does not stop root on the host.

The loader writes `.cryptship-manifest.json` and exposes `CRYPTSHIP_LICENSE_ID` and `CRYPTSHIP_CUSTOMER` to your app. If an instance leaks, it traces back to its licensee. That is a deterrent, not a lock: a determined attacker can strip it.

`docker save` and `tar`.` online` provider, revocation is real and immediate.
If you work on confidential computing and want to help, we would love to hear from you.
