An old screen-sharing link should not become a standing invitation. A Linkside room belongs to one live session: once it ends or expires, nobody can use that room to join again.

That is what we mean by an ephemeral room. Access closes first. A small room record remains for five minutes so Linkside can tell a late visitor what happened. The room record is then deleted. This is deliberately different from a permanent meeting link that waits to be reused.

A glass pavilion collapses into a flat tile as an orange sphere rests beyond the empty platform

The room closes before its record is deleted

When the host selects End room, the signaling service processes the host’s leave request and marks the room ended. It does this even if guests are still connected; it does not wait for the participant count to fall to zero. From that point, the room is closed to everyone and new join attempts receive an HTTP 410 response with the reason host_disconnected.

An interrupted connection gets a little more care. If the browser’s signaling connection drops, Linkside gives it 30 seconds to reconnect. If the host has not returned when that grace period ends, the service treats the host as having left and ends the room. A brief network interruption therefore does not close the room at the first lost connection.

The ended record stays for five minutes, but it is not joinable. Its purpose is to distinguish “the host ended this room” from “this room does not exist.” On the first lifecycle check after the five-minute deadline, the room coordinator deletes the stored room record. Later requests receive HTTP 404 with room_not_found.

Inactivity follows the same pattern. Activity in a live room moves its inactivity deadline 15 minutes ahead. At or after that deadline, a lifecycle check changes the room to expired and starts its own five-minute terminal window. During that window, a join attempt receives HTTP 410 with room_expired. After the window, a lifecycle check deletes the record.

In short:

open → ended or expiry detected → terminal response (410) → deleted on a later check (404)

“Ephemeral” describes this whole lifecycle. It does not mean every byte vanishes at the exact instant the host clicks a button. It means the session cannot be reopened, and its temporary room state moves to deletion after a short terminal window.

What the temporary room record contains

We built Linkside so every room code routes to one coordinator, implemented as a Cloudflare Durable Object. It stores one temporary snapshot for that room: participant records and room-scoped credentials, room settings, recent signaling messages, relay state, and lifecycle times.

That snapshot does not contain the shared screen or audio. Linkside sends media directly between browsers by default. If a direct connection cannot be established, it uses an encrypted TURN relay as a fallback. The coordinator handles the setup and room lifecycle, not a recording of what people shared.

When the room service no longer has a snapshot, the coordinator deletes its stored room key. The current Signal Worker configuration has no separate KV, D1, or R2 store that copies old room snapshots into an archive.

Saying “no database” would still be misleading. The Durable Object uses storage for the live and terminal room record, and Linkside writes limited operational analytics separately. What Linkside does not provide is a room-history product or an archive of old room snapshots. Our plain-English inventory of what Linkside stores about a session explains the distinction in more detail. The signaling-server explanation shows how the coordinator sits beside the peer-to-peer-first media path.

Why leave no permanent room behind?

This lifecycle is a product choice. Linkside is for showing something to a few trusted people right now, not for maintaining a permanent meeting space that someone must own and manage.

A host may paste a room link into a message, ticket, note, or calendar. Linkside cannot delete those copies. Once the room is terminal, however, the copied address no longer opens that session.

A live link still matters, so only send it to people you trust. Ephemerality does not protect an open room from someone who already has access. It closes the later window: the same address cannot become a route back into the old session.

There is no reopen operation or recent-room screen that turns the old URL back into an active session. After the snapshot is deleted, its participant credentials and recent signaling messages are deleted with it. A new screen share gets a new room code and new room-scoped credentials.

Cleanup is not your new chore

Reusing rooms would raise a new set of questions: Who owns the room next week? Who can list it, revoke access, or hand it to someone else? Linkside has no accounts or cross-session identity to answer those questions.

We chose not to turn that housekeeping into the host’s job. The session ends, access closes, and the room state moves toward deletion. Our accountless design follows the same principle: a short interaction should not require a lasting identity.

What room deletion does not claim

Deleting the room snapshot does not mean Linkside observes nothing about operating the service. When analytics is enabled, a separate terminal event can include the room ID, how the room ended, the host’s country code, whether password, lobby, or relay features were used, participation counts, and session duration. A client outcome event can include room-scoped participant IDs, coarse browser and connection categories, failure counts, reconnect attempts, and time to first frame.

Those analytics exclude IP addresses, raw browser user-agent strings, names, and nicknames. They contain no recording, transcript, chat history, or saved screen contents. They are separate from the deletable room snapshot and cannot be used to reopen it.

A temporary room also does not make an untrusted recipient trustworthy. Its promise is narrower: after the session, the room stops admitting people and its temporary state is deleted.

The tradeoff is continuity. Linkside does not give you a permanent address for a weekly call, a recent-room dashboard, or a way to reopen the same session. Each screen share starts with a fresh room and a fresh link.

That extra new link is the cost of leaving the old room behind.

Create a temporary room, share the link, and select End room when the session is finished.