Privacy Policy
Quick Shoal Expedition
This policy explains how this application handles information and how to contact us about privacy.
Information we process
Quick Shoal Expedition stores level results, saved custom routes (including route names, habitat and placed objects), the paused round, tutorial completion and sound, motion and language preferences locally on your device. For automatic installation backup, the app sends level results and saved routes to our server with a randomly issued installation identifier and a private bearer secret. The secret is held in the device Keychain with device-only accessibility; the server stores its hash, the installation identifier and creation timestamp, route update timestamps, results and route content in SQLite on a persistent Railway volume. There are no user accounts. We do not request your name, email address, contacts, location, photos, microphone, camera or advertising identifier. Network requests to the API and public website expose connection information such as IP address, request time and technical request metadata to the hosting infrastructure.
How we use information
We use local game data to run the game offline, preserve progress, resume a paused round, edit routes and apply your preferences. Installation identifiers and secret hashes authorize access to that installation’s private backup. The server stores results and routes to maintain this installation backup and process authenticated updates and deletion. Technical infrastructure data supports delivery, security and operation of the service. We do not use advertising, analytics, cross-app tracking, marketing or an email delivery service.
Service providers and sharing
Railway hosts the application API, public home page, this policy and the persistent server volume. Cloudflare terminates public HTTPS and proxies requests for the API and website to the same Railway service. Cloudflare, Railway and their infrastructure providers process network traffic and operational metadata, including connection IP addresses, request times, URLs and technical request metadata, to deliver and protect the service. Because Cloudflare terminates HTTPS, requests and responses pass through its infrastructure before reaching Railway. The app uses Apple operating-system networking and Keychain services. No third-party advertising, analytics or social SDKs are embedded, and saved routes and results are not published to other players. We do not sell your data. We may disclose information if required by applicable law or necessary to protect the service and legal rights.
Data retention
Local data remains until you reset results, delete all app data using Settings, or remove the application; operating-system device backups may retain local files according to your device backup settings. The device-only Keychain secret is not designed for transfer or identity-based recovery and can persist separately from the app’s files. Server installation records, results and routes have no automatic expiration and remain until an authorized deletion. The application does not retain request bodies, bearer secrets, route names or IP addresses in its application logs. It logs startup information and, on unexpected errors, a random request identifier and exception type. Cloudflare and Railway may maintain infrastructure and security logs; we do not specify unverified provider retention periods. The application does not implement a separate backup schedule. Any provider snapshots or backups and SQLite journal/free-page remnants may retain copies until overwritten or expired under their actual storage lifecycle.
Deleting your information
In Settings, Reset level progress clears results and the paused round while keeping saved routes, and sends the empty result snapshot when online. You can delete individual saved routes. Delete all local & server data clears local game data and queues authenticated deletion of the installation and its server results and routes; the Keychain secret is removed after the server confirms deletion. Offline deletion remains pending and requires opening the app with connectivity to finish. Removing the app before a queued deletion completes may prevent that request from being delivered. Deletion removes live database rows; it does not promise forensic erasure of SQLite pages, journals or provider backups. New gameplay can create a new installation backup. If the installation secret is lost, there is no account or sign-in recovery; contact us about available options, but we may be unable to locate or verify ownership of an anonymous installation.
Permissions and your choices
The app requests no sensitive device permissions. Internet communication uses ordinary system networking, and installation credentials use Keychain without an account prompt. You can play offline; pending backup or deletion requests retry when the app has connectivity. Language, Reduce Motion and audio preferences can be changed in Settings. You can manage operating-system backup and network settings through iOS Settings. Turning off connectivity does not delete information already stored on the server.
Your privacy rights
Depending on your location, you may have rights to access, correct, delete, restrict or object to processing of personal information and to complain to a competent data-protection authority. Use the in-app editing, reset and deletion controls for installation data. For privacy questions or rights requests contact xanthe.st1well@icloud.com. This address is a public privacy contact only; the app does not send email or create support tickets. We may need information sufficient to verify a request, and cannot promise to recover anonymous installation data without its secret.
Security
The deployed app connects to https://api.quick-shoal-expedition.space over HTTPS. Cloudflare terminates public HTTPS and forwards requests over HTTPS to the pinned Railway service origin. Each installation receives its own random secret, kept in the device Keychain; the server compares a hash and checks installation authorization on every private operation. Other installations cannot read or change that data using their own secret. The server validates input, bounds requests and concurrent work, restricts database file permissions and uses transactions for writes and deletion. Local saves use atomic writes and iOS file protection. The SQLite database is not separately encrypted by the application. Access to Railway infrastructure is controlled through the hosting account. No security measure can guarantee absolute protection, and you should avoid personal or sensitive information in route names.
Children’s privacy
The game is intended for a general casual audience, including older children and teenagers, rather than specifically for children under 13. It has no social features, advertising, purchases or account registration. We do not knowingly request identifying information from children. If you believe a child has included personal information in a route name, remove it using the app or contact xanthe.st1well@icloud.com about available deletion options.
Changes to this policy
We may update this policy when the app’s practices or legal requirements change. The effective date on this page identifies the current version. Material changes will be reflected in an updated policy available from the app’s Settings and the public privacy URL. Please review the current policy when updating the app.