Privacy policy

Effective: September 17, 2026

Your account, your data

Your records in AceCrush Craft (grip size measurements, racket profiles, restring logs, and the photos you take for measurement) live in your own Supabase account. Only you can see them, and AceCrush does not run any extra backend on top of it: the Supabase project IS where your data is stored. Your device keeps a local copy too, so the app keeps working offline.

Sync across every device you sign in to

Sign in with the same Supabase account on another device (Android today, iOS in TestFlight beta, desktop later) and your records show up there too. Sign out on a device and its local copy gets cleared the next time it syncs.

Permissions

Camera (android.permission.CAMERA): used only on the AI measurement screen. Revoke in system settings to disable.
Notifications (android.permission.POST_NOTIFICATIONS): used only for restring expiry reminders. Disable in system settings.

Camera and AI measurement

When you take a measurement photo, the app processes it on-device with MediaPipe HandLandmarker. If your hardware cannot keep up, the photo is sent once to our server-side OpenCV plus MediaPipe pipeline. Either way, the result and the photo itself are then saved to your Supabase Storage bucket, scoped per user. We do not retain the photo on the server after it lands in your bucket.

Third-party services

Your login and your data are handled by Supabase (supabase.com). We do not run any other backend on top of it. The app also uses these open source libraries locally: Flutter, drift, flutter_local_notifications, url_launcher, opencv_dart, MediaPipe Tasks Vision. None of them send data anywhere.

Updates and contact

Policy updates ship with new app releases and are reflected both in the in-app Settings - Privacy policy screen and on this page. Questions: acecrushdev@gmail.com.