How do I protect Docker container contents (AI models + backend logic) from a customer with root access on an air gapped machine?
I'm building a product that runs entirely inside Docker containers, including trained AI models and proprietary backend logic. The target customers are labs that run air gapped (no internet) and have full root access to the host machine where the containers will be deployed.
The customer (legitimate buyer) wants to use the software, but my client is terrified that the lab's IT admins will reverse engineer the containers and steal the IP, especially the models and business logic.
I've explained that if someone has root on the host, they can docker exec, dump memory, copy files from overlay layers, etc. True isolation is impossible. But the client wants to make it "very hard to steal", essentially a strong speed bump.
Some ideas we've considered:
- Wrapping containers with a master key (only client knows it).
- Self destruct on 3 failed key attempts, deleting container images but preserving customer data.
- Compiling Python backend to native binaries and obfuscating model files.
The twist: the machines are air gapped, so no phone home licensing or cloud attestation.
What practical techniques have you seen work to raise the bar against root level extraction in on premises Docker deployments? I know perfect security is impossible here. I just need to make extraction expensive and annoying enough to deter all but the most determined attackers.
Thanks.