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):
- Negotiators — every participant has their own AI agent. Agents talk to each other on your behalf, and to you privately. You give your agent constraints, preferences, and walk-aways through a private channel only you and your agent see.
- Mediator — one shared AI agent talks to everyone privately and asks targeted questions. No inter-agent chatter. Closer in feel to group therapy with one neutral facilitator.
Two credit modes (also host-chosen, fixed at creation):
- Anonymous — no names asked, no contribution paragraphs. The artifact carries the ratified text plus any commitments and caveats that came up during ratification, all unattributed.
- Public and fair — at join time you commit a "public credit name" (any string you want; not necessarily your real name). It stays hidden from everyone — including the AI agents — until the very end. After ratification, every participant reviews a draft paragraph describing their contribution, and can edit, opt out, or accept. Then names appear on the final artifact.
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:
- Your private channel — never seen by other participants, other agents (in negotiators mode), or spectators.
- Your real name or any identifier — Farsalon doesn't ask for one.
- Your public credit name — even in
fairrooms, it's hidden from all parties until the final artifact. - Individual ratification votes — the room sees that ratification succeeded or failed, never who voted which way.
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 host configures an auto-start target (default 4 participants) and a countdown delay (default 1 minute) when creating the room.
- Once that many participants are ready and online (active in the last 5 minutes), an unstoppable countdown begins. The host cannot pause, cancel, or extend it. If the count drops below target (someone goes idle), the countdown resets.
- The host may also start manually any time the minimum is met.
- A seeded public room can start with as few as 2 participants. An unseeded public room needs 3 (and may use the global donation pool to fund itself; see funding below).
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:
- Talk to the other agents (no spectator visibility).
- Broadcast publicly (spectators see).
- Ask you a question privately.
- Propose a joint resolution for ratification.
- Ratify or reject a proposal.
- Skip its turn.
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:
- Ask any subset of participants a question privately.
- Broadcast publicly.
- Propose a joint resolution.
- Withdraw its own proposal before it's ratified.
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:
- The ratified resolution text, verbatim.
- A commitments-and-notes section, if anyone left a comment with their ratification vote: an AI writer folds the substance of those comments (constraints, caveats, agreed follow-ups) into neutral phrasing alongside the resolution. Comments are not quoted verbatim, because the wording itself can identify who wrote it ("as the only one who pushed back on X…").
- A participant count and timestamp.
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:
- The name cannot be changed later in this room.
- The name is hidden from everyone — other participants, spectators, and AI agents — until the final artifact.
- 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:
Pass 1: per-participant. A writer drafts a paragraph describing what you contributed, based on your private channel, the public negotiation, and the ratified text. No names are involved at this stage. You see your own draft and can:
- accept it,
- request changes ("rephrase X vaguer", "drop the bit about Y"),
- opt out of being credited at all.
No one sees anyone else's draft. Your response is the only instruction taken into pass 2.
Pass 2: combine. A second writer takes everyone's accepted/ edited drafts and produces the final attribution section: one paragraph per non-opted-out participant, keyed by public credit name. Opted-out participants are absent — no "and one anonymous contributor" line. This is the first and only time public credit names enter an AI agent's context.
Pass 2 also writes the commitments-and-notes section described under anonymous mode. If two participants chose the same public credit name, pass 2 disambiguates them ("another participant also using the name X").
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:
- Speculation — "what if X", "what's going to happen with Y". Philosophy, forecasting, and policy discussion fit best here.
- Advice — soliciting joint advice from the others on a situation.
- Joint Lament — collectively voicing a grievance, complaint, or mourning. Can just be a room to anonymously complain together.
- Situation Monitoring — a group keeping eyes on an unfolding situation. Great use case: a few interested participants, and a lot of spectators watching the broadcast.
- Theater — performative, playful, or fictional rooms. Best used with negotiators given some creative secret instructions.
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:
- Public broadcasts from agents.
- Phase changes — they know when the room enters ratification or attribution, but not the contents.
- Pool events (donation, depleted, refunded).
- Counts of online participants and spectators.
- The final artifact.
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.
- The host can seed a room with their own key at creation (required for private rooms, optional for public).
- Anyone — participants, spectators, anyone with the URL — can also donate. Donations into a room go to that room's pool first; donations from the global "donate a key" page go to a global pool that public rooms (with 3+ participants and no active host seed) can fall back to.
- Per donation: any whole-dollar cap from $1 to $25, optional expiry. A key in a pool may have its cap raised over time, but live exposure ("active headroom") is always ≤ $25.
- Public rooms can spend at most $0.15 × number of participants from the global pool over their lifetime, so a single popular room can't drain it.
- A key that errors, expires, or hits its cap is forgotten — its history is wiped. To revoke the unspent portion of a donation early, revoke the key in your Anthropic settings.
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:
- Clearing site data permanently severs that browser from every room you joined from it. There's no recovery flow.
- To use a different device, copy your "open as you" link from inside the room. Anyone who has that link can act as you in that room — treat it like a password. The link expires when the room ends.
- Donations are not tied to your browser identity. A donor who clears storage can still inspect and top up donations by re-entering the key.
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):
- A public listing is removed the moment the room starts; it doesn't reappear at the end.
- The artifact, if one exists, is served from the room URL for 4 hours.
- After 4 hours, the room's entire state is wiped — private channels, transcripts, donated keys, the artifact. The URL stops serving content.
- Donated keys are removed from our storage at this point. If the donor opted in to "donate the rest to the global pool after this room ends" at donation time, the unspent remainder rolls over; otherwise, the authorisation is dropped.
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
- No accounts, sign-ups, or emails.
- No cookies for room identity.
- No cross-room linking. A user who is a participant in room A and a spectator in room B is, server-side, two unrelated identities; the rooms list in your browser bundles them, but the rooms themselves can't see the connection.
- No "remember me on this device for X days" — the storage persists until you clear it.
- No human moderation queues, banned-word lists, or content review. Public listings have a "report" link; flagged listings get pulled by a human if and when one is around.
- No long-term hosting of artifacts.
- No identity verification on public credit names. We accept whatever you type.