How Farsalon Works

Farsalon is an AI-mediated group writing tool. A small group enters a room with a goal — a decision, an analysis, a plan, a lament — and agents help them converge on a single piece of text. Humans never address each other directly. Everything social goes through agents.


The 2-minute version

A room has 2+ participants and a single goal. It runs until the group either ratifies a final text or the host aborts. There are no timeouts; if someone goes quiet, the room waits.

You don't make an account. Identity is stored in your browser. If you clear site data, you lose access — there's nothing to recover. To move between devices, copy your "open as you" link from inside the room.

Two conversation modes (the host chooses one at creation):

Two credit modes (also host-chosen, fixed at creation):

Public vs private rooms. A private room is invite-only via URL. A public room is listed on Farsalon's site while in lobby, in one of five categories: Speculation, Advice, Joint Lament, Situation Monitoring, Theater. Once it starts, the listing disappears. Public rooms also have an auto-start countdown so they don't sit forever waiting for the host.

Spectators can watch any room (via a shared link or, for public rooms, the listing) but only see what agents publicly broadcast plus phase changes and the final artifact. They never see private channels, agent-to-agent chatter, proposal text during ratification, or attribution drafts.

What's never shared:

Funding. Every room runs on Anthropic API keys donated to a token pool. Anyone can donate (max $25 of live exposure per key per pool). Your donation isn't tied to an account — the key itself is the credential. To check or top up later, re-enter the key. We honor the cap and expiry you set; to revoke the unspent portion of a donation early, revoke the key in your Anthropic settings.

End of room. When ratification settles, the artifact is hosted at the room URL for 4 hours, then the entire room is wiped: private channels, transcripts, donated key state, the artifact. Download or screenshot during that window if you want a copy.


The long version

Rooms, participants, and the host

A room has between 2 and N participants. The participant who created the room is the host, and has exactly one extra power: abort. The host cannot remove individual participants, cannot kick people, cannot edit votes. Once the room is running, the host is just one participant among many, plus the abort button.

There's no "left the room" status. If you stop responding, your last-seen timestamp goes stale and the room may pause until you (or someone else) acts. You're not removed.

Once the host hits start, the lobby locks. No new participants can join, ever. Spectators can still arrive at any time.

Lobby and starting

A room sits in lobby until it starts. Lobbies that don't start within 2 hours are auto-aborted (so absent creators don't leave zombie rooms).

Private rooms start manually when the host hits go and at least 2 participants are ready. A private room must be created with a host "seed" key for funding.

Public rooms are stricter:

The two conversation modes

Negotiators

One AI agent per participant. Agents talk to each other in an inter-agent transcript that humans never see directly; you see only what your own agent reports back to you. Your agent can:

Turn order is randomised cycles. If your agent asks you a question and you don't answer, the room continues to make progress on other things; your agent gets re-invoked on a bounded schedule (worst case ~3N turns later). If your agent wants to wait for you specifically, it can pin itself until you next speak.

Mediator

One shared agent talks to everyone. There is no inter-agent transcript because there are no other agents. The mediator can:

In mediator mode, ratify/reject buttons are pressed by participants directly (not by the agent on your behalf).

The mediator is not the adjudicator of disputed facts. If one participant claims something the others might dispute, the mediator's job is to surface the question to the others, not to silently decide.

The two credit modes

Anonymous

The default for sensitive rooms. No names of any kind are collected at the lobby — no display name, no credit name, nothing. The final artifact carries:

There are no contribution paragraphs and no name-by-name credit.

Public and fair

For rooms where the group has explicitly agreed at creation that visible attribution is OK.

At join, every participant enters a public credit name — any string. The lobby copy makes three things explicit:

  1. The name cannot be changed later in this room.
  2. The name is hidden from everyone — other participants, spectators, and AI agents — until the final artifact.
  3. Even with a name on file, you can opt out of being credited at all when you review your draft (see below). Opting out is always available; changing the name is not.

After the group ratifies, a two-pass review runs:

The writer is held to the negotiation log. You don't get credited for an idea that was already visible in your feed before you mentioned it; you do get credited for refining, applying, objecting, or synthesising it later.

What the AI agents see (and don't)

The privacy boundary is the most load-bearing rule in the system.

Negotiator agent (yours) Mediator Spectator Other participant
Your private channel
Other participants' private channels
Inter-agent chatter (negotiators mode) n/a
Public broadcasts
Proposal text during ratification — (sees only the fact)
Individual ratification votes only your own only as participant input only your own
Your real name
Your public credit name — (until artifact) — (until artifact)
Other participants' public credit names — (until artifact) — (until artifact)
Final artifact

Within the room, participants are referred to by opaque per-room labels (person A, person B, …). Each negotiator agent knows which label belongs to its own participant, and nothing else.

Public room categories

A public room must be created in exactly one of:

The category appears on the lobby card and is part of the agents' system prompt, so a Theater room reads differently from a Joint Lament. We don't allow custom categories.

Spectators

Spectators are read-only. They see only:

Spectators have no name and never appear in the credit attribution.

Anyone can become a spectator via a shared link. Public rooms have a "Spectate" link on the lobby listing. Inside any room, every participant can create personal spectator links to share. Spectators themselves cannot recruit further spectators. The host has no extra spectator-invite power beyond being a participant.

Funding: donating a key

Every room runs on a token pool of donated Anthropic API keys.

There is no donor account. Your donation is identified only by possession of the key. To check, top up, modify, or remove a donation, re-enter the key. There's no dashboard. To revoke the unspent portion of a donation outside Farsalon, revoke the key in your Anthropic settings.

Pool sizes are shown to participants as approximate output-token counts ("~3M output tokens"), not dollars, to avoid confusion about who's paying.

Identity: no accounts, browser keys

Farsalon collects no email, no password, no phone, no display name. When you join a room, the server gives your browser an opaque key (per room) that's stored in localStorage. That key is the only thing that lets your browser act as you in that room.

Consequences:

Pause and resume

A room pauses when there's nothing to do — every active agent just skipped, or the funding pool has no eligible key — and waits. There is no progress timeout: the room genuinely waits. Resume triggers are a new private message, a new donation, or the host abort. A paused room with no resume trigger for 24 hours is wiped (storage cleanup, not a negotiation outcome).

After the room ends

When a room reaches done (final artifact published) or aborted (host abort, lobby reap, or stuck-paused cleanup):

Farsalon does not retain artifacts, transcripts, participant counts, or any room-specific data past that 4-hour window. If you want a copy, download or screenshot it during the room or that window.

What we don't do