ENC Protocol
A formally verified, append-only protocol for building sovereign, independently-verifiable apps.
The complete protocol. This documents the finished ENC protocol and its implemented toolchain — one formally-verified specification that generates the protocol, its implementations, and the apps built on it. (Start with the litepaper below for the why, then dive into the guides, the spec, and the SDKs.)
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, prove validity with zkEnc, aggregate WebSockets with wshub. - 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,memory, theencapp CLI, the per-app SDKs, and the confidentiality plugin SDKs. - ENC Pipeline — how the toolchain works: SpecGen, CodeGen, AppGen, TestGen, plus the Emulator, UI Kit, and Flow.