JavaScript-first encrypted messaging

Private communication, composed your way.

A portable TypeScript SDK for encrypted messaging, devices, groups, attachments, and explicit storage and transport composition.

Browser nativeWeb Crypto and portable storage
Node and ExpoRuntime-specific adapters
AGPL or commercialChoose the rights your product needs

Protocol building blocks

Cryptographic state belongs to your product.

Compose a Signal-inspired protocol profile without outsourcing private keys, plaintext, or application ownership.

01 / Identity

Explicit trust

Versioned composite identities, safety-number comparison, rotation controls, and fail-closed trust mutation.

02 / Sessions

Modern session state

PQXDH, Double Ratchet, post-quantum ratcheting, multi-device session management, and bounded state recovery.

03 / Composition

Portable boundaries

Choose local storage, delivery, and encrypted-object adapters for browser, server, and native JavaScript environments.

Portable by construction

Private keys stay with your application.

Your runtime owns identity and session state. Explicit adapters connect the encrypted output to infrastructure you choose.

01Your applicationBrowser · Node · Expoprivate state
02Protocol SDKKeys · sessions · groupsciphertext out
03Your adaptersStorage · delivery · objectsexplicit boundary

The SDK defines the cryptographic and adapter contracts. It does not require a hosted OpenE2EE service.

import { createOpenE2EEClient } from '@open-e2ee/sdk';
import { indexedDbStore } from '@open-e2ee/sdk/local/store/web';

const storage = await indexedDbStore();
const client = await createOpenE2EEClient({
  identity: { userId: 'alice' },
  adapters: { storage },
});

await client.send('bob', 'hello');

One explicit composition root

Start locally. Add only the adapters you need.

The SDK surface stays stable while applications select runtime storage, transport, and object persistence independently.

Licensing

Open source or commercial production rights.

Use the complete SDK under AGPL, or purchase commercial rights for a proprietary product.

Community

AGPL

Free

For projects that can satisfy the AGPLv3 obligations.

  • Complete SDK
  • Self-operated infrastructure
  • Community support
Review licensing

Growth

Growth commercial license

$20k/ year

Configurable product scope, implementation support, and services.

  • Contract-defined component scope
  • Configurable product count
  • Integration support
  • Quote and signed order form
Schedule a meeting

Enterprise / OEM

Enterprise / OEM commercial license

$50k+/ year

Negotiated portfolio, redistribution, security, and support terms.

  • Contract-defined component scope
  • Portfolio or OEM rights
  • Security review and SLA
  • MSA or signed order form
Schedule a meeting

Prices shown are the proposed annual list prices for the named scope. The signed commercial agreement controls product scope, renewal, support, and usage rights.

Begin with the protocol

Build the integration before choosing infrastructure.

Open developer docs