Ephem

User guide

Everything you need to chat, follow channels and run a board, and what Ephem can and cannot protect. Words in bold are what you see on screen.

Open Ephem

1 · Start in one minute

Ephem runs in your browser. There is nothing to install and no account to create.

  1. Open Ephem (direct mode) or Ephem in Tor mode. On an iPhone or iPad you can add it to the Home Screen from Safari's Share menu.
  2. In Chats, tap + New, then Create invite. Ephem shows a QR code and a link.
  3. Let your friend scan the QR code, or send them the link through any messenger. It works once.
  4. Direct mode only: your friend's screen shows an answer. They send it back to you; you scan or paste it under 2 · Paste their answer and tap Connect. In Tor mode there is no answer: keep your tab open and they connect to you.
  5. You are connected. If you did not meet in person, compare the Safety code on a call and tap Codes match.

Got a code, link or QR from someone? Tap ⌗ Code at the top of the app. It accepts every kind: an invite, an answer, a reconnect code, a contact card, a channel link and a board link.

2 · Direct mode or Tor mode?

Direct mode (app/)Tor mode (app/tor.html)
Your IP addressYour peer sees it (and the STUN servers that help find a path)Hidden: nobody sees anyone's IP address
Starting a chatTwo codes: an invite and an answerOne code, no answer
SpeedFast: browser to browserAbout 0.5–2 s per message; the first connection can take a minute
Saved contactsNeed a new invite each timeReconnect now without any code
Both sidesYour peer uses direct mode tooYour peer uses Tor mode too

Rule of thumb: use Tor mode unless speed matters more than hiding where you are. Channels and boards always go through Tor, even when you open them from direct mode (Ephem then downloads its Tor part once, about 2 MB; your chats stay direct).

Where Tor is blocked, add your own Snowflake bridge lines in Settings → Connection and privacy (see Settings).

3 · Chats

During a chat

If the connection drops

In direct mode a network change (Wi-Fi to mobile data, for example) can break the path. Ephem shows Direct path lost: either of you taps Create reconnect code and the other scans or pastes it. Your messages, including unsent ones, are kept for 10 minutes. In Tor mode saved contacts use Reconnect now instead.

Leaving

Leave, or closing the tab, ends the chat for good. Nothing is stored anywhere: not on a server (there is none), not on your device. You can have up to 16 chats and rooms open at once.

Codes expire after 5 minutes by default (5, 15 or 30 in Settings). An invite works only once.

4 · Rooms

A room is a group chat for up to 16 people, created with + New → Create room. Everyone is connected directly to everyone else; there is no server in the middle.

5 · Your identity and contacts

Temporary or saved identity

By default every tab gets a fresh, temporary identity: nobody can link today's chat to yesterday's. To be recognisable (contacts, contact cards, channels, boards), open Settings → Your identity → Save this identity…, choose a label and a passphrase of 12 or more characters, and tap Encrypt and download.

Contacts and contact cards

6 · Channels

A channel is a public feed: only its owner posts, anyone with the link reads. It is served from the owner's browser tab through Tor and checked by every reader, so nobody can fake or roll back its posts.

Following a channel

Running your own channel

7 · Boards

A board (marked ▦) works like a classic image-less imageboard: anyone with its link posts anonymously, active threads are bumped to the top and old ones fall off. Text only.

Reading and posting

Running a board

8 · Settings worth knowing

Send read receipts / typing notifications
Off means you neither send nor see them.
Notify me of new messages and posts
While Ephem is in the background. The notification never shows the text.
Tell me when a channel or board I follow comes back online
Checks its owner's address through Tor every 2 minutes while it is offline.
Addresses in my codes
Direct mode: what your codes reveal. LAN only for the same network, Drop IPv6 addresses if your VPN covers only IPv4.
Tor connection
Automatic uses the Tor Project's Snowflake. My own bridges takes Snowflake bridge lines (from bridges.torproject.org, choose snowflake, or from whoever runs the bridge). Only Snowflake works in a web page. Share my bridges gives friends a link with them.
Code lifetime
5, 15 or 30 minutes.

9 · What is protected, and what is not

Protected

  • Every chat and room is end-to-end encrypted. Ephem has no server that could read or store anything.
  • In Tor mode, nobody (not your peer, not a server) sees your IP address.
  • Close the tab and the chat is gone. Only a saved identity and contacts persist, encrypted with your passphrase.
  • Channel and board posts are checked by every reader: they cannot be forged or rolled back.
  • Updates never install themselves: a new version waits until you tap Update.

Not protected

  • In direct mode your peer, and the STUN servers (Google, Cloudflare), see your IP address.
  • A peer can copy or screenshot anything you send. Channel and board posts are public and may be kept forever.
  • Messages travel only while both of you are online. There is no offline delivery.
  • The Snowflake volunteer proxy sees your IP address and that you use Tor, not whom you talk to.
  • A compromised device, browser or extension can see everything. You trust the code this site serves.

Always compare the Safety code with people you did not meet in person: if it differs, someone may be in the middle. The technical details are in the specification.

10 · When something goes wrong

“No direct path between you and your peer”
Some networks (a VPN, a strict company or mobile network) cannot connect directly, and Ephem never uses a relay. Try another network, or use Tor mode on both sides.
Tor mode stays at “Connecting to Tor through Snowflake…”
The first connection can take a minute or two. If it never finishes, Tor may be blocked where you are: add your own Snowflake bridge lines in Settings.
“Ephem could not start” or an Update bar appears
A new version was published. Tap Update. If no bar appears, reload the page; if that does not help, clear this site's data in your browser (your saved key file is not affected) or open the link in a private window.
A code does not work
It may have expired (5 minutes by default) or been used already: ask for a new one. Make sure you open it in the same mode it was made for (Tor links open tor.html).
A channel or board does not load
Its owner's tab is probably closed. You see the last verified copy; turn on Tell me when a channel or board I follow comes back online. A first read through Tor can take up to a minute.
Links open in Safari, not in the installed app
iOS does that. Use ⌗ Code to scan or paste the code inside the app.
Forgot the passphrase
It cannot be recovered, by design. Create a new identity and share your new contact card.

11 · Words used in Ephem

Invite / answer
The two codes that start a direct-mode chat; Tor mode needs only the invite.
Safety code
A short number both screens show. If they match, nobody is in the middle.
Key file
Your saved identity and contacts, encrypted with your passphrase.
Contact card
A link that lets someone add you as a contact.
Onion address
An address inside Tor (ending in .onion) that hides where the computer is.
Snowflake / bridge
The way Ephem reaches Tor from a web page, through volunteer proxies.
Mirror
A copy of a channel or board served by someone other than its owner.
Proof of work
A small computation each board post costs, to keep spam out.
Trip
An optional pseudonymous signature on board posts.

Open Ephem