Privacy Policy

Tabletop Tactics Hub

Effective date: 2026-10-05

This policy explains how this application handles information and how to contact us about privacy.

Information we process

Tabletop Tactics Hub stores your group name, language and timer preferences, player names and avatar colors, board-game titles, player limits, rules, selected cover photographs, active turns and scores, and completed game results locally on your iPhone. A local pending-change queue supports offline use. The app creates a random installation secret in the device Keychain; it is not an account, password or email address. If you enable synchronization, game titles, rules, player limits, selected cover images and completed results (including participant names, colors, scores and dates) are sent to our backend. The active game, permanent roster and group profile are not synchronized. The backend stores a SHA-256 digest of the installation secret as an authorization namespace, rather than storing the secret itself. Railway receives network requests, including IP addresses and technical connection information, when you synchronize or visit this public website. The application has no analytics, advertising or tracking SDK.

How we use information

Local data is used to organize your table, display game rules offline, follow turns, measure elapsed time, edit scores and preserve completed results. Optional server storage keeps the game collection and completed history for this installation. The installation secret authorizes access only to that installation’s records. A pending server-deletion request may be sent even when ordinary synchronization is disabled, so that Reset all data can remove previously synchronized records. Technical processing supports service delivery, reliability and security. The published contact email is for privacy enquiries only; the app does not provide email delivery or a support-ticket system.

Service providers and sharing

The backend and this public website are hosted by Railway. Railway processes the transmitted data and technical network information as hosting infrastructure. Backend application logs contain startup, shutdown and generic failure messages; the code does not log request bodies, installation headers or submitted names and rules. Railway may maintain infrastructure and request logs under its own service practices. Apple supplies the operating system, Keychain, system photo picker and local notification service. There are no remote push notifications, third-party analytics, advertising recipients or public sharing of your private game records. We do not sell your data. Disclosure may occur where legally required.

Data retention

Local records remain until you edit or delete them, use Reset all data, or remove the app’s local storage. Pending changes remain locally until sent successfully or superseded by a reset. Synchronized records remain in the live server database until you delete the corresponding games or results or successfully reset the installation. Deleting a game does not delete historical results that refer to it. The installation secret remains in device-only Keychain after a reset; operating-system behavior may preserve Keychain entries after app removal. This implementation has no application-level backup schedule. Device backups may include local app data according to your iPhone backup settings. Infrastructure logs and any provider-managed backup copies follow their applicable provider practices; we do not assert a fixed retention duration for them.

Deleting your information

You can delete games, players and completed results individually using their list actions, or choose Reset all data in Settings and confirm twice. Reset clears the group, roster, collection, active game and history locally and durably queues deletion of all records belonging to the installation on the backend. If offline, keep the app installed and reconnect so the deletion request can complete; removing the app before sending it cannot erase server records. Live database deletion does not guarantee immediate erasure from storage remnants, operating-system backups, infrastructure logs or any provider backup copy. You can manage device backups through iPhone settings. If the installation secret is lost, there is no login recovery or reliable way to identify and authorize access to the associated server namespace using a name alone.

Permissions and your choices

The system photo picker lets you choose individual photographs for game covers without granting the app general access to your photo library. Selected images are resized and stored as JPEG cover data; if synchronization is enabled, those selected covers are uploaded. Remove a cover in the game editor or delete the game to stop retaining it in the live collection. Notification permission is requested only when you enable background turn reminders. Notifications are scheduled locally and contain the current player name; iPhone notification previews may display it. You can disable reminders in the app or withdraw notification permission in iPhone Settings. The elapsed timer works without notification permission. No location, contacts, microphone or camera permission is requested.

Your privacy rights

You can review and edit your local records and control optional synchronization in the app. Depending on your jurisdiction, you may have rights to access, correct or delete personal information, restrict processing, object, or complain to your local data protection authority. For privacy questions or to exercise applicable rights, contact pryderi.casterley@icloud.com. Do not email your installation secret. Because there are no accounts and authorization is installation-scoped, verification of a request may be necessary, and we may be unable to locate or authorize access to an installation after its secret is lost.

Security

The app generates its installation secret using the operating system’s cryptographic random source and stores it in device-only Keychain. Private API calls use HTTPS and an installation-secret header; the server hashes that secret and scopes database reads and writes by its digest. Records use parameterized SQLite queries, input validation and bounded request bodies. Local snapshots are written atomically with iOS file protection after first device unlock. Anyone possessing an installation secret can access that installation’s server records, so it must remain private. These measures reduce risk but cannot guarantee absolute security or recovery from device loss or infrastructure failures.

Children’s privacy

This app is intended for tabletop groups aged 16 and older and is not designed specifically for children. We do not ask for dates of birth or knowingly solicit children’s personal information. Avoid entering sensitive information in player names, rules or cover images. If you believe a child’s personal information has been submitted, contact pryderi.casterley@icloud.com so we can consider an appropriate request, subject to installation authorization and applicable law.

Changes to this policy

We may update this policy when the app’s actual processing or hosting practices change. The effective date shown on this page identifies the current version. Material changes will be reflected in an updated policy accessible from the app’s Settings. Review this page periodically; contact pryderi.casterley@icloud.com if you have questions.