
Privacy.
Effective date: October 14, 2026
Operator: Jalen Perez ("we", "us")
Contact: support@mysneakercollection.app
MySneakerCollection ("MSC", the "app") is an iOS app for cataloguing a sneaker collection. This policy explains what the app collects, why, where it goes and how to remove it. It describes the app as built; it does not describe anything the app does not do.
1. What we collect and why
| Data | Why | Where it is stored |
|---|---|---|
| Account: email address and a password you choose | To create and sign in to your account | Supabase (our backend provider), in the project's hosted database and authentication service |
| Profile: display name, username, default shoe size, an optional profile photo, collection visibility (public or private) | To show your profile to you and, if you choose "public", to friends and other members | Supabase; the profile photo is stored in a public image bucket so friends' apps can load it |
| Collection: the pairs you save (catalog identity, size, condition, purchase price and date, notes, wear log, outfits, custom values) | The purpose of the app | Supabase |
| Photos you submit for identification | To identify a pair from a photo. The photo is sent to our AI gateway, which forwards it to OpenAI's API to produce a description; the resulting search terms go to our catalog provider to find matches | The photo is not stored by us and is sent to OpenAI with storage disabled (`store: false`), so OpenAI does not retain it beyond its abuse-monitoring window. The gateway keeps a record of the request (your account id, time, model, token counts, cost estimate, a hash of the image; never the image) and caches the structured answer, keyed by that hash, for up to 7 days |
| Descriptions you type for Quick Add | To find catalog matches. The text is sent to our AI gateway and to OpenAI's API, with storage disabled | As above; the answer is cached by a hash of the text for up to 1 hour (24 hours for a descriptive search); the text itself is not stored |
| Style-code scans | A box label is read on your phone by the camera; the code is searched in the catalog | Nothing is uploaded except the search |
| Purchase data (MSC Plus) | To grant and verify your subscription | Apple processes the payment. RevenueCat, our subscription service, receives the App Store receipt and your MSC account id as its app user id, and sends us the subscription status. We store the status (active, plan, expiry, trial or paid, environment, the trial's start), never your payment details |
| Usage records for AI features | To enforce per-account allowances and the shared budget, and to show the operator aggregate usage and cost | Supabase, as described above |
| Friends: the friends you add and their collections where public | The social features | Supabase. Friends never see your purchase prices, spend, profit or purchase dates |
We do not collect precise location, contacts, advertising identifiers or analytics about how you use the app. The app contains no advertising or analytics SDK.
2. Camera and photo library
The app asks for camera access to photograph a pair or scan a box label, and for photo-library access to pick existing photos. Photos are used only for the action you chose (identify, scan, set a profile photo or attach to an outfit) and are not uploaded except as described in section 1.
3. Third parties that receive data
| Provider | What they receive | Their role |
|---|---|---|
| Supabase | Everything in section 1 that is stored | Hosting, database, authentication, file storage, server functions |
| OpenAI | Photos and descriptions you submit to the AI features, via our gateway; never your email or account id | AI identification. Requests go through our server; the app holds no OpenAI key |
| KicksDB | The catalog search terms produced from your input, and product identifiers for price lookups; never your account | Sneaker catalog and market prices |
| RevenueCat | App Store receipts and an app user id tied to your account; subscription status | Subscription management |
| Apple | Your App Store purchase, under Apple's own privacy policy | Payment and the App Store |
Product images shown in the app are loaded from the catalog provider and from public brand or marketplace image URLs; loading an image sends your device's IP address to that host, as with any web image.
4. Where data is processed
Our backend is hosted by Supabase in the United States (AWS us-east-1, N. Virginia). OpenAI, KicksDB and RevenueCat process requests on their own infrastructure, which may be outside your country.
5. How long we keep data
Your account, profile and collection are kept until you delete your account. AI request records are kept for operating the service and its allowances; cached AI answers expire automatically after their configured time. Subscription status records are kept while the account exists.
6. Deleting your account and data
In the app: Settings → Delete Account. This permanently deletes your sign-in account, your profile row and every pair you saved; the wear log, outfits and condition history attached to those pairs are deleted with them, and the subscription status and AI usage records tied to your account id are removed by database rules. Two things are not removed today and are on our list to fix: a profile photo file you uploaded stays in storage until we purge it, and the rows that recorded friendships with your account remain (without your profile, they show nothing). Purchase records held by Apple and RevenueCat are governed by their policies; an active subscription must be cancelled in your Apple ID settings, since deleting the account does not cancel billing with Apple.
You can also write to support@mysneakercollection.app to ask for deletion or for a copy of your data.
7. Children
The app is not directed to children under 13 (or the minimum age in your country), and we do not knowingly collect their data.
8. Security
Data travels over HTTPS. Access to the backend is restricted by per-account policies; AI and store credentials live only on the server.
9. Changes
We will post changes here with a new effective date. Material changes will be mentioned in the app.
10. Contact
Jalen Perez, support@mysneakercollection.app