OpenE2EE Relay
Managed encrypted delivery infrastructure for the OpenE2EE Signal Protocol SDK.
OpenE2EE Relay is the managed delivery path for the OpenE2EE Signal Protocol SDK. It operates encrypted device mailboxes, delivery and pull, group fan-out, private encrypted attachment storage, push wakes, exact usage, and lifecycle controls. It never needs message plaintext or device private keys.
The self-hosted adapter path remains separate. It keeps relay infrastructure and metadata under your control. Managed and self-hosted deployments use disjoint trust roots and product scopes.
Development quickstart
The hosted development environment has one job: reach an acknowledged encrypted message before production setup. It needs no payment card. Device-owned identity is the default, and the service creates no production trust root.
- Run
oe initto create public project policy and the local encrypted example. - Run the local example. It proves the protocol and storage adapters before a service account exists.
- Run
oe login, thenoe dev, when public beta access is available. - Use the generated Relay connection for the selected environment. The SDK resolves its public protocol binding. Do not pair a hostname with a second value.
- Register two test devices and send one encrypted message.
- Wait until the destination acknowledges its mailbox entry.
The application uses one semantic setting in every environment:
OPEN_E2EE_RELAY_URL=https://<generated-environment-connection>Pass that value as hosted.relayUrl to
createHostedSignalProtocolClient(). The URL is public configuration. It is
not a credential. oe dev writes the development value, and oe deploy writes
the production value. The application source does not change.
Before that acknowledgment, the setup path does not ask about push, groups, attachments, sealed sender, retention, recovery, provider migration, billing, or advanced verifier settings. Each becomes an explicit next step afterward.
Development boundary
The development environment includes 25 test accounts, 25,000 delivery units, 25,000 attachment operations, and 250 MB of exact live encrypted storage each month. Its default ciphertext retention is 24 hours. You can reduce it or increase it to no more than seven days. It suspends after 30 inactive days and has no production roots or service-level commitment.
Production path
Production activation changes the trust and plan environment. It starts with Clerk or Firebase identity setup, then verifies payment readiness for production. Generic OIDC/JWKS and custom-token providers remain available as advanced paths. A production project cannot reuse development credentials, roots, certificates, or stored state.
Continue with identity and authentication, then delivery and push.