Stack Front

Privacy Policy

Effective date: 19 October 2026

Scope: Offline play does not require an account. This policy also describes the online beta features and data below. Google and Apple sign-in are available. A new online account requires a verified email, including when created with a provider. Once linked, a Google or Apple identity can be used to sign in again without the provider sending your email each time.

Offline play

Offline modes keep the match and replay in the temporary runtime on your device and do not require an account. Saved map names and layouts remain in local browser or app storage between sessions. When you upload or revise a private catalogue map, Stack Front stores its name, layout, revision, and related catalogue metadata on the service; those entries remain private until you propose them or they are promoted to the official pool. Choosing a map for an online invitation also sends the selected map name and layout to Stack Front for that invitation. Offline gameplay is not sent to the Stack Front server. The app does not use advertising, analytics, or tracking.

Online beta builds use the data described below and the corresponding store disclosures. App stores and operating systems are separate services with their own privacy policies.

The game and these public pages may store your selected language as stackfront.language.v1 in local browser or app storage. It contains only en, es, or ca, stays in the current browser profile or application origin, and is not synced to an account. When registration or password-reset requests include this selected language, it is used only to localize the transactional email and is not persisted as an account locale. An authenticated native device registration separately stores the selected language for that device so push alerts can be localized; this per-device value is not an account locale.

Online beta data

When you register or use online play, the service uses the following information. Offline modes do not send their gameplay to this service.

The service does not request a full name, contact list, personal identity document, or payment information for the online beta. The first online rollout does not use a Firebase database or Firestore, advertising identifiers, an ad SDK, an analytics SDK, or cross-service tracking. Offline practice replays stay in the local runtime.

We do not use this information for advertising, cross-service tracking, marketing, or selling or sharing contact data. The online service does not include an ad SDK or analytics SDK. The Android app does not enable Firebase Analytics or FCM delivery-metrics export to BigQuery.

Use and hosting

A one-time code verifies email ownership for email-and-password registration. Email-and-password sign-in requires the verified email and password; the client sends the password over HTTPS for the service to check against the salted hash without storing the plain password. With Google or Apple sign-in, the service verifies the provider response and uses the linked stable identity. A new online account requires a verified email from the provider, but an already linked account can sign in without the provider sending that email again. Reset codes recover an email-and-password credential and invalidate existing sessions. Email is not displayed or returned by player search.

All Stack Front game-backend components are hosted in AWS in Europe (Ireland), eu-west-1. The online beta uses a fixed AWS Lightsail host with PostgreSQL on the same machine. PostgreSQL is private. A cron job creates a logical pg_dump, uploads it over TLS to encrypted S3 storage, and removes its temporary local file; the encrypted copy is kept for seven days. Amazon SES sends transactional email. Apple Push Notification service (APNs) handles iOS delivery and Firebase Cloud Messaging (FCM) handles Android delivery. APNs and FCM are delivery providers, not Stack Front authentication or database services, and Stack Front does not enable advertising, analytics, or tracking features in them; FCM’s documented automatic service metadata remains provider-side.

Amazon SES sends registration-verification and password-reset messages from the verified play@stackfront.oalfonso.com domain over SMTP with STARTTLS. The application has a global hard cap of 500 OTP messages per day, independent of AWS account quotas and budgets. DNS and the HTTPS backend are deployed. SES production access and delivery to a real recipient were verified on 15 October 2026. Each app store displays its own privacy notice for the version distributed there.

Google and Apple sign-in are enabled for online accounts; Firebase Authentication and Steam sign-in are not enabled. The hosting provider, encrypted backup service, SES, APNs, and FCM process only what is needed to operate this beta; Lightsail, PostgreSQL backups, and SES are configured in Ireland. APNs receives the native push data needed for iOS delivery. FCM receives the native push data needed for Android delivery and its SDK may collect the Firebase service metadata described above.

Account deletion

To delete an online account, use Settings → Account → Delete account in the app. The server action is DELETE /v1/accounts/me.

When deletion is confirmed, the service soft-deletes the account and all of its owned or dependent rows; it does not physically delete those rows. It revokes sessions, sanitizes the verified email, nickname, password hash, pending login or reset code material, and provider identity fields, releases the nickname, tombstones social and match rows, redacts match snapshots, command or event payloads, stored command responses, private canonical turn checkpoints and undo events, durable batch receipts, and command payloads, revokes native device registrations, replaces provider tokens with redacted values, clears notification payloads and deduplication keys, and tombstones device and notification rows.

Hidden tombstones retain limited pseudonymous integrity metadata: row UUIDs and structural references between accounts, social rows, matches, and push rows; lifecycle dates and actor UUIDs; and operational status, sequence or digest, and match-outcome fields. These rows no longer contain email, nickname, usable credentials, provider tokens, notification payloads, move payloads, checkpoint state, undo state, or batch receipt payloads. The live opponent receives a finished or removed-match notice for the client to show.

Retained tombstone metadata is pseudonymous rather than anonymous and can outlast the deletion request. The seven-day operational-log window and seven-day encrypted-backup lifecycle can also outlast the request while those systems expire. Undelivered notification outbox events expire after the configured delivery window, currently 24 hours; the dispatcher marks expired rows dead. Account deletion clears the event payload and deduplication key and tombstones the row in the same transaction, regardless of its current delivery status. OTP and password-reset records retain no usable code after use, expiry, failed delivery, or deletion. The transaction revokes Stack Front’s device registration and redacts the FCM token in its AWS database, but it cannot directly delete provider-side Firebase Installation IDs or service metadata handled by Google/Firebase.

For community maps, names and layouts are removed from private catalogue uploads and revisions. Public or official technical map snapshots may be retained for match, rotation, and integrity history with the creator attribution removed. Active proposals are withdrawn, and their votes are invalidated and no longer count; the invalidation remains in the audit history.

Read the account deletion instructions. The HTTPS deletion backend and this public page are deployed; transactional delivery to a real recipient has been verified. Do not email a personal ID to request deletion.

Offline practice data is discarded with the local runtime on reload and is not covered by the server deletion endpoint. The local online-turn queue and undo journal are device records; logout or confirmed account deletion clears them.

Store declarations

The original offline iOS submission declared “Data Not Collected.” Apple App Store and Google Play provide privacy notices for the versions distributed through each store. Offline and online builds may use different data; this policy describes the online beta data flows and the separate offline behavior above.

Contact and changes

For privacy questions, write to oriol.sty@gmail.com. Do not include passwords, provider credentials, tokens, or personal identity documents.

We will update this policy before enabling any new online-beta collection and will show a new effective date for material changes.