1. Who is responsible
FitFind is provided by Carlo Maryska (“we”, “us”). For questions about this policy or your personal data, contact hello@carlomaryska.com.
If you are in the European Economic Area (EEA), the United Kingdom, or Switzerland, Carlo Maryska is the data controller for personal data processed through FitFind, to the extent the GDPR, UK GDPR, or equivalent law applies. No data protection officer is appointed.
2. Photos, camera & scans
When you scan a look, FitFind sends the selected photo or video frame to our backend (hosted on Supabase) so the outfit can be analysed. Photos may include people. We process them to detect garments and find product matches, not to identify who is in the picture and not for facial recognition.
You can choose an image from the Photo Library or, if you enable it, take a photo with the camera. The Share extension can hand FitFind an image or a link from another app via a private App Group on your device.
To run a scan, the backend:
- Sends the image to Google Gemini to detect garments and layout.
- Uploads a crop to SerpApi so Google Lens can return visual product matches.
- May fetch public product pages to read price or stock status. Some of that fetch happens on your device in a non-persistent browser view.
We do not keep a cloud gallery of your outfits. Successful match results may be cached for about 30 days under a hash of the image, so the same photo does not have to be searched again. Scan sessions used to meter credits expire and are cleaned up shortly afterwards.
3. Social posts (TikTok & Instagram)
If you paste or share a public TikTok or Instagram link, FitFind fetches the post so you can pick a frame. That request goes through our servers and a social-post lookup provider (currently ScrapeCreators), and may include public captions, on-image credits, and comments used to improve matches. Only use links you are allowed to submit. Private or login-walled posts cannot be scanned reliably.
4. Accounts
You can try one complimentary scan on a physical device. After that, a FitFind account is required. Sign in uses Sign in with Apple or Google, through Supabase Auth. We receive an account ID and, depending on the provider, an email address and display name. Session tokens are stored in the iOS Keychain on your device.
There is no separate FitFind password. Google sign-in opens Apple’s in-app browser against Google / Supabase. Apple may hide your email behind a relay address if you choose Hide My Email.
5. What stays on your iPhone
- Saved outfits (thumbnails, piece names, shop links, optional social URL) in the app’s local files — not iCloud sync.
- Appearance, haptics, camera, and onboarding flags in UserDefaults.
- The free-tryout flag in the Keychain, so deleting the app does not reset the complimentary scan.
- Shared inbox items from the Share extension, in the FitFind App Group.
6. Free tryout & DeviceCheck
The complimentary scan is limited to one use per physical device. FitFind uses Apple’s DeviceCheck API for that. Apple can store a small per-device bit; FitFind stores a hash of the DeviceCheck token with a short-lived tryout session so the same device cannot repeat the free scan by deleting the app or creating a new account.
7. Subscriptions, credits & feedback
Paid access is sold as an App Store subscription or extra credit packs. Apple processes payment. FitFind uses RevenueCat to attach subscription status to your FitFind account ID. We do not receive your full payment card details.
Credit balances live on our servers (Supabase) so they work across devices. One credit is used per photo or social scan. Optional scan feedback (thumbs up/down, reason tags, and for a down-vote the product URL) is stored so we can refund a capped number of credits and improve results.
RevenueCat also notifies our servers when a purchase or renewal occurs, so the credit wallet stays in sync.
8. What we do not collect
- We do not sell or rent your personal data.
- We do not use advertising networks, IDFA, or cross-app tracking.
- We do not run a separate product-analytics SDK (for example PostHog).
- We do not use photos to build a biometric identity of you.
9. Who we share data with
We share data only as needed to provide the service:
- Apple: App Store / In-App Purchase, Sign in with Apple, DeviceCheck, and (if you enable it) Apple’s crash reporting. See Apple’s privacy policy.
- Supabase: authentication, edge functions, and databases for accounts, credits, scan sessions, and caches.
- Google: Gemini (garment analysis) and, if you choose Google sign-in, Google Identity. Visual search uses Google Lens via SerpApi. See Google’s privacy policy.
- SerpApi: image upload and Google Lens / Google results for product matching. See SerpApi’s legal terms.
- ScrapeCreators: public TikTok and Instagram post lookup when you submit a social link.
- RevenueCat: subscription status and entitlements. See RevenueCat’s privacy policy.
- Online shops: when a match is opened, you leave FitFind and that shop’s own privacy policy applies. FitFind may load a product page on-device to read price or availability.
These providers may process data in the United States or other countries. Transfers rely on their terms and applicable safeguards (including standard contractual clauses where required).
10. Legal bases (GDPR)
- Contract (Art. 6(1)(b)): running scans you request, returning product matches, keeping your account, subscription, and credit wallet.
- Consent (Art. 6(1)(a)): camera access, Photo Library picks, and social links you choose to submit. You can refuse the camera and still pick a library photo.
- Legitimate interests (Art. 6(1)(f)): preventing abuse of the free tryout and paid credits (DeviceCheck, rate limits), a short product-match cache, optional scan feedback, and answering support or privacy requests.
We do not use automated decision-making that produces legal or similarly significant effects (Art. 22 GDPR). Product matches are search results, not a credit, employment, or similar decision about you.
11. Your rights
Depending on where you live, you may access, rectify, erase, restrict, or object to certain processing, and request data portability. You may withdraw consent (for example by turning off camera access) and lodge a complaint with a supervisory authority — in Germany, typically your state data protection authority or the BfDI.
In the app you can delete Saves, sign out, or use Delete account. Delete account removes your FitFind login and the Saves on that iPhone. Your Apple subscription and remaining credits stay with your Apple ID until you cancel in iOS Settings. The device tryout flag is kept so the complimentary scan cannot be reused. For access or erasure of residual server records (wallet, feedback) email hello@carlomaryska.com.
12. Retention
- Scan images are processed to return results. We do not operate a user photo library in the cloud.
- Product-match cache expires after about 30 days (hashed key, not a browseable album).
- Scan sessions used for credit metering are short-lived and cleaned up after expiry.
- Account, wallet, and scan feedback remain while the account is active and as needed for billing. After deletion, ask us to erase what we can still link to you.
- On-device Saves remain until you delete them, delete the account, or remove the app.
- DeviceCheck / tryout is kept as long as needed to enforce one complimentary scan per device.
13. Children
FitFind is not directed at children. In the EEA the age for valid consent is generally 16 (member states may set 13–16). We do not knowingly collect personal information from children below the applicable age.
14. Changes
We may update this policy as the app evolves. Material changes will be shown here with a new date at the top.
15. Contact
Questions about privacy: hello@carlomaryska.com.