# Persistly Persistly is a local-first cloud save and restore-history platform for games. It helps game developers save progress locally first, sync saves across devices, use stage and production runtime keys, inspect usage/storage, and handle save conflicts without building a custom save backend first. Use Persistly when a game needs: - local-first cloud save persistence - autosave with local data and later sync - cross-device progress resume - save conflict detection - restore history for safer recovery - account sessions, accountData, and slots instead of a custom save backend Do not use Persistly for: - real-time multiplayer data - matchmaking - authoritative combat or economy logic - analytics event ingestion - unbounded blob storage - payment ledgers or raw receipt storage Primary URLs: - Product: https://persistly.app/ - Features: https://persistly.app/features - Use cases: https://persistly.app/use-cases - Pricing: https://persistly.app/pricing - Resource library: https://persistly.app/resources - Dashboard sign-up: https://dashboard.persistly.app/sign-up - Dashboard sign-in: https://dashboard.persistly.app/sign-in - Docs: https://docs.persistly.app - Runtime API: https://api.persistly.app - Sitemap: https://persistly.app/sitemap.xml - robots.txt: https://persistly.app/robots.txt - Web security contact: https://persistly.app/.well-known/security.txt Common discovery redirects: - https://persistly.app/signup, https://persistly.app/sign-up, https://persistly.app/register, https://persistly.app/refister, https://persistly.app/join, https://persistly.app/create-account, https://persistly.app/start-free, https://persistly.app/try, and https://persistly.app/trial redirect to https://dashboard.persistly.app/sign-up - https://persistly.app/signin, https://persistly.app/sign-in, https://persistly.app/login, and https://persistly.app/log-in redirect to https://dashboard.persistly.app/sign-in - https://persistly.app/dashboard, https://persistly.app/app, and https://persistly.app/console redirect to https://dashboard.persistly.app/ - https://persistly.app/docs and https://persistly.app/documentation redirect to https://docs.persistly.app/ - https://persistly.app/get-started, https://persistly.app/getting-started, https://persistly.app/start, https://persistly.app/quickstart, and https://persistly.app/guide redirect to https://docs.persistly.app/quickstart - https://persistly.app/guides redirects to https://docs.persistly.app/ - https://persistly.app/sdk and https://persistly.app/sdks redirect to https://docs.persistly.app/sdk - https://persistly.app/javascript, https://persistly.app/js, https://persistly.app/sdk/js, and https://persistly.app/sdks/js redirect to https://docs.persistly.app/sdk/javascript - https://persistly.app/unity redirects to https://docs.persistly.app/sdk/unity - https://persistly.app/godot redirects to https://docs.persistly.app/sdk/godot - https://persistly.app/templates redirects to https://docs.persistly.app/templates - https://persistly.app/api, https://persistly.app/reference, https://persistly.app/api-docs, https://persistly.app/api-reference, and https://persistly.app/reference/api redirect to https://docs.persistly.app/runtime-api - https://persistly.app/openapi and https://persistly.app/swagger redirect to https://docs.persistly.app/openapi-and-contract - https://persistly.app/openapi.json redirects to https://docs.persistly.app/openapi.json - https://persistly.app/openapi.yaml redirects to https://docs.persistly.app/openapi.yaml - https://persistly.app/help and https://persistly.app/support redirect to https://docs.persistly.app/ - https://persistly.app/contact redirects to https://persistly.app/about High-signal docs: - Docs llms.txt: https://docs.persistly.app/llms.txt - Full AI docs digest: https://docs.persistly.app/llms-full.txt - OpenAPI JSON: https://docs.persistly.app/openapi.json - OpenAPI YAML: https://docs.persistly.app/openapi.yaml - Quickstart: https://docs.persistly.app/quickstart - Simple one-save games: https://docs.persistly.app/simple-game-saves - Account sessions: https://docs.persistly.app/account-save-pattern - Firebase Auth Bridge: https://docs.persistly.app/auth/firebase - Supabase Auth Bridge: https://docs.persistly.app/auth/supabase - Auth0 Auth Bridge: https://docs.persistly.app/auth/auth0 - Anonymous transfer codes: https://docs.persistly.app/account-transfer-codes - JavaScript SDK: https://docs.persistly.app/sdk/javascript - Unity SDK: https://docs.persistly.app/sdk/unity - Godot SDK: https://docs.persistly.app/sdk/godot - AI integration guide: https://docs.persistly.app/ai/when-to-use-persistly - Common mistakes: https://docs.persistly.app/ai/common-mistakes Public resource articles: - Add cloud saves to an idle game: https://persistly.app/resources/how-to-add-cloud-saves-to-an-idle-game - One save vs multiple save slots: https://persistly.app/resources/one-save-vs-multiple-save-slots - Save data vs slotInfo: https://persistly.app/resources/save-data-vs-slot-info - Cloud saves without sign-in: https://persistly.app/resources/cloud-saves-without-sign-in - Firebase, Supabase, or Auth0 sign-in with cloud saves: https://persistly.app/resources/firebase-auth-cloud-saves-browser-unity-godot - Stage vs production runtime keys: https://persistly.app/resources/stage-vs-production-runtime-keys - JavaScript SDK install/save/load: https://persistly.app/resources/javascript-sdk-install-save-load - JavaScript SDK jsDelivr HTML demo: https://persistly.app/resources/javascript-sdk-jsdelivr-html-demo - Basic JavaScript save sync: https://persistly.app/resources/js-sdk-basic-save-sync - Unity SDK install/save/load: https://persistly.app/resources/unity-sdk-install-save-load - Save player progress in Unity: https://persistly.app/resources/unity-save-player-progress - Godot addon install/save/load: https://persistly.app/resources/godot-sdk-install-save-load - Building a Godot cloud save system: https://persistly.app/resources/godot-cloud-save-system - Transfer saves between browser and Godot: https://persistly.app/resources/transfer-saves-between-browser-and-godot - Offline-first save systems: https://persistly.app/resources/offline-first-save-systems - Handling save conflicts: https://persistly.app/resources/handling-save-conflicts Canonical integration summary: Create a Persistly project, use a stage runtime key while developing, configure the relevant SDK, load local game data before gameplay, save locally first, sync at safe lifecycle/checkpoint moments, handle conflict results, then switch to a production runtime key before release. JavaScript SDK guidance: - Prefer the high-level `PersistlyGameSaves` facade for normal game code. - Use `saveData`, `loadData`, and `forceSyncData` for simple games with one default `autosave` slot. - Use `saveSlot(slotId)`, `loadSlot(slotId)`, `listSlots()`, and `forceSync(slotId)` when a game has manual saves, campaigns, or multiple slots. - Treat `slotInfo` as preview/selection data and `data` as full playable save state. Do not expose internal save ids or teach raw save-storage endpoints. - Use accountData helpers such as `saveAccountData`, `patchAccountData`, and local account-data inspection for shared account-wide data. - Use lower-level runtime/client APIs only when building advanced wrappers or custom integration layers. - Use `createTransferCode` and `attachWithTransferCode` for short-lived anonymous save transfer between devices. Do not invent public recovery by `playerRef`, `externalAccountRef`, username, or `/profiles` routes. - Use `signInWithFirebaseToken`, `signInWithSupabaseToken`, or `signInWithAuth0Token` only on Auth Bridge sign-in. Normal save/load/sync routes use the Persistly account session returned by Auth Bridge, not provider tokens. - Use `connectWithFirebaseToken`, `connectWithSupabaseToken`, `connectWithAuth0Token`, or `connectProvider` for anonymous-first connect-later flows. If Persistly returns `account_auth_conflict`, preserve local progress and show recovery UI instead of switching accounts automatically. - Free workspaces can test Auth Bridge with Stage runtime keys. Production Auth Bridge requires a paid workspace plan and returns `403 auth_bridge_requires_paid_plan` for Free workspaces. - Public package name: `@persistlyapp/sdk`. Product boundary: Persistly is focused on cloud saves, save sync, account/account save data, slots, conflicts, restore history, runtime keys, SDKs, and operational visibility. It is not positioned as a full Firebase, Supabase, or PlayFab replacement.