Arcanes — Privacy Policy

Last updated: 2026-10-25

Arcanes is a free browser game. There are no accounts, no sign-ups, and no ads. This page covers everything that touches your data: optional analytics, Veyra's online market and arena (only when you use them), the feedback form (only when you send it), and settings saved on your own device.

Analytics (only if you accept)

The game uses Vercel Web Analytics to see aggregate stats like page views and rough traffic trends. Per Vercel's own privacy documentation:

Accepting also turns on the game's own gameplay telemetry, stored in our database at Supabase: a random session id that lasts until you close the tab, your browser's user-agent string, a scrambled copy of the device tag described below (a one-way hash: it can't be turned back into the tag, it only tells us that two sessions came from the same browser, so we can follow how a save progresses from one visit to the next), and in-game events with their times (levels entered, enemies defeated, items found, bought, sold, upgraded, crafted or traded, deaths, new games started and which save slot they are in, which story milestones your save has reached, and whether a save had to be put back from its backup copy; and, each time you enter Veyra's arena, the name you fight under there, your gold, gear and bag at that moment, and the names of the players you defeat or who defeat you). It tells us where players get stuck and what to balance. It is not linked to any account, and it is never sold or shared.

You can decline from the banner shown when you start the game. Declining turns off both the gameplay stats and the online market below; the rest of the game works the same.

Veyra's market (online, only when you use it)

In Lunethiel, Veyra the seer runs the Mist Market: you can put items from your bag up for a price, and other players can buy them. It only talks to a server when you open Veyra's market. Veyra only comes to Lunethiel if you pressed Accept on the banner shown when you start the game; the game itself never interrupts you about it.

A copy of your saves (only if you accept)

With the banner accepted, the game keeps a copy of each save slot you play on our server (Supabase), so it can tell when an older copy of a save was put back on this device — the way an item sold on the market could otherwise come back — and put the newer one back.

Veyra's arena (online, only while you are in it)

Veyra can also send you to the Mist Arena, where you fight whoever else stepped in. While you are in it, the game shares your fight live with the other players there, through Supabase Realtime; the fight itself is not written to a database. If you accepted gameplay stats, they note your arena visits as described above, and the copy of your save described above is updated as you step in.

Feedback form

If you send feedback from the game, we store your comment, your ratings, the game's language, and — if analytics is on — the session id above, so a comment can be read next to what happened in that session.

What's stored on your device

Except for the device tag, the arena name, the analytics session id and the copy of your saves described above, nothing here is ever sent anywhere — this is local browser storage only, used to make the game remember things between visits:

Storage Key What it holds
localStorage arcanes-save-slot-1 … -5, arcanes-active-slot Your save slots, and which one you played last
localStorage arcanes-save-mirror-1 … -5 A backup copy of each save slot, which the game puts the slot back from when needed
localStorage arcanes-device-tag Veyra's market device tag (see above) — once you open the market or accept the banner
localStorage arcanes-arena-name The name you last fought under in Veyra's arena, filled in for next time
localStorage arcanes-audio-settings, arcanes-locale, arcanes-resolution, arcanes:maxRenderScale:v2, arcanes-lighting, arcanes-keybinds, arcanes-gamepad-binds, arcanes-touch-layout Your settings: volume, language, display, lighting and controls
localStorage arcanes-analytics-consent, arcanes-notice-version Your Accept/Decline choice, and which version of the banner you answered, so it only reappears when it has something new to say
localStorage arcanes-feedback-last-submit When you last sent feedback, to prevent accidental double sends
localStorage arcanes-rotate-prompt-dismissed, arcanes-ios-install-prompt-seen Hints you dismissed, so they stay dismissed
sessionStorage arcanes-analytics-session The analytics session id (only with analytics on) — cleared when the tab closes
sessionStorage arcanes:reload:resumeRun, arcanes:reload:resumeFullscreen, arcanes-inapp-escape-tried One-time flags for resuming after a display change or leaving an in-app browser

Changing your mind

Clearing your browser's site data for this page resets all of the above — your saves, your settings, your analytics choice and your market device tag. The banner will ask again on your next visit.

← Back to the game