Security
How Ease protects messages
Every message is end-to-end encrypted on the device before it leaves. The server stores and routes ciphertext it cannot read. Here is the model in plain terms, including what it does and does not cover.
End to end, by default
Ease encrypts on the client with libsignal, the Signal Protocol library. Direct messages use the Double Ratchet; group messages use Sender Keys. Keys are generated on the device at sign-up and stored encrypted at rest. The SDK manages every key for you; your code never holds a private key, and the server never receives one.
What the server can and cannot see
The server stores and routes ciphertext. It cannot read message content, and neither can our operators or our hosting providers. What the server does see is routing metadata: which accounts exchange messages and when, and group membership and roles, which are not encrypted.
Ease is honest about that line. The content of a message is private; the fact that a message was sent is not. We do not claim otherwise.
Web and native
At-rest encryption protects the offline case: a stolen laptop, a copied browser profile. On the web, the running page is the trust boundary, the standard browser security model. Code in the same origin, a browser extension the user installed or a cross-site-scripting flaw in the page, has the same access as the SDK.
Two practices keep the web endpoint sound, and both are standard for any application handling sensitive data: security response headers (content-type nosniff, frame-deny, HSTS) on the served assets, and consistent escaping of user-controlled content. Where the endpoint itself must be treated as hostile, the native SDKs (Apple, Android, .NET) hold keys in the operating-system keystore, a stronger guarantee than any browser offers.
The honest boundary
Ease does not hide metadata, and it does not defend a fully compromised device beyond the standard model. What it guarantees is the part that matters most: the content of a message is readable only by its participants, on every platform, by default.