Privacy Policy
Intense Dance Battle
This policy explains how this application handles information and how to contact us about privacy.
Information we process
Intense Dance Battle stores your dancer name, style, selected profile photo, preferences, practice plans, movement notes, training records and battle history locally on your iPhone. The photo picker gives the app only the image you select; the app resizes and re-encodes it as a local JPEG. If you enable optional sync, the app sends your movement catalog, including personal notes, and completed training sessions, including dates, durations, rounds, movements and repetitions, to our backend. An automatically generated installation secret is stored in the device Keychain; its SHA-256 digest and creation time are stored on the server to authorize access. Your name, profile photo, preferences and battle history are not uploaded. Railway hosting receives technical request information such as IP addresses, request timing and network metadata when you use sync or visit this website. We do not use advertising identifiers, analytics SDKs, cookies or user accounts. If a saved local file cannot be decoded, the app may keep a local recovery copy so its contents are not silently lost.
How we use information
Local data lets you plan practice, run timers, keep technique notes and view your own training progress. Optional backend storage backs up training and movement data for this installation while its secret is available. The secret authorizes access to only that installation's records. Technical hosting information is used to deliver requests and operate and protect the service. Notification permission is used only for the optional daily practice reminder. There is no sign-in, email delivery system or cross-device account recovery. Losing the installation secret prevents access to the associated backup.
Service providers and sharing
Optional synced data is processed by our Railway-hosted application and stored in SQLite on its persistent Railway volume. Railway provides hosting, networking and infrastructure processing and may process technical infrastructure logs. The application does not log authorization tokens or request payloads. We do not integrate advertising, analytics, social sign-in or other third-party app SDKs and do not sell your data. If you choose Export Session as Text, iOS presents its share sheet and you select the recipient or destination; that recipient processes the text under its own terms. Apple provides the device's photo picker, Keychain and notification services. We may disclose information where required by applicable law.
Data retention
Local records remain until you clear history, delete all data, or remove local app storage. Device backup behavior is controlled by your Apple and device settings; this app does not manage those backups. The installation secret is marked device-only in Keychain and may remain after deleting the app. Synced records remain on the server until you request deletion using the available installation secret. We have not configured a fixed automatic expiry for records or infrastructure logs and cannot promise a particular Railway log retention period. We do not operate a separate scheduled backup system; hosting or device backups, if present under provider or device settings, are not immediately rewritten by live-record deletion and may persist according to those settings. SQLite deletion removes live rows; physical storage reclamation and provider storage handling are separate from logical deletion. Local recovery copies of unreadable files remain until Delete All Data removes them.
Deleting your information
Profile contains confirmed Clear History and Delete All Data actions. Clear History removes local training and battle history and resets the installation's server records before resyncing retained moves if sync remains enabled. Delete All Data removes the local profile, selected photo, catalog, plans, history, local recovery copies and pending reminders, and requests deletion of server records and revocation of the installation secret. If offline, a pending deletion and secret remain locally so the request can be retried; keep the app installed and use Retry Sync when connected until deletion completes. The secret is removed from Keychain after successful deletion or confirmation that it is already revoked. Turning sync off stops later uploads but does not delete existing server records. Uninstalling alone does not request server deletion. We cannot recover records or authorize deletion of an unidentified installation after its secret is lost. Device or hosting backups may retain copies as described in Retention.
Permissions and your choices
You may choose a profile image using Apple's system photo picker without granting broad photo-library access. You can remove or replace that local photo in Profile. Notifications are requested only when you enable the daily reminder; denial leaves all training features available. You may switch reminders off in Profile or withdraw notification permission in iPhone Settings. Sound and haptic preferences are local controls. The app does not request location, camera, microphone, contacts or tracking permission. Optional sync can be disabled in Profile; delete server records separately with the data controls.
Your privacy rights
Depending on your location, you may have rights to access, correct, export or delete personal data and to object to or restrict certain processing. You can edit your profile and movements, inspect training history, export a session as text, disable optional sync and request deletion within the app. For privacy questions or rights requests, contact elspethormsby@icloud.com. This address is a privacy contact only, not an in-app account or messaging service. Please do not email your installation secret. Since no account or email address identifies stored installations, we may be unable to locate or act on server records without a secure way to establish control of the relevant installation. You may also contact your local data protection authority where applicable.
Security
Public service communication uses HTTPS. Private endpoints require a random per-installation bearer secret, stored device-only in Keychain; the backend stores only its digest and scopes every private operation to the authorized installation. Data is stored locally with iOS file protection and atomic writes. The server validates request types, bounds payload sizes, rate-limits installation creation and uses transactional SQLite storage with authorization and cascading deletion. No common client credential grants access to multiple installations. Infrastructure providers operate their own security controls; we do not claim a certification or guarantee absolute security. Protect your device and avoid placing sensitive information in optional movement notes.
Children’s privacy
This dance practice utility is intended for a general audience of dance enthusiasts and is not specifically directed to children under 13. It does not ask for age, create accounts or intentionally solicit children's personal information. Young dancers should practice with appropriate adult supervision and qualified instruction. A parent or guardian with a privacy concern may contact elspethormsby@icloud.com; available deletion controls can be used on the relevant device.
Changes to this policy
We may revise this policy when the application's processing or service changes. The current policy and effective date will be published at this page, accessible from Profile in the app. Material changes will be reflected in the policy before the related processing is introduced. Please review the policy periodically. Privacy questions about a change can be sent to elspethormsby@icloud.com.