Privacy Policy
One Frame Ahead
This policy explains how this application handles information and how to contact us about privacy.
Information we process
One Frame Ahead is a game about controlling a virtual camera. Campaign progress, stars, best held times, replay samples of virtual camera movement and saved still images from the animated game are stored locally in the app's files. Preferences are stored on the device using UserDefaults. These are game images, not photographs taken with your device camera.
Optional synchronization is off by default. If you enable it, the app sends campaign progress, update times, saved frame identifiers, level numbers, creation times and PNG thumbnails of game frames to our backend. Replay movement samples and preferences remain on the device. The app generates a random installation secret stored in the iOS Keychain. The backend stores a SHA-256 hash of that secret to keep each installation's records separate. There are no user accounts. Hosting infrastructure also receives network information such as IP addresses and request metadata when a request reaches the service, including visits to this policy.
Public website and API requests pass through Cloudflare, which terminates HTTPS and forwards requests to the same Railway service. Cloudflare processes the transmitted request contents and technical network metadata as a reverse proxy, including authorization credentials and synchronization payloads when those requests are sent.
How we use information
Local information makes the campaign, results, collection and replay features work and lets your game continue after relaunch. If you turn on synchronization, the backend keeps a server copy of your progress and game thumbnails for that installation. The installation secret authorizes access to those records; it does not provide an account or a way to sign in on another device. We do not use gameplay information for advertising or behavioral profiling.
Service providers and sharing
The backend and this public policy are hosted on Railway. Public HTTPS traffic is proxied through Cloudflare to that Railway service. Cloudflare processes requests, including their network metadata, transmitted authorization headers and synchronization payloads, to deliver the HTTPS proxy service. Railway and its infrastructure providers process stored synchronized records and technical network/request metadata as needed to operate the backend. The app does not integrate advertising, analytics, social sign-in or other external data services. We do not sell your gameplay records. Information may be disclosed where required by applicable law. Infrastructure log, retention and backup practices depend on the providers and the actual service configuration; this policy does not promise a specific provider retention period.
Data retention
Local progress, preferences, replay samples and game images remain until you remove them through the app's controls or delete the app's local data. The generated secret is stored separately in the iOS Keychain and may remain after app removal under iOS behavior. Synced progress and thumbnails remain in the service database until the installation's deletion request is completed. Turning synchronization off stops future synchronization but does not by itself delete existing server records. The application does not operate a separate backup or archive feature. Infrastructure backups or logs, if present, follow the provider's configuration and may not be removed immediately by a database deletion request.
Deleting your information
Use the reset control in Settings to clear your local game data and request deletion of that installation's synchronized progress and thumbnails. A pending server deletion needs an internet connection to complete; the app must be able to contact the service with its existing installation secret. Individual saved game frames can also be removed from the collection. Deleting the app alone does not send a server deletion request. If the installation secret is lost, the service cannot identify or authorize access to your records through a sign-in recovery process. For privacy questions or requests, use the contact address below; do not send your installation secret.
Permissions and your choices
The game uses a virtual camera and does not request access to your device camera, photo library, microphone or location. Optional synchronization can be enabled or disabled in Settings, and playing locally does not require enabling it. The app has no advertising or analytics permission flow. You can remove local game information with the reset control and manage the app's local storage through iOS. Disabling synchronization does not itself erase an already synchronized copy; use the deletion/reset control for that purpose.
Your privacy rights
Depending on your location, you may have rights to access, correct, delete or restrict processing of personal information, and to raise a concern with a relevant data protection authority. The app lets you view game records, change synchronization settings and request deletion of installation data. You can contact LeofrunDunraven@icloud.com about privacy rights and questions. We may need enough information to assess a request, but we do not provide an account recovery system and cannot safely identify installation records from an email address alone.
Security
The app keeps the randomly generated installation secret in the iOS Keychain and sends it as an authorization credential over HTTPS through Cloudflare to the backend hosted on Railway. Cloudflare terminates the public HTTPS connection and proxies requests to the Railway HTTPS origin. The backend stores a hash rather than the original secret and scopes database access to that hash. It validates request data and image sizes, imposes a per-installation frame limit and throttles requests. These measures reduce risk but cannot guarantee absolute security. Keep your device and installation secret private; losing the secret can prevent future access or deletion through the app.
Children’s privacy
One Frame Ahead is intended for a general gaming audience, with its creative camera gameplay designed primarily for ages 16 and older. It is not specifically directed to young children. There are no accounts, advertisements or analytics SDKs. If you believe a child's personal information has reached the service, contact the privacy address below so the situation can be assessed with the information available to us.
Changes to this policy
This policy may be updated when the app's features, backend processing or service providers change. The effective date at the top identifies the current policy. The current version is available from the app's Settings privacy link and at this public page. Review it when deciding whether to use optional synchronization; material changes will be reflected in the policy and, where appropriate, in the app.