Skip to content

Device Pairing and Security

Tanner edited this page Jul 14, 2026 · 2 revisions

Device Pairing & Security

Frameshift needs no account and no password — the gaming PC is trusted automatically, and every other device is admitted once, by you, with a one-time link.

Pairing a tablet or second computer

  1. On the gaming PC, open ⚙ SETTINGS → Paired Devices.
  2. Scan the QR code with the tablet (or copy the one-time link to it).
  3. That's it. The link is single-use and expires in ~15 minutes; the device stays paired afterwards and reconnects automatically.

Un-paired devices that open the LAN URL see a pairing gate instead of your data.

Permissions

Each paired device gets a permission level, changeable or revocable any time from the Paired Devices card:

Level Can
READ View everything
CONTROL …plus plot routes, launch the game, speak callouts, manage watches
ADMIN …plus change settings, rebuild the database, pair other devices

Commander profiles & your local data

Frameshift keeps analytics, watches and workflow history per commander, matched from your journal. ⚙ SETTINGS → Commander Profiles shows every profile this machine has seen with its data footprint:

  • UNASSIGNED HISTORY — records saved before Frameshift knew your commander name (pre-2.1 history, or journal files with no login). If it's all yours, one tap assigns it — safely, with duplicates skipped, and it stays assigned.
  • ACTIVATE switches the visible commander (the journal switches it back at your next login). DELETE removes a stale or test profile and its local records — a backup is written first, and nothing in-game is ever touched.

Your data lives in data/ next to the app: market.db (the rebuildable galaxy cache), commander.db (your history — kept separate and never touched by cache rebuilds), settings.json, and automatic backups/.

Diagnostics without oversharing

⚙ SETTINGS → Local Health & Extensions can create a support bundle for bug reports — it deliberately excludes journals, commander names, pairing secrets and databases, and scrubs file paths from logs.

Extensions

Optional local add-on packs (a folder under data/extensions/) can react to journal events declaratively — emitting alerts or suggesting objectives — with no code execution. Advanced process adapters run only after you approve that exact pack's fingerprint, and any content change returns them to pending review. See Extension API v1.

Since v2.2.0 the Extension Builder on the Settings page writes declarative packs for you through a guided form (see Settings & Configuration). Builder-made packs follow the same rules as hand-installed ones — same validation, no code execution — and the builder can never create or overwrite a process adapter.

The fine print

  • Cross-site browser requests and unrecognized Host headers are rejected (DNS-rebinding protection).
  • Windows updates are SHA-256 checksum-verified against the release (this catches corruption; it is not publisher code-signing).
  • Keep Frameshift on a trusted home LAN and do not port-forward it to the internet.

Clone this wiki locally