GhostStep Privacy Policy

Effective date: October 26, 2026. Contact: support@ghoststep.app

GhostStep is published by Kevinnnn LLC ("we", "us"). We are responsible for the data described here.

Summary

GhostStep is a score tracker and practice companion for DDR (DanceDanceRevolution). It has no ads, no third party analytics, no tracking, and we never sell data. We store data off your device only to make score sync, GhostStep accounts, profiles, friends, notifications and crash fixing work. You can delete it from inside the app at any time, or from our website.

What we store

A random device token. The app makes it on first use. It is not derived from you or your device. Data synced from this device is stored under it.

Your scores. If you use score sync, your play scores (song, difficulty, score, clear type, flare, play time) are uploaded to our server so they can be restored and shown in your profile.

Profile names. Your in-game dancer name (shown to other users on your profile) and, privately, your rival code and game network nickname. The private fields are never shown to anyone unless you choose to share your rival code with friends. They exist so your profile stays yours if you rename.

Your GhostStep account (optional). You only need one for a manual profile (below). To create one you give us an email address. We email you a 6 digit sign-in code, valid for 10 minutes. You can also set a password.

Manual (Unverified) profiles and imported scores. A GhostStep account holds a manual profile for scores that do not come from the arcade network: scores you type in, scores you import from a file (for example a Skill Attack export), scores read from photos of your results screen (iPhone), and scores sent by the GhostStep program for GRAND PRIX on Windows (below). These scores are labeled "Unverified" everywhere they appear. We keep them in a separate database from scores synced from the arcade network, together with where each score came from and a short history of your edits and imports so you can undo them. A manual profile can also show an arcade you pick from a list or type yourself.

Photos of your results screen (iPhone). When you import scores from photos, you pick the photos in Apple's photo picker, so the app never gets access to your photo library. The photos are read on your phone by Apple's text recognition. The photos are never uploaded, stored or sent anywhere. You review what was read, and only the score numbers you confirm are sent: song, difficulty, score, clear type, judgement counts, the dancer name printed on the screen, and the date the photo was taken (used as the play date). The temporary copies the picker gives the app are deleted when you close the import screen.

The GhostStep program for GRAND PRIX (Windows, optional). If you play DANCE DANCE REVOLUTION GRAND PRIX on a Windows PC, our program can send your own scores to your manual profile. You pair it once by typing a 6 digit code shown in the app. It reads, without changing anything, your own scores, clear types, EX scores, flare, judgement counts, play times and dancer name from the running game. It never reads other players' scores and never signs in to the game for you. When you pair it, it sends your game player id and dancer name, a random id for that installation, the program version, and your computer's name (so you can tell your paired computers apart in the app). We keep the player id and the installation id only as one way fingerprints. The program also checks our server for updates. Its saved sign-in is encrypted on your PC for your Windows user, and its log files stay on your PC. You can unpair a computer in the app at any time.

Arcade locations. When you sync, the app reads the arcades where your scores were played from your game network's own play history pages, the same information that site already shows you. They are saved with your profile, and you can pick a favorite. Your favorite arcade is shown to your friends unless you turn that off in Settings. The arcade list is never shown on your public web page. We never use your device's location services.

Friends and social features. If you add friends, react to scores, or play challenges, card draws or group draws, we store those connections and results. Your friends can see your profile. You control in Settings who can find you, see your last play date, compare scores with you, see your favorite arcade and see your rival code.

Your notes, goals and settings. Per song notes, custom goals, pinned goals, per song timing offsets and similar preferences are saved so they follow you to a new phone.

Notifications. If you allow notifications, we store your device's push token so we can deliver them through Expo, Apple and Google. We also store which kinds of notifications you want (friends, card draws, likes, events, announcements), so we only send those. Sync progress notifications are made on your phone and are not stored by us.

Crash reports and diagnostics. To find and fix crashes and sync failures, the app sends, with your device token:

These are cleaned of email addresses and passwords before they are stored. They are deleted after 14 days, except a short summary of each distinct crash (the error and the app version), which we keep to see whether a fix worked. When you delete your data, your device token is removed from those summaries.

Bug reports and suggestions. If you send a bug report or suggestion, we store your message, the app version and your device token, and pass it to a private channel the developer reads. If you add a name or Discord handle so we can reply, we store that too.

Security records. To protect accounts we keep rate limit counters, a shortened form of your IP address (never the full address) on web sign-ins, account link checks and deletion requests, and a record of each deletion request.

What the app never collects

Your game network password. When you link your arcade network account, you sign in on the network's own website inside a secure in-app browser. Your password is never sent to our server. If you turn on "Save login" (off by default), your login is kept only in your phone's secure storage (Keychain or Keystore) to fill the form next time. It never leaves your phone, and it is deleted when you turn the setting off.

Microphone audio. The app can listen through the microphone to recognize which song is playing near you and open that song. The audio is processed entirely on the device, in memory, and is never recorded, stored, or transmitted. The microphone is used only while that screen is open, and the rest of the app works without it.

Photos. Photos you pick for score import are read on your phone and never uploaded (see above).

No device location, no contacts, no advertising identifiers, no analytics or advertising events, no tracking.

Public player profiles

Profile statistics shown in the app (including those of other players) come from your own sync or from publicly visible leaderboard data. A synced player's profile can also be viewed on the web at a link based on the dancer name. That page shows your name, region, title, avatar, ranks and recent scores. It never shows your rival code, your arcades or your private settings, and it is not listed in search engines. Manual (Unverified) profiles are visible to your friends and in the social features you join, always labeled Unverified, and are never on the public web page. If a profile is yours you can claim it with score sync and set it private, which hides its statistics from other users. If you do not use GhostStep and want a profile built from public leaderboard data removed, email us.

Who we share data with

We do not sell, rent or share your data with anyone for their own use. These service providers run parts of GhostStep for us and process data only on our behalf:

When you choose to link another service (for example your arcade network account), your request goes to that service, and its own privacy policy applies to what it holds.

How long we keep it

Deleting your data

You have two ways to delete in the app, and one on the web:

Deleting your GhostStep account does not delete your synced arcade data, and deleting your synced data does not delete your GhostStep account. To remove everything, do both. You can also email us and we will delete it for you (we will first confirm the data is yours, and finish within 30 days).

Your choices and rights

In the app you can see and change your profile, privacy settings, notification choices and scores, remove devices from your account, change your account email, and delete everything as described above. Wherever you live, you can email us to ask for a copy of what we hold about you, to correct it, or to delete it, and we will answer within 30 days.

Children

The app is not directed at children under 13 and does not knowingly collect personal information from them. Do not create a GhostStep account if you are under 13. If you believe a child under 13 has given us information, email us and we will delete it.

Changes

If this policy changes, the new version will be posted at this URL with an updated effective date. If a change affects how we use your email or account data, we will also show a notice in the app.

Contact

Email support@ghoststep.app, or use our support page at https://ghoststep.app/support.