What a backup restores — and why League identity is separate
An isolated restore test checks v2, old v1 files, pending RED/Blue battles, occupied-device refusal and rollback. League ownership stays separate.
Four modes do not share one kind of save
The game backup is a local file covering the existing eight game-data keys. Classic stores its record and daily state, while RED Quick and Blue have independent formal results, resumable battles and review details. Derived achievements cover the two Quick challenges.
A Classic record is not an emulator save state. Importing a backup will not return Classic to a position halfway through its battle. Quick and Blue pending snapshots can be restored, but their original date and daily rules still apply when you return. A file does not grant a second formal attempt.
| Mode | Included in game backup | Outside this backup |
|---|---|---|
| Classic | Record and daily state | Emulator position |
| RED Quick / Blue | Results, pending battles, latest/retained reviews | Practice scores; missing older details |
| Local achievements | Derived badges for RED Quick and Blue | Classic / League achievements |
| League | — | Guest ownership and server results |
What the isolated restore actually verified
We used synthetic records, not a real player profile: two Classic wins, one dated RED Quick result and one Blue result, plus pending RED and Blue battles dated 20 October. A second, empty storage context decoded the v2 file for preview. Decoding and cancelling did not write any game data. After confirmation through the existing restore code, every included value matched exactly.
Both pending snapshots were accepted by their respective existing adapters with the correct opponent. The target’s privacy choice stayed unchanged. Analytics preferences, language choices and a synthetic identity marker were not included in the exported file. The public table is a sanitized summary; no importable score file or identity credential is published here.
Old files, occupied browsers and interrupted writes
A v1 fixture containing only supported original keys restored Classic and RED data without inventing Blue records. On an already occupied target, the restore was rejected and its values remained identical. Broken JSON and an unsupported backup version were rejected before import.
We also simulated a storage-quota failure during the second game-key write: the original values were restored, and no recovery journal remained. Interrupted journal versions 1 and 2 were each checked against their own original key sets. This validates these tests, not every browser failure. Keep your original file until you have checked the recovered records; never clear your real browser data just to try a restore.
| Test | Result |
|---|---|
| Preview and cancel: no writes | Verified |
| v2: exact included values; both pending adapters accepted | Verified |
| v1: original supported keys; no invented Blue data | Verified |
| Occupied target: rejected unchanged | Verified |
| Corrupt JSON / unknown version: rejected | Verified |
| Quota failure: rollback; v1/v2 interrupted journals recovered | Verified |
Why a League identity cannot travel in this file
League state and scores are owned and validated by the server. A local game backup does not include the browser identity that controls a League guest, and a restored local victory is not a score submission. Do not edit backup files to try to claim a League result.
Use the same browser for your guest identity. If moving browsers matters, understand this limit before switching: this version does not offer account-based identity transfer. Reading this guide creates no guest and sends no battle commands. For a problem report, describe the mode, date and error; do not email a full backup or identity token unless a specific, privacy-conscious support step has been agreed.
Test conditions & sources
Gen 3 · 20 October 2026 team · simulator 0.10.11 · calculator 0.12.0. Tests repeated on 29 October 2026. Numbers apply to this edition and configuration only.
SHA-256 3b994329766f5fe70dbaf8548c3c78ad4cc777e920455a4d8ce5020d6f7ae213