Appearance
Privacy Policy
SewSnap: Singer Serial Number
Last updated: May 17, 2026
1. Introduction
This Privacy Policy describes how Reply200 ("we", "us", or "our") handles information in connection with the SewSnap: Singer Serial Number mobile application ("the App"). We are committed to protecting your privacy and being transparent about our practices.
- Developer: Reply200
- Bundle ID: com.reply200.sewsnap
- Platform: iOS 26.0+
2. Information We Collect
We do not collect any personally identifying information. The App is designed to operate primarily on your device. The data we receive is a small set of non-identifying analytics events, optional scan photographs used to improve identification (opt-in by default, opt-out in Settings), and the network calls required to identify non-Singer machines. Each category is described in Sections 6 and 7.
| Category | Collected? | Details |
|---|---|---|
| Personal identifiers | No | No name, email, phone number, or account required |
| Usage data | Limited, non-identifying | Google Analytics 4 events (installs, opens, identifications, paid conversions). See Section 6. |
| Photographs of sewing machines | Opt-in, anonymous-linked | Camera scans may be uploaded to our research storage to improve identification accuracy. Default ON, toggle off in Settings > Share scans. See Section 7. |
| Identification queries | Per-scan | When you scan a non-Singer machine, the photo is sent to Google's Gemini API for identification. See Section 7. |
| Health & fitness data | None | The App does not collect health or fitness data |
| Location data | No | The App does not request or use your location |
| Device identifiers | Per-install UUID + anonymous UID | App-generated random UUID for analytics; a separate Firebase anonymous UID is used for opt-in scan uploads. No IDFA, IDFV, or fingerprinting. See Sections 6 and 7. |
| Marketing attribution | Limited | Apple Search Ads attribution token retrieved via AdServices on first launch. See Section 6. |
3. Network Requests
The App makes network requests for the following purposes:
- Singer serial-number lookups are computed entirely on your device against a bundled production-record dataset. No network call is made for Singer identifications.
- Non-Singer identifications send the photograph you captured to Google's Gemini API so the machine can be identified. Identification results are cached on your device, keyed by brand and model, so re-identifying the same model later does not trigger another network call.
- In-app purchases. Apple's StoreKit framework communicates with the App Store when you complete a purchase or tap "Restore Purchases". Those requests are handled by Apple, not by us.
- Analytics. Non-identifying app events are sent via the Google Analytics 4 Measurement Protocol. See Section 6.
- Marketing attribution. On first launch the App asks Apple's AdServices framework whether the install can be attributed to an Apple Search Ads campaign and forwards the resulting token, if any, to GA4. See Section 6.
- Scan uploads (opt-in). If "Share scans" is enabled in Settings, scan photographs and the corresponding identification results are uploaded to our Firebase Storage research bucket. The upload is linked only to an anonymous Firebase UID generated on your device. See Section 7.
4. On-Device Data
The App stores the following data locally on your device only, using standard iOS storage (SwiftData and UserDefaults):
- Identified machines — brand, model family, serial, year, factory, value snapshots, and your notes
- Recent searches — a 50-entry history of model names you've searched
- Scan artifacts (opt-in only) — photographs you captured for identification, and the corresponding Gemini response, queued for upload only while "Share scans" is enabled. Stored under
Documents/scan_artifacts/. Opt-out installs do not write scan photographs to disk at all. - Preferences — share-scans toggle, daily-cap counters, scan quota, dark-mode behaviour
- Purchase status — whether SewSnap Annual or Lifetime has been unlocked, verified through Apple's StoreKit framework
This data never leaves your device except through the explicit pathways described in Sections 3, 6, and 7. We have no ability to access, read, or retrieve your on-device collection.
5. In-App Purchases
The App offers the following in-app purchases, all processed entirely by Apple through the App Store:
- SewSnap Annual — $29.99 USD per year, auto-renewing subscription
- SewSnap Lifetime — $79.99 USD, one-time
We do not receive, process, or store any payment details — including credit card numbers, billing addresses, or Apple ID credentials. All purchase, subscription, and restore operations are handled by Apple's StoreKit 2 framework. Apple's privacy practices govern these transactions: apple.com/legal/privacy.
You can manage or cancel the Annual subscription at any time in the App Store > Subscriptions section of your iOS Settings. Cancelling a subscription does not remove your collection, which remains on your device.
6. Analytics and Marketing Attribution
To understand how the App is used and to measure the effectiveness of our advertising, the App sends a limited amount of non-identifying data to the services listed below. We use this data for product and marketing analytics only. We never link it to your Apple ID, email, name, or any other personally identifying information.
- Google Analytics 4 (GA4) via Measurement Protocol v2. A small set of app events (such as installs, opens, first identification, paywall views, and paid conversions) is sent directly via HTTPS to GA4 property
properties/537739018. We do not embed the Firebase Analytics SDK for these events. Google's handling of this data is governed by its own privacy policy: policies.google.com/privacy. - Apple Search Ads attribution via AdServices. On first launch the App asks Apple's AdServices framework whether the install can be attributed to an Apple Search Ads campaign. The resulting attribution token, if any, is forwarded to GA4 alongside the install event so we can measure ad effectiveness. The token does not identify you. Apple's privacy practices govern this token: apple.com/legal/privacy.
- Per-install UUID. On first launch the App generates a random UUID, which is stored on your device and included with the analytics events above so GA4 can deduplicate sessions from the same installation. It is not your Apple ID, IDFA, IDFV, or any system-issued identifier, and it is reset whenever you reinstall the App.
- Purchase events. When you complete an in-app purchase, the App sends the Apple transaction identifier and the purchase amount (net of Apple's commission) to GA4 so we can measure paid conversions. No payment-method details are involved; payment is handled exclusively by Apple's StoreKit framework as described in Section 5.
7. Identification and Scan-Sharing Services
The App uses two distinct external services for machine identification. Both are described here so you understand exactly what leaves your device.
7A. Google Gemini API — non-Singer identifications
When you scan a non-Singer machine, the photograph you captured is sent over HTTPS to Google's Gemini 2.5 Flash model (generativelanguage.googleapis.com) so the brand, model family, and decade can be identified. The response is cached on your device, keyed by brand and model, so subsequent scans of the same model do not trigger another network call.
We do not send your name, email, identifiers, or any device metadata alongside the photograph. Google's handling of the request is governed by Google's API terms and privacy policy: policies.google.com/privacy.
Singer machines manufactured between 1900 and 1971 are identified entirely on your device against the bundled ISMACS production-record dataset. No photograph is sent to any third party for Singer lookups in that range.
7B. Scan-sharing (opt-in) — research uploads to our Firebase Storage bucket
To improve identification accuracy for users who haven't yet identified the machines in your photographs, the App can upload your scan photographs and the corresponding Gemini identification result to our Firebase Storage research bucket.
- Default state. "Share scans" is on by default for fresh installs. You can turn it off at any time in Settings > Share scans. When it is off, scan photographs are not written to disk and nothing is uploaded.
- What is uploaded. A JPEG of the photograph, the Gemini response (JSON), the on-device image-quality metrics (sharpness and luminance), your confirmation or correction of the identification, and a per-scan ID. Each upload is associated with a Firebase anonymous UID generated on your device the first time scan-sharing runs.
- What is not uploaded. Your name, email, Apple ID, IDFA, IDFV, location, collection, notes, or purchase status. No personally identifying information is attached to the upload. The anonymous UID cannot be linked back to you by us.
- How we use it. Photographs are used to evaluate identification accuracy and to improve our identification pipeline. They are not sold, shared with advertisers, or used to identify you.
- How to delete past uploads. Turning off "Share scans" stops new uploads immediately. To request removal of photographs already uploaded under your anonymous UID, email support@reply200.com with the UID shown in Settings > Share scans.
Firebase Storage is operated by Google. Google's handling of the data is governed by its own privacy policy: policies.google.com/privacy.
8. Children's Privacy
Because the App does not collect personal data from any user, it complies with the Children's Online Privacy Protection Act (COPPA) and similar regulations. We do not knowingly collect personal information from children under the age of 13 or any other age group.
9. Data Sharing and Disclosure
We do not sell, rent, or commercially share any data about you. The limited, non-identifying analytics and attribution data described in Section 6 is shared only with Google (as our analytics processor) and Apple (for Search Ads attribution). The identification photographs described in Section 7 are shared only with Google (Gemini for identification, Firebase Storage for opt-in research uploads). All sharing is used solely for the purposes described in this Policy. We do not disclose any other data to third parties.
10. Data Retention
- On-device data resides on your device. Uninstalling the App removes all associated data, including any locally cached scan artifacts. We retain nothing on our end.
- Analytics data sent to GA4 is retained per the GA4 retention setting for the property, currently 14 months.
- Research scan uploads are retained in our Firebase Storage bucket indefinitely while we improve the identification pipeline. Email support@reply200.com with your anonymous UID to request removal.
11. Your Rights
Since no personal data is collected or stored by us, there is no personal data to access, correct, or delete on our systems. You can clear the App's local data at any time by uninstalling it or using iOS Settings > General > iPhone Storage. To turn off scan-sharing or request removal of previously uploaded research photographs, see Section 7B.
If you are located in the European Economic Area (EEA), California, or another jurisdiction with data protection laws, your rights under GDPR, CCPA, or equivalent legislation are fully respected by our minimal-collection design.
12. Changes to This Policy
We may update this Privacy Policy from time to time. Any changes will be posted on this page with a revised "Last updated" date. Continued use of the App after changes constitutes acceptance of the updated policy.
13. Contact Us
If you have questions or concerns about this Privacy Policy:
- Chat: Contact Support
- Email: support@reply200.com