Ashfall · Privacy

Built for battle, not for tracking.

This policy explains what Ashfall keeps on your device, what it sends when you play with other people or against Jev, how long we keep it, and how to delete it.

Last updated October 22, 2026

About this policy

This policy applies to Ashfall (the “App”), a real-time strategy game for iPhone and iPad published by Haselrig Technologies LLC (“Haselrig Technologies,” “we,” “us,” or “our”). It covers the App and the online service that runs its online lobbies and Quick Match and receives player reports. Our website privacy policy applies when you visit this website or send us a message through it.

No ads, no analytics, no purchases. Ashfall shows no advertising, has no in-app purchases, and contains no analytics, advertising or tracking tools and no third-party SDKs. We do not sell personal data or share it for advertising. The tutorial and solo battles against Easy, Medium, Hard and Expert opponents send nothing over the internet.

No accounts or passwords

You don’t create an account or a password to play Ashfall, and the App never asks for your real name, email address, phone number or Apple Account password. Online play uses your Game Center identity, which Apple provides when you are signed in to Game Center on your device. Solo play and local network play need no account.

Information stored on your device

The App keeps the following on your device so the game can remember your choices and progress:

  • Settings, such as your controls, graphics and battle rules, and your chat and voice choices (voice on or off, open mic and the language filter);
  • Your Community Terms agreement—whether you have agreed to our Community Terms on this device;
  • Muted players—the in-game IDs of the players you have muted;
  • Tutorial progress;
  • Personal statistics—your service record, with totals by faction and mode and your 50 most recent battles; and
  • Your Ghost Jev profile—a summary of your play style, such as your build timings, army mix and how and when you attack, learned from your battles so Ghost Jev can play like you.

This information is stored in the App’s own storage on your device and is not sent to us or to Jev’s AI service. Like other app data, it may be included in your device backups. You can clear your Ghost Jev profile with Forget my style where you choose your opponent. Deleting the App removes all of it from your device.

Game Center

The App uses Apple’s Game Center to sign you in for online play, to invite Game Center friends, and to run online battles. When an online lobby or Quick Match starts a battle, or when you play with friends you invited, the battle itself—orders, game state, chat and voice—passes between players’ devices directly or through Apple’s servers using Game Center. Players in a battle can see each other’s Game Center display names. Game Center is provided by Apple, and Apple’s privacy policy applies to it.

Online play and our online service

Our online service runs Ashfall’s online lobbies and Quick Match and receives player reports. It runs on Cloudflare Workers, with a Cloudflare D1 database and Durable Objects.

When the App connects

When you open the Multiplayer screen, after agreeing to our Community Terms, the App signs you in to Game Center and then to our online service. The service verifies your Game Center identity using the signature Game Center provides and Apple’s certificate, and then creates or updates your online account. This happens whenever you open the Multiplayer screen while signed in to Game Center, including when you only plan to play on your local network. The App also signs in to our service when you report a player or delete your online account.

Your online account

We keep one online account per player, keyed to your Game Center team player ID. It contains:

  • a random account identifier that we create;
  • your Game Center team player ID and game player ID, which are identifiers Game Center provides for your account;
  • your Game Center display name, shortened to 24 characters;
  • a matchmaking rating, which Quick Match uses to pair players;
  • the App version you use; and
  • the date the account was created and the date you last signed in.

Each sign-in updates your display name, App version and last sign-in date.

Game Center ID pairing

Separately from your online account, the first time you sign in online the service records which Game Center game player ID belongs to your Game Center team player ID: just those two IDs and the date, with no name. The game player ID is the one lobbies, chat, voice and reports use to identify you. The service uses this pairing to refuse any other Game Center account that presents your game player ID, so nobody can impersonate you online.

Lobbies and lobby chat

While a lobby exists, the service keeps its code and settings, such as the battlefield and rules; its members, with their display names, Game Center game player IDs, seats, factions and readiness; and the round-trip time each member’s App measures to the server. It also keeps the last 30 lines of lobby chat, each with the sender’s display name, game player ID and time, so that players who join or reconnect can see the recent conversation. A public lobby is listed in a lobby directory under its owner’s display name.

A member who leaves is removed from the lobby. Everything about a lobby, including its chat, is deleted when the lobby closes—when its last member leaves, or if nobody joins it within a minute. A dropped connection keeps its seat for 30 seconds, or 5 minutes during a battle. A public lobby’s directory listing is removed when the lobby closes, goes private or starts a battle, and expires within two minutes if it stops being refreshed. Quick Match keeps your search only while you are searching.

Approximate location

To sort public lobbies, choose a server location for new lobbies, and pair Quick Match players by estimated connection quality, the service uses an approximate location that Cloudflare derives from your IP address. Latitude and longitude are rounded to 0.1° (about 11 kilometers) as soon as they arrive, along with your continent. The rounded coordinates are held only in the lobby you are in, in the directory listing of a public lobby you own, or in your Quick Match search, and they are deleted when you leave, the lobby closes, the listing is removed or the search ends. When you browse lobbies or server locations, your rounded coordinates are used to estimate ping and are not stored.

Your coordinates are never shown to other players. Players browsing public lobbies see an estimated ping to each lobby and the continent of its owner. In a lobby, other members see your continent, the code of the Cloudflare data center your connection reached (for example, “DFW”), which usually reflects the broad region you are connecting from, and your round-trip time. The App does not use your device’s Location Services.

Player reports

You can report a player from an online lobby, a battle or a local network lobby. When you do, we store:

  • your online account identifier;
  • the reported player’s ID—their Game Center game player ID online, or the temporary ID the game uses for them in local network play—and their display name;
  • where it happened (a lobby, a battle or a local network lobby), the reason you chose and the lobby code, if there is one;
  • the reported player’s most recent chat line that you received, as they wrote it, up to 200 characters, if they sent one; and
  • the time we received the report.

Sending a report signs you in to our online service with Game Center, as described above, so a report can be delivered only while you are signed in to Game Center. Each account can send up to 20 reports a day. We use reports to review behavior under our Community Terms.

Abuse prevention and rate limiting

To protect the service, it limits how quickly each account can try unknown lobby codes, using request times kept for one minute and then cleared automatically; limits chat lines and other messages per member in memory while a lobby is open; and limits each account’s reports to 20 a day, counted from the stored reports. These limits use your online account identifier, not your IP address.

Server logs and connection metadata

Our service uses Cloudflare’s Workers logging for security and troubleshooting. These logs record requests to the service and errors, and can include technical details that Cloudflare attaches to each request, such as your IP address and its approximate location. If a sign-in is refused because its Game Center IDs don’t match an existing pairing, the log entry includes the Game Center IDs involved. Cloudflare keeps these logs for up to 7 days. Cloudflare also processes request and connection metadata, including your IP address, to deliver and secure the service. We do not store your IP address in your online account, lobbies or reports.

Text chat and voice chat

Text chat. In online lobbies, chat lines pass through our service, which keeps the last 30 lines while the lobby exists, as described above. In battles, chat travels over the battle’s own connection—Game Center for online battles, or your local network—and not through our service. Chat lines are limited to 160 characters. The language filter, which is on by default, masks offensive words on your device.

Voice chat. Voice chat lets you hear other players and talk with them in lobbies and battles. Listening is on by default, and you can turn voice chat off in the COMMS panel. The App uses your microphone only while you hold HOLD TO TALK, or while you have OPEN MIC turned on, and iOS asks for your permission before the App can use the microphone. You can listen without granting microphone access.

  • Online lobbies: voice is relayed in real time through our service to the other members of your lobby, labeled with your Game Center game player ID so their devices know who is speaking.
  • Online battles: voice is sent through Apple’s Game Center.
  • Local network play: voice is sent directly between devices on your network, encrypted.

We never record, store, transcribe or monitor voice chat.

Local network play

Local network play uses Apple’s Multipeer Connectivity to find and connect to other players on your Wi‑Fi network, so iOS asks for Local Network permission. Other players on the network see the device name iOS gives the App—on current versions of iOS and iPadOS, a general name such as “iPhone” or “iPad” rather than the name you have given your device—and an arena you open is advertised on the network under that name. Game state, chat and voice go directly between the devices, encrypted, and do not pass through our service. Local network play itself needs no account or internet connection; reports you send from a local network lobby are sent to our service as described above.

Jev and the TypeSafe AI service

When you battle Jev—including Ghost Jev and Jev vs Jev—the App sends a snapshot of the battle, from Jev’s point of view, to TypeSafe (api.typesafe.ai), a third-party AI service. It does so about every ten seconds of battle time while Jev can see enemy forces, and TypeSafe replies with the visible target Jev should attack next. Each snapshot contains only game data:

  • a random identifier created for that battle;
  • the battle clock, Jev’s credits and technology level, and the size of the battlefield;
  • Jev’s own units and structures, and the enemy units and structures Jev can currently see—for each, its type, position, health, weapon range, damage rate, armor class and whether it is complete; and
  • the units Jev has queued, the state of Jev’s commander abilities, and any ability effects Jev can see on the battlefield.

Snapshots never include your name, Game Center identity, device identifiers, chat, voice or location, your Ghost Jev profile, or anything hidden from Jev by the fog of war. Requests are authorized with an API key, not with anything about you. Like any internet request, they show TypeSafe your device’s IP address and standard request details, such as the App and iOS versions. If you are offline or TypeSafe does not respond, Jev uses its built-in tactics. Jev is used only in solo battles you choose it for; battles against other opponents and multiplayer battles never contact TypeSafe.

The Jev opponent settings also let you enter your own TypeSafe API key. If you do, the App uses it for these requests and keeps it only while the App is open; it is not saved or sent to us. TypeSafe’s own terms and privacy policy govern how it handles the requests it receives.

What other players can see

When you play with other people, they can see:

  • your Game Center display name online, or your device’s local name in local network play;
  • your faction, seat and readiness, and everything your forces do in a battle;
  • in an online lobby, your continent, the Cloudflare data center code and your round-trip time; and, for a public lobby you own, your display name and continent in the lobby list;
  • your chat messages; and
  • your voice and a speaking indicator while you talk.

In online lobbies, other players’ devices also receive your online account identifier and Game Center game player ID, which the App uses to tell players apart; they are not shown on screen.

What we don’t do

  • We don’t show ads.
  • We don’t use analytics or tracking, and we don’t track you across other companies’ apps or websites.
  • The App contains no third-party SDKs. Apart from Apple’s services and our own online service, the only service the App contacts is TypeSafe, for Jev.
  • We don’t sell personal data or share it for advertising.
  • The App has no in-app purchases, and we never receive payment information.

How we use information

We use the information described in this policy to run online lobbies, Quick Match, lobby chat and the online voice relay; to estimate connection quality and choose server locations; to power Jev’s decisions; to review reports, enforce our Community Terms and keep online play safe; to secure and troubleshoot our service; and to comply with the law, including reporting apparent child sexual exploitation to the National Center for Missing & Exploited Children (NCMEC) and responding to valid legal process.

Where the GDPR or UK GDPR applies, we process this information to provide the features you choose to use and for our legitimate interests in keeping online play safe, secure and working. You control voice chat, microphone access and local network access through the App’s settings and iOS permissions, and you choose whether to play online or against Jev.

How long we keep information

  • Online account: until you delete it.
  • Game Center ID pairing: kept after you delete your online account, so that no other Game Center account can later claim your game player ID and impersonate you.
  • Lobby information, lobby chat and approximate location: deleted when you leave, when the lobby closes or its listing is removed, or when your Quick Match search ends.
  • Player reports: kept as long as needed to review reports and enforce our Community Terms, or as the law requires.
  • Rate-limiter request times: cleared automatically after one minute.
  • Server logs: up to 7 days.
  • Information on your device: until you delete the App, or sooner if you clear it, for example with Forget my style.
  • Jev snapshots: we don’t keep them; TypeSafe’s retention is governed by its own policy.

Deleting your data and opting out

In the App

On the Multiplayer screen, tap the account badge at the top right, choose Delete Online Account…, and confirm. This deletes your online account from our service: your account identifier, the Game Center team and game player IDs stored on it, your display name, rating, App version and dates. Reports you sent are kept for moderation, with your account identifier removed from them. The pairing of your Game Center team player ID and game player ID described above is kept, to stop anyone else from later claiming your game player ID and impersonating you. Reports other players sent about you are kept as described above. Lobby information and approximate location are already deleted when lobbies close. Information on your device is not affected; delete the App to remove it.

If you open the Multiplayer screen again while signed in to Game Center, a new online account is created.

Through our contact form

Use our privacy request form, choose “Privacy request,” and enter “Ashfall” as the app. This also works if you can no longer sign in to Game Center. We may need to verify your request before we act on it.

Opting out

You can limit what the App uses at any time:

  • turn voice chat off in the COMMS panel, or deny microphone access in Settings › Privacy & Security › Microphone;
  • deny Local Network access in Settings › Privacy & Security › Local Network;
  • don’t choose Jev, Ghost Jev or Jev vs Jev; or
  • don’t use online play, or sign out of Game Center before opening the Multiplayer screen.

Children

Ashfall is not directed to children under 13. The App does not ask for or verify age or collect a date of birth. Parents and guardians can use Apple’s Screen Time to manage Game Center and microphone access, and can ask us to delete a child’s online data through our privacy request form.

Your privacy rights

Depending on where you live—for example, under the GDPR or UK GDPR, or the California Consumer Privacy Act as amended by the CPRA—you may have the right to access, delete or correct personal information we hold about you, to receive a copy of it, and to object to or restrict how we use it. Submit requests through our privacy request form. We respond within 30 days, and we will not discriminate against you for exercising these rights.

If the GDPR or UK GDPR applies to you, you may also complain to your local data-protection authority or, in the United Kingdom, the Information Commissioner’s Office. We do not sell personal information or share it for cross-context behavioral advertising.

International transfers

Haselrig Technologies LLC is based in the United States. Our online account and report database is hosted by Cloudflare, with its primary location in eastern North America. Each lobby runs in the Cloudflare location nearest the player who created it, or the location they chose, which may be in North America, South America, Europe, the Asia-Pacific region, Oceania, Africa or the Middle East. Cloudflare, Apple and TypeSafe may process information in the United States and other countries where they operate, so using online play or Jev may involve transfers outside your country of residence.

Security

The App connects to our online service and to TypeSafe over encrypted connections. Our service verifies Game Center identity signatures against Apple’s certificate and issues signed session tokens that expire after 24 hours; the App keeps its token only in memory. Local network play requires encrypted connections between devices. There are no passwords for us to store, because the App never uses one. No method of transmission or storage is completely secure, but we work to protect the information we handle.

Service providers

We rely on these companies to provide the App’s services:

  • Apple provides the App Store, TestFlight and Game Center. If you test the App through TestFlight or choose to share analytics with app developers in iOS settings, Apple may provide us with crash reports and feedback you choose to send, under Apple’s terms. See Apple’s privacy policy.
  • Cloudflare hosts our online service, relays online lobby voice and keeps the server logs described above. See Cloudflare’s privacy policy.
  • TypeSafe provides the AI service behind Jev’s decisions and receives the battle snapshots described above.

We share information with these providers only so they can provide those services.

Changes to this policy

If we change how the App handles information, we will post the updated policy on this page with a new effective date.

Contact us

For privacy questions, deletion help or other requests, use our privacy request form and choose “Privacy request,” with “Ashfall” as the app.

Haselrig Technologies LLC
United States