npm run admin — then reload this page. Pages are read from disk on every request, but the server's routes only change when it restarts.
Overview
Users
Decks
Public playtest links
A playtest can be shared as a read-only stream overlay, which makes it a published surface with no sign-in on it. Ending a link stops anyone holding the URL; the owner keeps the playtest and can share again. Locking the account withholds all of them at once.
Stream relays are not listed here. They live in the deck-builder process's memory and this portal is a separate process, so it cannot enumerate or end one. A locked owner's relays stop serving on their next frame.
Appeals
A reply to a decision this portal made. The original reason is shown beside it as it was written at the time, because lifting a lock clears it from the account. Granting an appeal performs the unlock or unhide as part of the same answer.
Inbox
Bugs, requests and questions sent from the public contact form. A sender who was signed in gets your reply as a notification; a signed-out sender left an address and has to be written to by hand, so what you type is recorded here as the account of what was said.
Blog
Posts are written here and served at /blog. A new post starts unpublished and is not reachable at its address until you publish it; unpublishing takes it back down. Editing a published post changes it live.
Activity report
User-written content created or edited in a period, as a Markdown file to hand to a reviewer.
Private decks have not been published to anyone. Including them means exporting content their owners chose to keep to themselves.
What the report covers
- Public and unlisted decks — name, tags, and the full primer, reproduced exactly as they stand now.
- When each deck’s name, primer or tags changed during the period, and which of them, so an edit made in the period and changed again afterwards is still listed.
- Display names of accounts created in the period.
- Folder renames, but only with private content included — a folder name is visible to nobody but its owner.
- Deck and owner ids, so anything flagged can be found here and acted on.
- Not email addresses. They add nothing to a content review and the file is meant to leave the building.
What it cannot show
- Edits are recorded once per deck per 24 hours, so several edits made the same day appear as one event listing every field they touched between them.
- Earlier versions of the text cannot be shown, here or anywhere: Cartheca records that a primer changed, never what it previously said.
- Decks last edited before the edit log existed have no entries in it, so for those the period still falls back to a single last edited time.
Audit log
Every admin action, newest first. Append-only.
Comments
What readers have said on deck pages. Hiding withholds a comment without destroying it, so the text is still here if the decision is appealed or reversed — the same treatment a hidden deck gets.