ENC Protocol
A formally verified, append-only protocol for building sovereign, independently-verifiable apps.
ENC stands for encode, encrypt, enclave. Apps built on ENC keep their data in virtual enclaves — cryptographically-defined, append-only logs whose state and full history anyone can verify offline, without trusting the operator. The protocol itself is written once as a formally-verified specification that generates the code that ships, so the software you run is provably the design that was audited.
Start here
- Litepaper — what ENC is, why it's a formalized protocol, how the protocol works (virtual enclaves, RBAC, state and history, validity proofs), and the system built on top.
- Developer Guide — run a node, drive the
encCLI, and prove validity with zkEnc. - Tutorials — hands-on, build-an-app walkthroughs; first up, a custom Personal app on the personal SDK.
- Protocol Spec — the normative spec: the kernel (protocol summary, RBAC, SMT, CT), the node (API, migration, ZK proofs), and the app layer (enclave profiles and confidentiality plugins).
- SDK Reference — the generated JS/TS packages:
core,client, the per-app SDKs, and the confidentiality plugin SDKs. (TheencCLI is a separate Rust binary.) - ENC Pipeline — how the toolchain works: SpecGen, CodeGen, AppGen, TestGen, plus the Emulator, UI Kit, and Flow.