Privacy & Security
Security is the product. Your text is encrypted on your device before it is ever sent, and the server has no way to read it. This isn't a policy promise — it's how the app is built.
Clipboard text is encrypted in your browser
Text is encrypted client-side with AES-GCM-256 before any network call. The server only ever holds:
- An opaque room id.
- The ciphertext and its nonce.
- Timestamps.
It never sees the plaintext or any key that could decrypt it. Live rooms change nothing — the real-time connection carries the same ciphertext, decrypted only on your device when it arrives.
Password is never sent nor stored
Your password and every key derived from it never leave this browser. Two devices that type the same password independently derive the same room id and encryption key (Argon2id + HKDF) — nothing else is exchanged:
- No accounts.
- No room codes.
- The password is never persisted anywhere, not even on this device.
Because the only shared secret is the password, a weak password is the dominant risk: use a long, high-entropy passphrase shared over a channel you trust.
Rooms can be private
A private room is capped at the number of terminals you choose (default 2) and is permanently sealed once full — no one else can join that room instance.
- Seal first, lock attackers out. If the legitimate devices fill the room, someone who cracks the password later finds it sealed.
- Slots are strict. Your membership lives only in the open page, so a reload or closed tab forfeits its slot — and it still counts against the cap. Keep your tabs open and set the terminal count to match the devices you actually use.
This is access control layered on top of the encryption, never a substitute for it.
Highly configurable but simple by default
Type a password and hit Create or Join — the defaults just work. When you want more, Advanced Settings exposes three knobs, none of which touch the encryption:
- Room type — Private seals when full so no one else can enter, while Public stays open for anyone with the password to keep joining.
- Terminals — how many devices may share the room (default 2).
- Sharing mode — how content moves between members:
- Manual — explicit Push/Pull buttons only; no live connection is ever opened.
- Broadcast — you still Push explicitly, but the other members receive it instantly over a live connection.
- Sync — content auto-pushes while you type (the Push button becomes "Sync now").
These options only shape how the room is accessed and synced — the content encryption is identical in every mode.
Ephemeral by default
- Rooms, memberships, and blobs auto-expire after a short TTL (default 10 minutes).
- Expired data is removed both lazily on read and by a cleanup cron.
- Clear deletes the shared content immediately.
No cookies here
Didn't you accept the cookies? Well, that's because this website doesn't have cookies at all.
- No consent banner, no trackers — there's simply nothing to accept.
- Your theme and interface preferences live in this browser's local storage, never in a cookie sent to any server.
- The privacy-preserving analytics are cookieless by design.
Verify it yourself
Open your browser's Network tab and watch the requests — only an opaque id, the ciphertext, a nonce, and an opaque membership token ever go out.
- In a live room you'll also see one WebSocket to this same origin — inspect its frames: ciphertext in, a literal "ping" out.
- Your password and plaintext never appear on the wire.
- A strict Content-Security-Policy blocks any third-party egress.