How Sahul works
Everything on this page is true of the app today. What does not exist yet is listed at the end, and says so.
Your account, and what a second way in unlocks
There are no passwords. You sign in with an emailed link, with Discord or Google where those are switched on, or with a recovery code you saved. One way to sign in lets you browse, keep things in this browser, log games, join clubs and register for events.Two ways add syncing your collection, API tokens and uploading photos, because a synced collection that one lost sign-in method would strand is worse than a local one.Two ways, one of them recovery codes, add running a club and owning a game system. Sign-in & security shows which of those you have, and the cheapest next step.
Your names
You have up to three, set in Settings, Public profile. Your real name is for the organisers of events you join, who see it on their roster, at the check-in desk and in the results they download, with the name you are known by beside it; and for Sahul's operators. It is never on a public page and never shown to other players.Known as is optional: a gamer tag or a nickname, up to 40 characters, and it does not have to be unique. It is what everyone else sees: other players, event pages, round lists, the board, standings, game records, clubs and their notices, event updates, galleries and your public profile. Leave it blank and your @handle shows instead. The handle is your unique address,/u/<handle>, and can change once every 30 days. If you asked an event not to show your name, its public pages still do not name you, whichever names you have.
Your collection
Record what you own, and how many are built and painted. It is grouped by game system, each with its own page, where you can also add something its catalogue does not list. It lives in your browser; with two ways to sign in it also follows you between devices. Syncing never loses a miniature: when two devices disagree, the higher count wins on each model — the worst case is deleting something twice, never losing something you own. Photos you attach to a model in the Infinity view stay in this browser: they never sync, and they are separate from your photo library.
Infinity's catalogue is on hold while we talk to Corvus Belli. Your entries are kept.
Photos
Photos is your own library, and nobody else sees a photo until you put it somewhere. Your browser makes web-sized copies, the largest 2560 pixels, and removes location and camera details before anything is sent; the date a photo was taken is kept when the file has one. Sahul is not a backup, so keep your originals. Uploading needs two ways to sign in, and an account holds up to 1,000 photos. A deleted photo waits in the bin for 30 days.
You can post a photo into a club's or an event's gallery, where the people who run it approve it before it shows. Posting there gives the photo to that club or event: it stays with them even if you later delete it or your account, and it stays yours to use anywhere else. A club's gallery is shown only to its members, and an event's only to the people going and its organisers.
Profile and cover photos are set onSettings > Public profile: a square profile photo and a wide cover photo, each from a new file or from your photos. You frame each one before it is sent, and only what is inside the frame is kept. They are public: both show on your public profile once you publish it, and your profile photo shows in your account menu. A club's are set on its Manage page by anyone who can edit the club's page, and show on the club's page and in the club directory. Setting one needs two ways to sign in; replacing or removing one takes the old one down at once. Anyone can report one with the link under the page's heading.
On a game you are playing, a note can carry up to six photos, uploaded there or chosen from your library.A photo on a note shows to whoever can see that game: its players, the organisers of its event, and anyone with the link if a player shared it. It is not given to anyone. Take it off the note, remove the game's tag in your library, or move it to the bin, and it comes off the game; it stays in your library either way.
The inbox
Where the app talks to you: security alerts (every new sign-in files one), requests that need an answer, club notices, your table when a round is published, changes to events you are in, decisions about photos you posted, and the outcome of anything you reported. Security items never file themselves away; everything else is archived 90 days after you read it, and an item about something happening now is archived once it is over. Archiving removes a notification from the list —nothing in the inbox is ever deleted.
Reporting something
A photo you can see but do not own has a Report link. A photo reported asharmful is hidden from everyone at once and reviewed after; that report needs an account. A “that is a photo of me, or of my child” request needs no account, only an email address. It goes to the photo's owner, who has 7 days to hide it or refuse; if they do not answer, it hides automatically, because silence is not a defence. A photo that a club or event keeps goes straight to the site's operators. Every report ends in a decision. With an account you are told the outcome in your inbox; Sahul sends no email, so an operator writes to you if you gave only an address. For anything else — a bug, or a wrong entry in a catalogue — use Report an issue in the ··· menu.
Clubs and events
Create a community and you own it; Members and Organisers groups are set up for you, renameable, with permissions you control. Events do not need a club — an independent event is first-class, and clubs connect to events as host, co-host, participating or listed. Hosting under a club needs permission to manage its events there. Participating and listed only name a club, so neither the club's page nor the event's page shows them until the club accepts; a club can also release an event it hosts, which then stays with the person who created it.
Every club has a page — /community/<club>, readable without an account unless the club is private, and the directory filters by place. The people who run a club can post notices on its page, for anyone or for members only, pin up to three, and pick the day each one comes down; every other member gets one note in their inbox for each new notice. Nobody can answer a notice on Sahul: a club's own links are where its people talk.
The people who can edit a club choose who can see it, on its Manage page next to Who can join. Listed, the default, puts the club in the directory and its search, and anyone can open its page. Unlisted keeps it out of the directory and its search; anyone with the link can still open the page. Privatekeeps it out too, and anyone who is not a member sees only its name, that it is private, and how to join. Its page, members, notices, events, photos and game systems are for its members. A private club is always by invitation, so choosing Private switches Who can join to By invitation. Its members see unlisted and private clubs in the directory, marked. An event a private club hosts stays public and names it only as “a private club” to people outside it, and a private club cannot be named on anyone else's event. The site's operators can still open any club.
Every event has a page too, and Events lists what is coming up, filtered by system, place or the clubs you are in. Create an event as an independent event, or hosted by a club where you can manage events. Your presence at an event is a five-step ladder — watching, interested, going, registered, checked in — and “did not go” deliberately does not exist. Checked-in is a fact recorded at the event, not something you set on yourself.
An event's organisers run it from its run workspace: the roster, a check-in desk that also adds walk-ins who have no account, and the event's settings. A walk-in claims their place later with the six-character code from their slip, at /events/<event>/claim. Organisers pair a tournament's rounds, or seat its tables by hand where the format is not paired; each round is on the event's round list and on a board for a screen at the venue. Players enter results on their game records, and publishing the results makes the standings final. After that an organiser can write a report on the Wrap stage, in a small part of Markdown (headings, lists, bold, italics and links). It shows on the event page under the results once they are published, to everyone who can see the event page; before that only the organisers see it. Its links go only to web addresses, and a picture in it is shown as a link, never loaded into the page.
Every event page has an Updates log, shown to everyone who can see the page. When an organiser changes the event's date, start or end time, time zone or venue, or cancels it, Sahul writes what changed there in a plain sentence, marked Automatic. The event's organisers — its creator, or someone who manages events in the host or a co-host club — can also post their own updates from the event's Prepare stage, in the same small part of Markdown as the report, and edit or remove them. Everyone on the event's list, from watching to checked in and the waitlist, gets one note in their inbox for each change, cancellation and new post. Editing or removing a post tells nobody, and neither does changing anything else about the event.
Logging games
Start a game from Games or from a system's page. A logged game is stamped with the system, its name and version as they were that day — renames and retirements never rewrite what you played. Every game is private to its players until one of them shares it with anyone who has the link. Someone without an account takes their seat later with a claim link one of the players gives them. A quiet game gets warnings from 90 days and is marked abandoned at 120, with no result — resume it any time, which resets everything. Editing a submitted result follows the game system's own rule; for the systems in the library today, another player with an account has to agree. At an event, an organiser can end a game and enter the result — and the record shows it was adjudicated, by whom, and why.
Game systems — including your own
Two systems ship with the library. You can add your own — Chess, a house system, anything — withAdd a system, or through the API. It needs a name and a kind, nothing else, and it checks for close matches so near-duplicates are offered before a new one is created. Caps of 10 a day and 20 in total per person; ask and the limit can be raised. Systems are never deleted, only retired — games played under them keep working. A system still in testing, or held out of the public library, is listed only for members of the community that manages it: they find it in theLibrary under “Only your community sees these”, and on that community's page.
A game system is managed from Manage this system on its library page, at/library/<system>/manage. There its maintainers change its blurb, links, colour, mark, tags, options and how it is played; move it from testing to published; cut a new version; retire it; and hand it to another community, which that community accepts or declines. Each change is recorded with the person who made it. Who can: the owner of the community that manages the system holds every permission on it, and that community's groups can be given edit, catalogue, publish and retire; a system you added that no community manages is yours alone; and Sahul's operators manage the library systems no community manages, and can retire any system. Other members of the managing community can open the page and see each change refused, with the reason. A system's modules, formats, missions, player fields and standings come from its manifest, and change with a release of Sahul, not from that page.
Your own tools and agents
Create API tokens in Settings, Tokens, scoped to what they may do. Everything a token does is recorded as done by that token — “did I do this, or did something do it for me?” always has an answer. Two things are never available to any token: deleting your account, and changing how you sign in. Those need you, signed in yourself. Details for developers are on thedevelopers page.
Not built yet
None of these exist, and nothing else on Sahul pretends they do: a delete button for your account (write to privacy@sahul.net and it is done by hand) · photo galleries on your public profile · repeating events · an MCP connector (an assistant can use the API with a token) · managing a game system you added: its catalogue, knowledge base and formats · catalogues hosted elsewhere, and moving a collection between catalogue editions. Each moves up this page when it is true, not before.