# Privacy Policy for SnapDeck
**Effective Date:** 2026-05-02
**Developer:** Muhammad Ilyas
**Contact:** muhammadilyas15@gmail.com
## 1. Introduction
SnapDeck ("we", "our", "the app") is an Android flashcard study app that lets you snap textbook pages and uses AI to turn them into source-anchored flashcards for spaced repetition review. This Privacy Policy explains how we collect, use, store, and protect your information when you use our mobile application.
By using SnapDeck, you agree to the collection and use of information as described in this policy.
## 2. Information We Collect
### 2.1 Information You Provide
- **Flashcards** — front (question) and back (answer) text you create directly or via AI generation
- **Decks** — names, optional descriptions, and tags for organising your cards
- **Review history** — your rating (Again/Hard/Good/Easy) and timing for each card review (used to schedule the next review via FSRS spaced repetition)
- **Page snapshots** — JPEG images captured via the in-app document scanner, stored locally on your device
- **Contact form submissions** — name, email, subject, and message when you contact us through the app
### 2.2 Information Collected Automatically
- **Device information** (manufacturer, model, OS version) — attached to crash reports and contact-form submissions for diagnosis
- **App usage analytics** (screens visited, feature usage frequency) — used to improve the app
- **Advertising identifiers** — used by Google AdMob for ad personalization (free tier only)
- **Crash logs** — collected by Firebase Crashlytics when the app crashes
### 2.3 Information Sent to AI Service
- When you use the **Snap to flashcards** feature, the captured page image is sent to our secure proxy server (Cloudflare Worker) and forwarded to Google's Gemini API to generate flashcard text
- The image is downscaled (max 1600px long edge) and base64-encoded before transmission
- We do NOT send your decks, cards, review history, or any other personal data to the AI service — only the page image you explicitly chose to scan
- The AI service does not retain the image after generating flashcards (per Google's API terms)
## 3. How We Use Your Information
We use collected information to:
- Provide core app functionality (flashcard creation, review scheduling, source-page verification)
- Generate flashcards from your textbook page snapshots via the Gemini AI service
- Calculate and schedule spaced repetition intervals (FSRS algorithm)
- Send notifications and review reminders
- Display relevant advertisements (free tier)
- Improve app performance and fix crashes
- Process subscription and one-time purchase transactions
- Respond to your support inquiries
## 4. Data Storage and Security
### 4.1 Local Storage
- All your decks, cards, and review history are stored locally on your device in an SQLite database (Room)
- Page snapshots are stored in the app's private internal storage (`getFilesDir()/pages/`) — not accessible by other apps
- Preferences are stored locally in SharedPreferences
### 4.2 Cloud Storage
- SnapDeck does NOT store your flashcards, decks, review history, or page images on our servers
- The Gemini AI proxy receives a single page image per generation request and does not persist it after returning the generated cards
### 4.3 Security Measures
- All network communication uses HTTPS/TLS encryption
- AI requests are routed through our Cloudflare Worker proxy, which authenticates each request and rate-limits by app to prevent abuse
- No passwords, biometrics, or authentication credentials are collected by SnapDeck
## 5. Data Sharing
### 5.1 We Do NOT Sell Your Data
We do not sell, trade, or rent your personal information to third parties.
### 5.2 Third-Party Services
| Service | Purpose | Data Accessed | Privacy Policy |
|---------|---------|--------------|----------------|
| Google Gemini API (via our proxy) | AI flashcard generation | Page image you explicitly scan | [Google Privacy Policy](https://policies.google.com/privacy) |
| Google AdMob | Advertising (free tier) | Device ID, ad interactions | [Google Privacy Policy](https://policies.google.com/privacy) |
| Google ML Kit Document Scanner | In-app page capture | Camera access (via Play Services) | [Google Privacy Policy](https://policies.google.com/privacy) |
| Firebase Analytics | App improvement | Usage patterns, device info | [Firebase Privacy](https://firebase.google.com/support/privacy) |
| Firebase Crashlytics | Crash reporting | Crash logs, device state | [Firebase Privacy](https://firebase.google.com/support/privacy) |
| Google Play Billing | Subscription / purchase processing | Purchase history | [Google Privacy Policy](https://policies.google.com/privacy) |
| Google UMP (User Messaging Platform) | EEA consent for ad personalisation | Consent preferences | [Google Privacy Policy](https://policies.google.com/privacy) |
### 5.3 Ad Personalization
- Free tier users see advertisements served by Google AdMob
- AdMob may use device identifiers and usage data for ad personalization
- You can opt out of personalized ads through your device settings (Settings → Google → Ads)
- Premium subscribers see no advertisements
## 6. Photos and Page Snapshots
- Page snapshots are captured only when you explicitly tap "Snap to flashcards"
- The ML Kit Document Scanner runs in a separate Play Services process — SnapDeck does not request the CAMERA permission directly at the app level (granted within the Scanner UI)
- Captured pages are stored in the app's private internal storage on your device
- Pages are sent to our AI proxy ONLY at the moment of card generation, and never retained beyond that single request
- You can delete page snapshots at any time by deleting the associated deck or card from within the app
## 7. Children's Privacy
SnapDeck is not directed at children under the age of 13. We do not knowingly collect personal information from children under 13. If we discover that a child under 13 has provided us with personal information, we will delete it promptly.
## 8. Your Rights and Choices
### 8.1 Access and Control
- You can view all your decks, cards, and review history within the app at any time
- You can edit, delete, or rename any deck or card you created
- You can re-snap or replace source images at any time
### 8.2 Account and Data Deletion
- SnapDeck does NOT use accounts — there is no sign-in step
- All data is local; uninstalling the app removes everything (database + page snapshots + preferences)
- You can also delete individual decks, cards, or all data via the app's settings
### 8.3 Notifications
- You can disable notifications at any time through app Settings or device Settings
### 8.4 Ad Preferences
- Premium subscription removes all advertisements
- You can opt out of personalized ads via device settings (Settings → Google → Ads)
### 8.5 Crash Reports
- Firebase Crashlytics is enabled by default
- Future versions may expose an in-app opt-out toggle
## 9. GDPR Compliance (European Users)
If you are located in the European Economic Area (EEA), you have additional rights:
- **Right to access** — request a copy of your data (note: SnapDeck stores everything locally, you already have it)
- **Right to rectification** — edit your data directly in the app
- **Right to erasure** — uninstall to delete all data, or delete individual items
- **Right to restrict processing** — disable AI generation, ads, or notifications individually
- **Right to data portability** — export decks (planned feature)
- **Right to object** — object to data processing for marketing
The app uses Google's User Messaging Platform (UMP) to obtain consent for data processing and personalized advertising in compliance with GDPR.
To exercise any of these rights, contact us at muhammadilyas15@gmail.com.
## 10. Data Retention
- Local data is retained until you delete it or uninstall the app
- AI generation requests are not retained after the response is returned
- Analytics data is retained per Google's standard retention policies (14 months)
- Crash reports are retained for 90 days
## 11. Changes to This Policy
We may update this Privacy Policy from time to time. We will notify you of significant changes by:
- Updating the "Effective Date" at the top of this policy
- Posting a notice within the app
Your continued use of the app after changes constitutes acceptance of the updated policy.
## 12. Contact Us
If you have questions or concerns about this Privacy Policy or our data practices, contact us at:
**Email:** muhammadilyas15@gmail.com
**Developer:** Muhammad Ilyas