Affiner — Privacy Policy
Last updated: 17 August 2026
Affiner (“the app,” “we,” “us”) is a pool-practice tracking app for iPhone. This policy explains what the app collects, why, and the choices you have. Questions: policy@affiner.app.
The short version
- We collect only what the app needs to save your practice and sync it across your devices.
- We do not use analytics, crash-reporting or advertising SDKs, and we do not track you across other apps or websites.
- We do not sell your data or share it with anyone but the service providers named below.
What we collect
Account information. You can sign in two ways, and both create an account.
- Sign in with Apple. Apple gives us a unique account identifier and, if you allow it, your email address and name. Apple lets you hide your real email behind a private relay address; that choice is yours to make at sign-in.
- Email and password. We store your email address, and your password is stored only as a salted hash by our authentication provider — we never see or keep the password itself. Creating an account this way sends a confirmation email to the address you give us.
We use this only to create and secure your account.
Your practice data. The information you create in the app is saved on your device and, once you are signed in, copied to our backend so it survives a reinstall and appears on your other devices. Specifically:
- Drill attempts — which drill, when you did it, whether it succeeded, the score out of the total, and the seconds it took.
- Your profile — display name, nickname, home room, city, whether your account is marked as a coach, and your FargoRate rating and robustness if you enter them.
- Leagues — organisation, game, skill level, team, location and session.
- Match results — the type of match, the league it belongs to, the date, both scores, and the name and skill level of the opponent you type in. Please bear in mind that an opponent’s name is information about another person; only enter what you are comfortable storing.
- Equipment — the type, name and any link you add for each piece of gear.
Photos you attach. If you add a photo of your cue, chalk, table, or profile, that image is stored only in the app’s own data on your device. It is not uploaded to our servers in this version of the app, and no filename or path for it is sent either. Because it lives in the app’s data, it can be included in a backup you make of your own iPhone (iCloud Backup or a computer) — that copy is between you and Apple, and we have no access to it. The app asks for photo-library access solely so you can pick an image; it never reads your library otherwise.
Technical logs at our provider. Like any hosted service, our backend provider keeps short-lived operational logs of requests made to it, which can include your IP address, the time of the request and which endpoint was called. These exist to run and secure the service. We do not use them to build a profile of you and we do not combine them with your practice data.
What we do NOT collect
- No advertising identifiers (no IDFA), no ad networks.
- No third-party analytics or crash-reporting SDKs. The only third-party code in the app is the Supabase client library used to talk to our own backend.
- No location from your device. No location API is used anywhere in the app. “Home room” and “city” are free text you type. Apple’s privacy questionnaire classifies a named place as Coarse Location regardless of how it was obtained, so those two fields are declared under that heading in the App Store listing and in the app’s privacy manifest. That declaration is about Apple’s categories, not about GPS.
- No health or fitness data from Apple Health.
- No contacts, calendar, microphone or camera access.
Where your data is stored
Your synced data is stored with Supabase (Supabase, Inc.), our hosted database and authentication provider, on their cloud infrastructure. Depending on where you are, that may mean your data is transferred to and processed in another country. Every table is protected by row-level security, so your rows are readable only by your signed-in account.
This version of the app has no feature that publishes your profile or shares your data with another person.
Sign in with Apple is provided by Apple Inc., which handles that sign-in and the private-relay email option under its own privacy policy.
We share your data with no one else. We do not sell it, and we do not disclose it to advertisers or data brokers.
How long we keep it
We keep your data for as long as your account exists.
Deleting your account. You can delete your account from inside the app: Profile → Settings → Delete account. Confirming it permanently removes your account, your profile, your practice history, your leagues, matches and gear — from your phone and from our servers. It happens immediately and cannot be undone. If you would rather we did it, email policy@affiner.app from the address on the account and we will delete it within 30 days and confirm when it is done.
Deleting the app from your iPhone removes only the local copy; it does not delete the synced copy. Use the in-app deletion above, or email us.
Your choices and rights
- Email privacy: choose Apple’s private relay at sign-in to keep your real email hidden from us.
- Local-first: the app works offline; data lives on your device first and syncs when a connection is available. If you never sign in, nothing leaves your phone.
- Deletion: delete your account and all of its data from Profile → Settings → Delete account inside the app, at any time.
- Access and correction: most of your data is editable directly in the app. For a copy of it, or a correction we cannot make in the app, email policy@affiner.app. Depending on where you live you may have rights under laws such as the GDPR or the CCPA; we honour those requests regardless of where you live.
Children
Affiner is not directed to children under 13, and we do not knowingly collect data from them. If you believe a child has given us data, email us and we will delete it.
Changes to this policy
If this policy changes, we will update the date above and post the new version at this URL.
Contact
Chris Fecteau — policy@affiner.app