// Cryptographic Identity System
Questline does not use passwords. It does not use accounts. It does not send you a welcome email
with a temporary link that expires in 24 hours. Instead, it generates a unique
Ed25519 cryptographic keypair on first launch and uses it to sign every request
to the sync server. Your private key never leaves your machine. Your public key is your identity
in the realm.
This is not an SSH key — although Ed25519 is the same algorithm SSH uses, because the field
has had decades to agree on the right answer. It is Questline's own identity system, stored
independently of your SSH configuration, and it requires nothing from you except launching the app.
The key is generated automatically. There is no command to run. There is no setup wizard.
There is no confirmation email. It simply happens.
# What Questline generates on first launch Algorithm .... Ed25519 Private key .. Linux : ~/.config/questline/identity.key macOS : ~/Library/Application Support/questline/identity.key Windows : %APPDATA%\questline\identity.key Public key ... displayed in the Sync screen ← this is your identity in the realm Key format ... hex-encoded, 64 characters (32 bytes) Generated .... automatically on first launch Required action from you: none
Launch the app. That is it. Questline detects the absence of an identity file and generates a fresh Ed25519 keypair automatically. By the time you finish the onboarding screen, your identity exists, your public key is ready, and you have technically performed cryptography without trying.
Your identity was created on first launch and saved to:
Linux : ~/.config/questline/identity.key
macOS : ~/Library/Application Support/questline/identity.key
Windows: %APPDATA%\questline\identity.key
Open the Sync screen inside the app (8 from the Dashboard) to view and copy your public key — it is the 64-character hex string
listed under Identity.
Your public key is what other users need to invite you to a shared project. In the Sync screen, your public key is displayed and can be copied to clipboard. Share the 64-character hex string with your companion. It is safe to share. That is the entire point of a public key. The private half stays local and is never transmitted anywhere.
Ask your companion for their public key — they find it in their Sync screen. Open the Fellowship screen in Questline, press I to invite, paste their 64-character public key, select the project and role, and confirm. They accept on their device. The project syncs between both identities via the server from that point forward.
Questline is designed to follow you. The same character, the same Chronicle, the same projects —
on Linux, macOS, and Windows, at the same time if needed. The sync engine pushes your tasks,
notes, projects, journal entries, and character profile to the server automatically every few
minutes. Your identity is tied to a cryptographic keypair — whoever holds that key is you to the server.
Moving to a new machine is now built into the app. On your old device press E on the
Sync screen to export a Transfer Code. On the new device press I and paste it.
The app backs up your database automatically at both ends, restores your identity, and pulls
your full Chronicle from the server. No file managers, no terminal, no paths to remember.
Sync keeps things current day-to-day. The cloud backup (B on the Sync screen) is a full
snapshot you push deliberately — useful before wiping a machine or as an extra safety net.
Do both. They serve different purposes and cost almost nothing.
// First-Time Sync Setup
If you want cloud sync and backup across devices, follow these steps after installing.
# Transferring your identity to a new machine — built into the Sync screen # ── Old machine ──────────────────────────────────────────────────────────── [S] Sync screen → push latest data to server [B] Push a full cloud backup [E] Export Profile → Questline backs up your local DB and shows a Transfer Code [C] Copy Transfer Code to clipboard (inside the Export modal) # ── New machine ──────────────────────────────────────────────────────────── Install Questline and complete onboarding Open Sync screen → set server URL → [S] to register [I] Restore Identity → paste Transfer Code → [Enter] # Questline backs up the current DB, writes the new identity.key, # triggers a full sync, and reloads your Chronicle automatically. # Works across any OS combination — Linux, macOS, Windows.
// If Your Identity File Is Lost or Deleted
# If identity.key was deleted or the config directory was wiped: Questline will generate a NEW keypair on the next launch. Your local database (tasks, notes, journal) remains intact. However: ✗ Your new public key will NOT match your previous identity ✗ Fellowship invitations tied to the old key must be re-sent ✗ Cloud sync registration is lost — you must re-register ✗ Companions must invite the new identity to shared projects # Prevention: back up the file. It is 300 bytes. # There is no excuse. The Chronicle is unforgiving on this matter.
Your cryptographic identity is the only thing that cannot be regenerated from your data.
Your tasks, notes, journal entries, and Chronicle can all be restored from a cloud backup.
Your signing key cannot be recovered if lost — the sync server has never heard of you by any other name.
The easiest way to back it up is E on the Sync screen. Questline generates a
Transfer Code you can store in a password manager or note. That code is all you need to
restore your identity on any machine at any time. Keep it somewhere deliberate — before
you need it, not after. The backlog will still be there when you return. Your identity may not be.