Privacy Policy
KnitSnap (the "App") respects your privacy. This Privacy Policy explains what information the App processes and how.
1. Information We Collect
The App itself does not directly collect any personal information. It does not require account registration or login, and does not request or collect personally identifiable information such as names, email addresses, phone numbers, or location data. However, third-party SDKs used for advertising and in-app purchases may process certain identifiers — see §4 for details.
2. On-Device Data Storage
All data generated in the App is stored exclusively on your device and is not transmitted to any external server or third party.
- Project information (project name, needle type, pattern, yarn details, etc.) entered by you is stored in iOS SwiftData, a local database on your device.
- Photos taken or composed in the App are saved to the iOS Photos app. The App only references those photos by their local asset identifiers.
3. Permissions
The App requests the following device permissions to provide its features. Data accessed via these permissions is not transmitted outside the App.
- Camera: Used to take photos of your knitting progress. Photos are saved only when you choose to save them.
- Photo Library (Read): Used to import existing photos and display photos linked to your projects.
- Photo Library (Write): Used to save composed photos with overlays to your iOS Photos library.
You can change permission settings at any time in iOS Settings > KnitSnap.
4. Third-Party Libraries and External Transmission
The App does not transmit any project data you enter to external servers and does not share or sell such data with third parties. It does not include any analytics or crash-reporting SDKs. However, the App uses the following third-party SDKs to display advertising and process in-app purchases.
4-1. Advertising (Google AdMob)
- Banner advertisements are displayed at the bottom of the following screens: the home screen, the project detail screen, and the all-photos screen.
- Additionally, a rewarded advertisement is available in the "Support the Developer" section of the Settings screen. It is never shown automatically — the user must explicitly tap the watch button to start it.
- Ads are served via Google's Google Mobile Ads SDK. To measure impressions and clicks, certain device identifiers — including the Identifier for Advertisers (IDFA) — may be transmitted to Google.
- To optimize ad pricing, Google AdMob's partner bidding (Bidding) networks are enabled. As a result, advertising identifiers may also be transmitted to third-party ad networks such as Meta Audience Network, Unity Ads, AppLovin, Pangle (TikTok), Mintegral, and Liftoff. Refer to each network's own privacy policy for details on their data handling.
- On iOS 14.5 and later, the App presents the App Tracking Transparency (ATT) prompt before showing the first ad. If you decline, the IDFA is not transmitted and ads are served in a non-personalized form. You can change your choice at any time in iOS Settings > KnitSnap > "Allow Tracking".
- For Google's data handling, see the Google Privacy Policy.
- Users who purchase the "Remove Ads" in-app purchase will not see banner advertisements, and the advertising SDK will not be called for banners. (The rewarded ad is an opt-in support feature initiated explicitly by the user, so it remains technically available regardless of purchase status. However, the support section itself is hidden from users who have purchased Remove Ads.)
4-2. In-App Purchases (Apple App Store)
- The "Remove Ads" feature is a Non-Consumable in-app purchase (IAP) available once via the Apple App Store.
- Payment processing is handled entirely by the Apple App Store and StoreKit. The App does not collect or store payment information such as credit card numbers or billing addresses.
- The App only verifies Apple-issued transaction identifiers to determine purchase status. All other payment-related personal information is handled by Apple.
- For Apple's data handling, see the Apple Privacy Policy.
4-3. Analytics and Crash Reporting (Google Firebase)
- To improve app stability and analyze usage, the App uses Google Firebase services. Content you enter directly (project names, patterns, notes, photos) is never transmitted to Firebase.
- Firebase Crashlytics: When the app crashes, technical information such as the stack trace, device model, OS version, and app version is automatically collected and transmitted to Google. This helps the developer identify and fix crash causes.
- Firebase Analytics: Based on an anonymous App Instance ID (IID), screen transitions, counts of key actions (project creation, photo addition, Remove Ads purchase, etc.), and session statistics are collected and transmitted to Google. This helps identify which features are used most and informs app improvements.
- Firebase Analytics operates on an anonymous instance-ID basis regardless of ATT consent. Only when ATT consent is granted may the Identifier for Advertisers (IDFA) be additionally associated.
- For Firebase's data handling, see Firebase Privacy and Security.
5. Data Deletion
You can delete your data at any time by the following means:
- Use "Reset Data" in the App settings to delete all project data.
- Deleting the App from iOS removes all project data stored by the App.
- Photos saved to the iOS Photos app can be deleted directly from the Photos app.
6. Children's Privacy
The App does not knowingly collect personal information from children under 13. Because the App does not collect personal information at all, it can be used safely regardless of age.
7. Changes to This Policy
If this Privacy Policy changes, updates will be posted on this page. For significant changes, we will also notify you through the App's in-app notices.
8. Contact
If you have questions about this Privacy Policy, please contact us:
- Email: jstitchlab.dev@gmail.com