Prototype field manual

Using Riot

Task-by-task instructions for the current app. Each task says whether it works offline, what to expect, and one way to recover when it fails. The same manual ships inside the app under Help — if your installed build is older, prefer the copy that shipped with it, because its labels match that version. For the argument behind the product, read Why Riot.

Instructions below quote the visible labels of the current iPhone and Mac builds; Android organizes the same ideas with different labels — see Platform notes.

1 · Start here

What Riot keeps on this device

Riot keeps your communities, posts, and tools on this device. Reading, writing, switching communities, and using approved tools all work with no internet connection. Riot is a prototype: screens and labels can change between builds.

Works offline Reading, posting, switching communities, using approved tools, and preparing updates for exchange.

Needs a connection or permission Nearby exchange needs local-network or Bluetooth permission. Scanning a QR code needs camera permission. Nothing else does.

Updates travel two ways today: directly between nearby devices, and as an exported public web view. There is no central server your community depends on.

Public-content warning. Everything in a public community is public and plaintext. Anyone who receives a post can keep it and pass it on — post accordingly. There is no recall once another device has a copy. Encrypted private groups are not available yet.

Back to contents ↑

2 · Create or join a community

Get into a community

Create your own community

Goal: a new community this device organizes.

Works offline

  1. On the Welcome screen, tap “Get started”.
  2. Enter your name if you want one — it is optional, saved on this device, and shared with future peers.
  3. Tap “Create a community”. (Already in a community? Open “Your communities” from the community name at the top, then tap “Create a community” there.)

Expect: the new community opens with its four screens — Home, Tools, People, and Nearby. You are its organizer.

If it fails: close and reopen Riot — your profile and communities are saved on this device.

Join with a link

Goal: join a community someone shared with you.

Works offline once the link text is on your device.

  1. Tap “Join with a link or QR” — on the Welcome screen, or in “Your communities”.
  2. Choose “Paste” and paste the link.
  3. Review the community name and identifier shown before joining.
  4. Tap “Join this community”.

Expect: the community is added. Its name and posts arrive on first sync — usually the first nearby exchange with someone who has them.

If it fails: “That isn't a Riot community link.” means part of the link is missing — go back to where it was shared and copy all of it.

Join by scanning a QR code

Goal: join in person, no typing.

Needs a connection or permission — camera permission.

  1. Tap “Join with a link or QR”, then choose “Scan”.
  2. Point the camera at the community's QR code.
  3. Review the community name and identifier, then tap “Join this community”.

Expect: the community is added, the same as joining with a pasted link.

If it fails: if the camera is blocked, tap “Open Settings” to allow it — or tap “Paste a link instead”.

Join from a nearby device

Goal: join a community directly from a member standing next to you.

Needs a connection or permission — local-network or Bluetooth permission; no internet.

  1. In “Your communities”, tap “Find one nearby” — or open the Nearby screen in any community.
  2. Tap “Find nearby devices” and pick the other person's device.
  3. Accept the connection when asked. If they are in a different community, Riot asks before you join it — nothing changes without your confirmation.
  4. Preview what they offer, then add it or tap “Not now”.

Expect: you join their community and carry a copy of the updates you accepted. Nothing lands without your explicit confirmation.

If it fails: see Exchange nearby — both devices must be close, on the Nearby screen, and allowed to use the local network.

Back to contents ↑

3 · Manage your communities

Switch, leave, recover

Roles you may see on a community: Organizer, Member, Public reader, Following, and Personal space. The organizer can approve tools and take editorial actions; everyone can read and post on the open wire. Archiving and restoring communities is not surfaced on iPhone or Mac yet — leaving is the only removal, and it is destructive on this device.

Switch to another community

Works offline

  1. Tap the community name at the top of the screen to open “Your communities”.
  2. Tap the community you want.

Expect: that community opens where you left it. Riot uses a separate posting identity in each community; that separation alone does not prevent correlation.

If it fails: a community marked “Needs recovery before it can open.” offers Retry. Riot keeps the affected data in quarantine during recovery instead of deliberately deleting it; recovery may still fail.

Leave a community

Works offline

  1. Open the community, then tap the settings symbol at the top to open “Community settings”.
  2. Tap “Leave this community” and confirm.

Expect: the community is removed from this device. Copies other devices already carry are not affected.

If it fails or you leave by mistake: rejoin with the community's link or from a nearby member — your old posts still exist on devices that synced them.

Back to contents ↑

4 · Post and read updates

Publish to your community

Post an update

Works offline

  1. Open Home and tap “Post an update”.
  2. Write your update. You can review exactly what will be signed before it is saved.
  3. Tap “Post an update” at the bottom to sign and save it.

Expect: saved and signed on this device without a server connection. Delivery requires later exchange through a compatible path, with nearby local-network exchange available in the prototype.

If it fails: Riot stores the draft on this device so you can review and try again. Closing the composer or app normally preserves the current draft, but device or app failure can still lose local data.

Read with the right expectations

Open Home: the front page and open wire show your community's updates, and editorial history is always public. Open People to see who you have synced with and what they carry.

Names on posts are self-claimed display names paired with a tag derived from the author's key. The tag proves the same key signed two posts; the name proves nothing by itself. Riot verifies who authored an update — not whether its claims are true.

Back to contents ↑

5 · Exchange nearby

Move updates device to device

Discovery runs nearby over Bluetooth or your local network. Nothing is added to your community without your confirmation: you preview what a peer offers first. The tested prototype path is the local network; physical two-iPhone Bluetooth exchange remains unverified.

Exchange updates with a nearby device

Needs a connection or permission — local-network or Bluetooth permission; no internet.

  1. Both people open the Nearby screen in the same community.
  2. Tap “Find nearby devices”.
  3. When the other device appears, select it. The other person taps “Accept” (or “Decline”).
  4. If new updates are offered, review the preview, then tap “Add … updates” to take them — or “Not now” to decline.
  5. Tap “Stop” to end discovery when you are done.

Expect: “Synced” after the compatible session completes. Accepted updates merge with local state rather than replacing the whole community; this is not a backup or complete-copy guarantee.

If it fails: “They are in a different space, so nothing was shared” means you are in different communities — switch to the same one and reconnect.

Fix “Nearby needs permission”

Needs a connection or permission — a settings change.

  1. On the Nearby screen, read the permission card.
  2. Tap “Open Settings” and allow local network access for Riot.
  3. Return to Riot and tap “Find nearby devices” again.

Expect: discovery starts. Everything else in Riot keeps working offline while permission is denied — only nearby exchange needs it.

If it fails: move the phones closer, keep both on the Nearby screen, and make sure both are on the same Wi-Fi network.

Back to contents ↑

6 · Share a community

Bring people in

Invite someone with a link or QR code

Works offline to display; the recipient needs the link or a scan.

  1. Open “Community settings” from the top of the screen.
  2. Tap “Share this community”.
  3. Send the share link, or let them scan the QR code on your screen.

Expect: they can join with the link or QR code. Anyone with this link or QR code can follow the community — and can pass it onward; a public community's reference is itself public.

If it fails: “Nothing to share yet” means this community's details have not reached this device — the link becomes available after its first sync. Check back after exchanging with a member.

Back to contents ↑

7 · Use community tools

The apps your community carries

Tools are small apps the community carries with it. A tool runs only after the community's organizer turns it on — “Only the organizer of this community can turn a tool on here.”

Open and use a tool

Works offline

  1. Open Tools. Home also shows shortcuts to the first approved tools.
  2. Tap a tool to open it. It opens inside the community, with the community header and tabs still visible.
  3. If you are the organizer, review what a tool can access before approving it.

Expect: approved tools work entirely on this device and save their data into the community, so it syncs like everything else. Tools get app-scoped access, not your whole community — but their data is not secret.

If it fails: a tool that is unapproved, incomplete, or unavailable says so in place of opening — ask the community's organizer to review and approve it.

Back to contents ↑

8 · Privacy and safety

What Riot protects — and what it can't

  • Public content is plaintext by design. Alerts, mutual-aid requests, and public reporting are meant to circulate — Riot does not pretend they are secret.
  • Pseudonymity is not anonymity. Separate communities use separate keys, but reused names, writing style, timing, and nearby radio presence can still correlate you.
  • Nearby exchange is visible nearby. It reveals your device's presence and label to devices around you.
  • Gateways see readers. A public web gateway you read through can log ordinary connection metadata, and a browser reader trusts its presentation.
  • No guaranteed recall. Riot cannot recall or erase copies other devices already accepted. Post as if every public update is permanent.
  • Encrypted private groups are not available in this build — do not treat any current community as confidential.

The full argument and boundary tables are in Why Riot.

Back to contents ↑

9 · Troubleshooting

When something fails

A joined community looks empty

Normal right after joining with a link or QR code — its name and posts arrive on first sync. Exchange with a member on the Nearby screen to bring its content over. If it stays empty after syncing, the peer may be in a different community — check the community name at the top on both devices.

No nearby device appears

Keep both devices on the Nearby screen with the screen on, and tap “Find nearby devices” on both. Move the devices closer, and put both on the same Wi-Fi network. If a permission card shows, tap “Open Settings” and allow local network access. “The connection failed — try again” is safe to retry.

A community “Needs recovery before it can open.”

In “Your communities”, tap Retry on the affected community. Riot's recovery path keeps the affected data in quarantine rather than deliberately deleting it. If recovery fails, rejoining with the same community link may restore access to records that a reachable participant still holds; quarantine is not a recovery guarantee.

Share link unavailable

“Nothing to share yet” — before a first sync, a community joined from a bare reference is not shareable yet. Exchange once with a member device, then share.

Tool incomplete, unapproved, or unavailable

Only complete, organizer-approved tools run. Incomplete means content is still arriving — exchange with a member device that carries it. Unapproved means the organizer has not turned it on.

Back to contents ↑

10 · Platform notes

What differs by platform

The shared core supports the same operations everywhere, but the surfaced UI differs. Where a flow is not exposed on a platform, use the alternative named here — shared core support is not user-facing parity.

iPhone (iOS)

Four screens per community: Home, Tools, People, and Nearby. The Welcome screen, “Your communities” chooser, link and QR join flows, and the in-app Using Riot manual (under Help) are all present. The tested two-device sync path is the local network; physical two-iPhone Bluetooth exchange remains unverified.

Mac (macOS)

Shares the same four screens and flows as the iPhone build; they appear in the sidebar, and Command-1 through Command-4 select them.

Android

The Android build is a demo shell, further behind than the Apple builds, and it uses different labels: its surfaces are Spaces, App directory, Incident board, Newswire, Follow a site, Compose & sign, Import preview, and Connection. What works: creating a public space (“Create public space”), composing and signing (“Sign and add to board”), reviewing and approving tools in the App directory, and nearby connection with import preview (“Find nearby”, then “Add them” or “Not now”).

Not present on Android at all: joining by link or QR code, sharing a community, and the community chooser. There is no alternative route on Android for those flows yet — use an iPhone or Mac.

Back to contents ↑

11 · What is not available yet

Missing on purpose, for now

  • Sync between Riot devices over the internet. Today devices exchange nearby, and the public web view is rendered from exports — a browser reader trusts the gateway they chose. Internet sync between Riot devices is being built.
  • Encrypted private groups. Planned separately; no current community is confidential.
  • Recalling or deleting every copy of a public post. Impossible once others carry it.
  • Archiving and restoring communities in the UI. Supported in the core, not surfaced on iPhone or Mac yet.
  • Production guarantees. Riot is a prototype — without audited security, an availability guarantee, or verified two-iPhone Bluetooth exchange; the tested nearby path is the local network.

Checked 22 July 2026 against the current prototype build. If your installed build is older, prefer the in-app manual that shipped with it — its labels match that version.

Back to contents ↑