Data & Privacy
Local-first isn't a tagline.
It's the architecture.
DeckLogic was built so that your games, decks, and logs never need to leave your machine. During a live match, DeckLogic describes the game but never chooses your play — a boundary enforced at the Rust dispatch layer and stated on The Live Boundary.
What stays local
Your Arena log
Parsed in-process, on your PC. The log is read passively and never uploaded anywhere.
Your game history
Every match, deck, and draft lives in a local SQLite database inside your user profile. It's yours.
ML inference
The win-expectancy model (shrunk to 3MB) runs on-device via ONNX Runtime. No cloud scoring, no per-game API calls.
The announcer
Text-to-speech runs locally, and the optional LLM commentary only ever talks to a
server on localhost.
What the app fetches — and why
| Source | What | When |
|---|---|---|
unrealities-media.github.io/DeckLogic |
Daily Limited datasets, synergy and collation artifacts — served from this very site | Daily / on demand |
| Scryfall | One-time bulk card catalog and card images | First run, then cached |
| GitHub releases | App update check | On launch |
| 17Lands (optional) | Read-only account link for deck/run harmonization | Only if you link an account |
Share links: the only thing that ever leaves
And even then, it doesn't come to us.
You can share a deck, a draft run, or a match summary as a link. The entire
payload is encoded into the part of the URL after the #, which
browsers never send to a server. So the link is not a pointer to something we
stored — it is the data, and DeckLogic keeps no copy. Nothing is
uploaded when you create one, and no account is involved.
Player names are removed by default. You can choose stable handles instead (the same person always becomes the same handle, so several shared matches stay comparable without a username), or real names — but only by explicitly picking that option each time.
The trade-off is the honest one: because the link carries everything, anyone who has it can read it, and it cannot be revoked. The app tells you that before you copy it.
What we don't do
No telemetry. No analytics. No crash uploaders. No account system. No data sale. There is no DeckLogic server to send anything to — which is exactly why share links had to work without one.
And during a live match, no advice: DeckLogic describes the game, but never chooses your play. That boundary is enumerated field by field on The Live Boundary.
Standing on great shoulders.
DeckLogic exists because a few projects publish extraordinary public data, and it tries to be a good citizen of each.
17Lands — Limited ratings and draft telemetry are built from 17Lands' public aggregate data, rebuilt daily by an automated pipeline that caches aggressively and never touches user machines. If DeckLogic helps your drafts, support 17Lands on Patreon.
Scryfall — card data and imagery come from Scryfall's bulk data, downloaded once and mirrored locally — no per-card crawling, in line with their guidelines.
MTGJSON — structural pack blueprints for practice drafts are built on MTGJSON's open data.
Wizards of the Coast — DeckLogic is unofficial Fan Content under the Fan Content Policy; the full notice is in the footer of every page.