Introduction
Encra is a developer SDK for adding Signal-level end-to-end encryption to any app. Think of it as Stripe for encryption — one API key, one hook, and your users' data is encrypted on their device before it ever leaves. Your server never sees plaintext. Ever.
💡 Free during beta
Use cases
Encra is not just for chat. The same cryptographic primitives work for any data you want only the intended recipient to read.
How it works
Encra combines two cryptographic systems to protect your data:
The Encra server stores only public keys and encrypted ciphertext blobs. It has no way to read your data — this is mathematically guaranteed, not a policy decision.
Packages
Encra is a monorepo with four packages. Each is independently installable.
@encra/corePure crypto primitives — key generation, X25519 ECDH, Double Ratchet, fingerprints. Zero framework dependencies. Works in Node.js, browser, and React Native.
@encra/reactReact hooks: useE2EChat() for real-time messaging, useE2EFile() for file encryption, useE2EForm() for form field encryption.
encra (CLI)Developer onboarding CLI. Run npx encra init to scaffold your project, npx encra ping to test your connection.
@encra/serverSelf-hostable key server and WebSocket relay. BUSL 1.1 licensed.
Next steps
Start with the Quickstart guide — it takes less than 5 minutes to get end-to-end encrypted chat working in your app.