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

All features are available for free during the beta period. No credit card required. Get your API key →

Use cases

Encra is not just for chat. The same cryptographic primitives work for any data you want only the intended recipient to read.

Encrypted chat

Real-time messaging with Double Ratchet. Every message uses a unique one-time key.

useE2EChat()

Encrypted files

Images, videos, documents — encrypted on device before upload.

useE2EFile()

Encrypted forms

Medical records, legal submissions — only the recipient can read responses.

useE2EForm()

Encrypted fields

Client-side field encryption for HIPAA and GDPR compliance.

encryptField()

How it works

Encra combines two cryptographic systems to protect your data:

X25519 key exchange

Each user generates a key pair on their device. They exchange public keys via the Encra server and independently derive the same shared secret — the server never sees it.

Double Ratchet encryption

Every payload is encrypted with a unique one-time key derived from a ratchet chain. Keys are deleted after use, providing forward secrecy and break-in recovery.

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.

Next steps

Start with the Quickstart guide — it takes less than 5 minutes to get end-to-end encrypted chat working in your app.

Encra AI

Ask me anything · docs, code, troubleshooting

Hi, I'm Encra AI

I can explain concepts, generate starter code, troubleshoot errors, and guide your setup.

May make mistakes · verify critical crypto details