Privacy Policy
Impact Table Tennis
This policy explains how this application handles information and how to contact us about privacy.
Information we process
Impact Table Tennis stores training dates, durations, selected exercises and notes, opponent names, set scores and venue addresses, equipment names and ratings, purchase dates, optional photos and reminder dates, and exercise progress in a local SwiftData diary on your iPhone. Your player name, club and playing style remain local and are not uploaded by the app. A random installation secret is stored in the iOS Keychain; the server stores its SHA-256 hash rather than the secret. When automatic synchronization is enabled, diary records, equipment photos and exercise progress are sent to our PostgreSQL database on Railway. No user account is created. Public website and API requests necessarily reach Railway infrastructure, which may process IP addresses, request paths, timestamps and connection or operational information. The service records safe error request identifiers and startup/database errors, without logging diary contents or installation secrets. We do not add advertising, analytics or third-party sign-in SDKs.
How we use information
Local information enables the training diary, match results, derived statistics, exercise mastery, equipment catalogue and text export. Optional equipment photos identify your own items. Local notifications provide replacement reminders you choose. Synchronization keeps an installation-specific server snapshot and retries local changes after network interruption. The installation secret authorizes access to that installation only. Operational processing supports delivery, security and troubleshooting of the website, API and database. We do not use the data for advertising or sell it.
Service providers and sharing
Railway hosts the HTTP service and PostgreSQL database and processes requests as infrastructure provider. Apple iOS supplies the local Keychain, photo picker, camera and notification services used on your device. The app does not send notification contents through a third-party messaging provider. A text export is written to the destination you choose through the system file interface; any sharing or cloud destination you select is under your control. We have no other application analytics, advertising, CRM or email-delivery recipients. Hosting providers may retain infrastructure logs under their own operational practices; we have not established a fixed provider log or backup retention period.
Data retention
Local records remain until you edit or delete them, erase the diary in Profile, or the operating system removes app storage. The installation secret may remain in Keychain across reinstallations and is not a promise of recovery. Server records retain the latest synchronized snapshot until replaced or deletion is received. There is no automatic expiry configured for these diary records. Disabling synchronization stops new transfers but does not delete previously synchronized data. We do not set or promise a fixed retention period for Railway infrastructure logs or provider backups. Deleted database records may remain temporarily in infrastructure backups or logs according to provider operations and are not used by the app as active diary data.
Deleting your information
Profile provides Delete all my data. It clears local diary records and pending local reminders, and sends an installation-authorized DELETE request for the corresponding server records. If the device is offline, a deletion marker is stored locally and retried when connectivity returns, even when automatic synchronization is disabled; newer uploads wait for that deletion. Keep the app and its installation secret available until the server deletion can be delivered. Deleting the app alone does not send a server deletion request. We cannot locate or recover an installation snapshot using an email account because the app has no accounts and cannot promise recovery after loss of the secret. For questions about deletion, contact jorybeckett@icloud.com. Infrastructure backup and log copies are subject to the provider treatment explained in retention.
Permissions and your choices
Camera access is requested only when you choose to photograph equipment. The system photo picker grants access only to selected images rather than requiring full photo-library access. Local notification permission is requested when you save a replacement reminder. You can refuse these permissions and continue using the diary, or withdraw camera and notification permission in iPhone Settings. Remove an equipment photo or disable its reminder within the app to remove the related active content or scheduled notification. No location, contacts, microphone or tracking permission is requested. Text addresses do not use a map or location service.
Your privacy rights
You can inspect and correct records within the app, export a readable text file, disable synchronization, and request deletion through Profile. Depending on the law applicable to you, you may also have rights to access, correction, deletion, restriction, objection or portability, and to complain to your local data protection authority. Contact the privacy owner at jorybeckett@icloud.com with privacy questions or requests. Do not email your installation secret or sensitive diary content. We may need sufficient non-secret information to understand a request; an email address is not linked to an installation by the app.
Security
The app communicates with the deployed service over HTTPS. Installation secrets are generated with the system secure random generator and stored in Keychain with device-only accessibility. The server checks the secret format, derives a SHA-256 installation hash and restricts all private reads, replacements and deletion to that hash. Database credentials stay on the server. Requests are validated, bounded and rate-limited; snapshot changes are transactional. These measures reduce risk but no system can guarantee absolute security. Anyone who obtains an installation secret could access its snapshot, so the secret must remain private.
Children’s privacy
Impact Table Tennis is intended for amateur and club players aged 14 and older, and is not directed to children under 14. We do not intentionally solicit information from younger children. A parent or guardian who believes a younger child has supplied data can use the in-app deletion control on the relevant device or contact jorybeckett@icloud.com for guidance. Do not include unnecessary personal information about children or opponents in notes or photos.
Changes to this policy
We will update this policy when actual app or backend processing changes. The effective date at the top identifies the current published version. The policy remains publicly available at /privacy and is linked in the app Profile. Review it when updating the app; material changes will be described in the updated policy. Privacy questions may be sent to jorybeckett@icloud.com.