Understanding Magic Links
Tabletop Time uses a passwordless authentication system. Instead of usernames and passwords, we use secure "Magic Links" sent to your Telegram or Discord to verify your identity.
Why no passwords?
We believe you shouldn't need another password for a tool you use once a week. By verifying ownership of your Telegram/Discord account, we can prove it's you without storing sensitive credentials.
Use Case 1: Sync & Recover (My Events)
Best for: Logging in to view all your events at once.
If you are on a new device or your cookies have been cleared, you can recover access to your entire event history via the My Events (Profile) page.
The header of that page always shows two status pills. Already synced with a platform? You'll see a solid "Telegram Synced" or "Discord Synced" pill. Not synced yet? You'll see a dashed "Connect Telegram" (deep-links to the bot, which DMs you a login link) or "Connect Discord" (starts the OAuth flow) pill instead, as a shortcut to the steps below.
- Navigate to the My Events page.
- Scroll down to the "Sync & Recover" section.
- Enter your Telegram Handle (e.g.,
@YourHandle) or Discord Username. - Click Sync My Events.
- The bot will DM you a Global Magic Link. Click it to log in.
This will restore your Event List and your Voting Identity (allowing you to edit previous votes).
Use Case 2: Per-Event Sync Badges
Best for: seeing at a glance which events follow you across devices, and fixing the ones that don't.
Every card on My Events also carries its own badge, separate from the header pills: a colored "Telegram Synced" / "Discord Synced" badge means that event's vote is tied to your verified identity, while a gray "This Device Only" badge means it only exists in this browser's local history.
Events you manage also show a separate indigo "Manager" badge alongside any sync badges, marking your role there. It doesn't by itself mean your identity is linked, a managed event with no linked participant still just shows "Manager" (never "This Device Only", since it's already tied to the event on the server).
Click a badge to act on it: a gray badge opens a menu to link the event to whichever platform(s) you're synced with, and a colored badge opens a menu to unlink it. Linking requires you to have already voted on that event (so there's a participant row to stamp), and you can only unlink your own identity, never someone else's.
Use Case 3: Linking While You Vote
Best for: getting a new vote linked automatically instead of fixing it afterward.
If your browser is already synced when you vote, the vote form shows a "Will link to Telegram/Discord" indicator next to a checkbox, checked by default. Leave it checked and your vote is stamped with your synced identity automatically. Uncheck it if you'd rather that particular vote stay anonymous and device-only.
Voted before syncing, or opted out and changed your mind? The event page shows a dismissible banner offering to link that event whenever your browser is synced but your participant row on it isn't linked yet.
Use Case 4: Manager Recovery
Best for: Quickly switching devices for a specific event.
Viewing your event's Manage Page and want to switch to your phone?
- On the Manage Page, look for the Manager Recovery box.
- Click "Send Magic Link".
- The bot will send a specific Event Admin Link to your DMs.
- Clicking this grants admin access only for that specific event.
Use Case 5: I'm Locked Out
Best for: Recovering access when cookies are gone.
If you are viewing an event you created but appear as a Participant (no admin controls):
- Scroll to the bottom of the Vote Page.
- Click: "Are you the organizer? Manage this event".
- Click the small link: "Lost Manager Link?".
- Enter your Telegram Handle.
- If it matches our records, we send a secure link to your DMs.
Technical Insight
We use two layers of storage: Cookies (for secure, 30-day server auth) and LocalStorage (to auto-fill your name and remember your specific votes on a device). Magic Links restore both.