Apps

cryptship

Software delivery

Ship encrypted, license-gated application code inside Docker images. The image is ciphertext; a small loader runs your app only with a valid license.

  • AES-256-GCM payloads, Ed25519 licenses
  • Air-gapped, on-prem and cloud modes
  • Instant revocation via license server
  • Hardening and per-license watermarks
v0.1.0 Β· Go Β· GPLv3

How cryptship works

The image on disk is ciphertext. Only a valid license turns it back into your app.

Build time Β· vendor

Your app
Source or compiled build output
↓
cryptship pack
Random content key; AES-256-GCM into payload.enc
↓
cryptship issue
Ed25519-signed license that wraps the content key
↓
Container image
Loader + payload.enc + license + public key

Run time Β· customer

Loader starts
Verifies the license signature, expiry and revocation
↓
Key provider
offline Β· online license server Β· attested hardware
↓
Decrypt to tmpfs
Wrong license or machine means the AEAD tag fails
↓
exec your app
Runs with the license ID and customer as a watermark

Local-first by design

πŸ“΅
No tracking
AI2TH apps ship no analytics or crash reporting that sends data off the device
πŸ€–
Offline AI
Miktam Bible’s study assistant runs a local model; conversations stay on the phone
πŸ”Œ
Loopback by default
Linxr binds port forwards to 127.0.0.1; LAN access is an explicit opt-in