Back to Privacy Policies
UnlockToLearn App Icon

Privacy Policy for UnlockToLearn

Last Updated: March 3, 2026

Your privacy is important to us. UnlockToLearn is designed to be a privacy-first educational app. All your flashcards, study progress, and personal content stay on your device. We collect only anonymous usage analytics to improve the app — no names, emails, or personal data.

This policy explains:

  • What data we collect (and what we don’t)
  • How we use it
  • Your rights and controls
  • Why we request certain permissions

Our Privacy Promise: We will never sell your data, track you across apps, or use your information for advertising. You own your data, and you control it.


Table of Contents

  1. Information We Collect
  2. How We Use Your Information
  3. Data Storage and Security
  4. Third-Party Services
  5. Permissions and Access
  6. Your Rights (GDPR Compliance)
  7. Children’s Privacy
  8. Changes to This Policy
  9. Contact Information

1. Information We Collect

A. Data Stored Locally on Your Device

UnlockToLearn stores all your study content locally on your device. This includes:

  • Flashcard decks and cards — your questions, answers, and any images or audio clips you add
  • Folders and organization — how you organize your decks
  • Study progress — your learning statistics, review history, and answer accuracy
  • Settings and preferences — app configuration including:
    • Selected study decks
    • Trigger settings (unlock/app launch detection)
    • PIN code (if enabled)
    • Sleep mode schedules
    • Monitored apps list (for app launch detection)
  • Import data — imported ANKI decks with associated media files

This data never leaves your device unless you explicitly create a backup.


B. Anonymous Analytics Data

We collect anonymous usage analytics to improve the app. This data is completely anonymous and cannot be linked to you personally.

Analytics are enabled by default but can be disabled at any time in Settings → Terms and Privacy → Anonymous Analytics.

What events are tracked:

Challenge Usage:

  • When unlock trigger challenges appear
  • When app trigger challenges appear
  • When you skip challenges
  • When you answer challenge cards (correct/incorrect)

General App Usage:

  • App opens
  • Screen visits (Statistics, Study Mode, Streak, Achievement Gallery)
  • One-week retention (to measure whether the app is helpful)

Study & Practice:

  • Practice mode starts — unlimited (includes card count) or timed (includes card count and timer duration)
  • Practice card answers (correct/incorrect)
  • Practice session completions (cards reviewed, correct count, accuracy rate, duration in seconds)
  • Learning mode used (ordered, shuffled, Leitner system)

Content Management:

  • Deck creation
  • Folder creation
  • ANKI imports (card count, deck count, presence of media, import duration)

Feature Usage:

  • Trigger activations (unlock/app launch)
  • Permission grants (trigger type: unlock or app launch)
  • Study schedule creation
  • Exam date settings
  • PIN code setup
  • Challenge deck selection changes (number of selected decks)

Gamification:

  • Streak screen visits
  • Achievement gallery visits
  • Daily goal completion (points earned)
  • Daily goal configuration changes (old and new goal values)
  • Achievement unlocks (achievement ID only — no name or description)
  • Streak milestone reached (streak length in days: 3, 7, 14, 30, 90, 180, or 365)
  • Streak freeze usage (when automatically applied to preserve a streak)

User Feedback (via Settings → Send Feedback):

The following data is sent to PostHog when you submit feedback:

  • Feedback type (bug report, feature request, or general)
  • Your feedback message, exactly as written
  • Message length (character count)
  • Star rating (1–5), if you chose to provide one
  • Device model, OS version, app version, and timestamp (same as Technical Data above)

No email address or personal data is collected.

⚠️ Note on feedback messages: Your feedback message is sent as written. Avoid including personal information (e.g., your name, email, or other identifying details) in the message body.

⚠️ Feedback is not affected by the analytics opt-out: If you have disabled Anonymous Analytics in Settings, feedback you explicitly submit via Settings → Send Feedback is still sent to PostHog. Feedback is a deliberate user action, not passive background tracking. The analytics opt-out only applies to automatic usage events.

Technical data included with all events:

  • Device model (e.g., “Samsung Galaxy S23”)
  • Operating system version (e.g., “Android 14”)
  • App version (e.g., “1.0.0”)
  • Event timestamps
  • Session duration

What is NOT collected:

  • ❌ Your name, email address, or phone number
  • ❌ Device identifiers (IMEI, advertising ID, etc.)
  • ❌ IP addresses (anonymized by our analytics provider)
  • ❌ Location data
  • ❌ Flashcard content (questions, answers, deck names)
  • ❌ Search queries or user input text
  • ❌ Browsing history
  • ❌ Contacts, photos, or audio files from your device

C. Crash Reports and Diagnostics

UnlockToLearn does not collect crash reports or diagnostic data. If the app crashes, no information is automatically sent to us. Crashes are only logged locally on your device.


2. How We Use Your Information

Local Data

Your flashcard content and study progress are used solely to:

  • Display flashcards during study sessions
  • Track your learning progress using spaced repetition
  • Show statistics and learning insights
  • Enable spaced repetition algorithms
  • Trigger flashcard challenges when you unlock your device or open monitored apps (if enabled)

Anonymous Analytics

Anonymous analytics help us:

  • Understand which features are most useful
  • Identify bugs and performance issues
  • Improve the overall user experience
  • Measure app effectiveness (retention rate, feature engagement)

This data is aggregated and cannot identify individual users.

We Do NOT:

  • Sell or rent your data to third parties
  • Use your data for advertising purposes
  • Track you across other apps or websites
  • Share personal information with anyone

3. Data Storage and Security

Local Storage

All your flashcard content is stored securely on your device using:

  • A SQLite database protected by Android’s app sandbox
  • Android’s secure private app storage, which is inaccessible to other apps without root access
  • File-Based Encryption: On Android 7.0 and later, all app data in private storage is automatically encrypted at rest using Android OS-level File-Based Encryption (no additional encryption is applied by SQLite itself)

Cloud Storage

UnlockToLearn does not currently sync your data to any cloud service. Your data stays entirely on your device. Future versions may offer optional cloud backup with your explicit consent.

Data Retention — Local Data

Your data remains on your device until you:

  • Delete individual decks or cards manually within the app
  • Clear the app’s data via Android Settings → Apps → UnlockToLearn → Storage → Clear Data
  • Uninstall the app (this removes all local data, including your flashcards — create a backup first if needed)

Daily statistics (points earned, cards answered, challenges per day) are automatically deleted after 90 days to prevent unlimited storage growth. This happens in the background — no action is needed from you.

Data Retention — Analytics

Anonymous analytics events are retained by PostHog (our analytics provider) for up to 7 years for long-term trend analysis. Events contain no user identifiers — no distinct ID, cookie, or device ID is assigned. Individual events cannot be linked to any person.


4. Third-Party Services

PostHog Analytics

We use PostHog (https://posthog.com) for anonymous usage analytics.

PropertyDetails
Data ProcessedAnonymous usage events (see Section 1B)
Server LocationEU (https://eu.i.posthog.com)
GDPR CompliantYes
Privacy Policyhttps://posthog.com/privacy
Data Processing AgreementAvailable on request

PostHog does not:

  • Track you across other apps
  • Use cookies or advertising identifiers
  • Share your data with advertisers
  • Sell your data

Crash Reporting

UnlockToLearn does not use any crash reporting service. When the app crashes, no data is sent to us automatically.


5. Permissions and Access

UnlockToLearn requests the following permissions to provide its core functionality. All permissions are requested only when you attempt to use the feature that requires them.


Standard Permissions

Display Over Other Apps (SYSTEM_ALERT_WINDOW)

Purpose: Display flashcard challenges when you unlock your device or open a monitored app.
Data accessed: None — only displays the app’s own content over the screen.
How to manage: Settings → Unlock Trigger or App Launch Trigger → tap the permission tile → opens Android system settings. Or manually via Android Settings → Apps → Special App Access → Display over other apps.


Notifications (POST_NOTIFICATIONS, Android 13+)

Purpose: Send study reminders and break timer end notifications.
Data accessed: None.
How to manage: Android Settings → Apps → UnlockToLearn → Notifications.


Run at Startup (RECEIVE_BOOT_COMPLETED)

Purpose: Restart the unlock detection service automatically after your device reboots (if the unlock trigger is enabled).
Data accessed: None.
How to manage: Disable the unlock trigger in Settings to prevent this service from starting.


Foreground Service (FOREGROUND_SERVICE, FOREGROUND_SERVICE_SPECIAL_USE)

Purpose: Keep unlock detection running reliably in the background.
Data accessed: None. A persistent notification is shown while the service is active.
How to manage: Disable the unlock trigger in Settings.


Prevent Phone from Sleeping (WAKE_LOCK)

Purpose: Required by the audio playback library to keep the CPU active while audio card recordings are playing.
Data accessed: None. Only active while audio is being played.


Schedule Exact Alarms (SCHEDULE_EXACT_ALARM, USE_EXACT_ALARM)

Purpose: Ensure the break timer end notification fires at precisely the right time. Data accessed: None. Which permission is active depends on the Android version:

  • SCHEDULE_EXACT_ALARM (Android 12): Must be granted manually. Can be revoked in Settings → Apps → Special app access → Alarms & Reminders.
  • USE_EXACT_ALARM (Android 13+): Automatically granted by the system, does not appear in app settings, and cannot be revoked.

How to manage: The break timer is only active when you manually start one.


Camera (CAMERA)

Purpose: Take photos directly in the card editor to add images to flashcard fronts or backs. Data accessed: Camera is activated only while you are actively taking a photo. The resulting image is saved locally in the app’s database — never uploaded. How to manage: Permission is requested only when you tap “Take Photo” in the card editor. You can decline and use gallery import instead.


Read Photos (READ_MEDIA_IMAGES on Android 13+ / READ_EXTERNAL_STORAGE on Android ≤12)

Purpose: Pick images from your photo gallery to add to flashcards. Data accessed: Only the specific image you select is read and stored locally. No bulk access to your photo library. How to manage: Permission is requested only when you tap “Choose from Gallery” in the card editor. You can decline and use the camera instead.


Read Audio Files (READ_MEDIA_AUDIO on Android 13+)

Purpose: Pick audio files stored on your device to add as audio clips to flashcards. Data accessed: Only the specific audio file you select is read and stored locally. No bulk access to your audio library. How to manage: Permission is requested only when you attempt to attach an audio file in the card editor.


Record Audio (RECORD_AUDIO)

Purpose: Record audio clips directly in the card editor to add spoken content to flashcards. Data accessed: Recordings are saved locally to the flashcard only — never uploaded or analyzed. How to manage: Permission is requested only when you tap on the microphone symbol (“Record Audio”) in the card editor. You can decline and use file import instead.


Sensitive Permissions

Accessibility Service (BIND_ACCESSIBILITY_SERVICE) ⚠️

Purpose: Detect when you open specific apps you have chosen to monitor (e.g., Instagram, TikTok, YouTube), so UnlockToLearn can show flashcards first — helping combat procrastination and reinforce learning.

What we access:

  • ✅ App package names only (e.g., com.instagram.android) — to detect launches
  • ❌ No access to app content, passwords, or personal data
  • ❌ No screen reading or text capture
  • ❌ No keystroke logging

Privacy commitment: The accessibility service is only used to detect app launches by package name. We do not read screen content, capture text, log keystrokes, or access any data from other apps.

This feature is completely optional.

How to manage: Settings → App Launch Trigger → tap “Accessibility Service” → opens Android Settings → Accessibility → UnlockToLearn. Or manually via Android Settings → Accessibility.


Query All Packages (QUERY_ALL_PACKAGES) ⚠️

Purpose: Required on Android 11 and later to retrieve the list of installed apps, so you can choose which apps to monitor with the App Launch Trigger feature.

What we access: A list of installed app package names (e.g., com.spotify.music).
What we do NOT access: App data, app content, or app usage details.

This feature is completely optional. Users who do not use the App Launch Trigger are not affected.


Ignore Battery Optimizations (REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)

Purpose: Prevent Android from killing the Unlock Trigger and App Launch Trigger services in the background, ensuring challenges appear reliably.

Impact: May slightly increase battery usage when either trigger is active. Typical impact is less than 2% per day.

How to manage: Settings → Unlock Trigger or App Launch Trigger → tap “Battery optimization” tile. Or via Android Settings → Apps → Special Access → Battery optimization → UnlockToLearn. Disabling both triggers removes any battery impact.


Permission Request Timing

We request permissions only when you try to use the feature that requires them, not at app startup. For example:

  • Accessibility permission: when you enable App Launch Trigger
  • Display over other apps: when you enable Unlock Trigger or App Launch Trigger
  • Battery optimization: when you activate reliable background detection (Unlock Trigger or App Launch Trigger)
  • Camera: when you tap “Take Photo” in the card editor
  • Read Photos: when you tap “Choose from Gallery”
  • Record Audio: when you tap the microphone symbol (“Record Audio”) in the card editor

6. Your Rights (GDPR Compliance)

If you are located in the European Union, the United Kingdom, or another jurisdiction with similar data protection laws, you have the following rights.


Right to Access

You can view all your data at any time:

  • Flashcards: Browse in the app’s home screen
  • Statistics: View in the Statistics screen
  • Settings: Check in the Settings screen
  • Analytics: Anonymous data cannot be linked to you and therefore cannot be individually accessed

Right to Deletion

You can delete your data at any time:

  • Individual cards or decks: Delete directly in the app
  • All local data: Uninstall the app, or clear app data via Android Settings → Apps → UnlockToLearn → Storage → Clear Data
  • Analytics: Go to Settings → Terms and Privacy → disable Anonymous Analytics to stop future collection. Past anonymous events cannot be deleted because they contain no user identifier — they cannot be linked to any individual

Right to Rectification

You can edit any flashcard content directly within the app at any time.


Right to Data Portability

Your data can be exported at any time:

  • Backup: Settings → System → Backup & Restore — creates a .utlbackup.zip file containing all your flashcards, folders, and study progress
  • You can restore this backup on the same device or a different device
  • You own your data entirely

Right to Object

You can object to specific data processing:

  • Analytics: Settings → Terms and Privacy → Anonymous Analytics → disable

You can withdraw previously granted permissions at any time:

PermissionHow to Withdraw
Accessibility ServiceSettings → App Launch Trigger → tap “Accessibility Service” → disable UnlockToLearn
Display over other appsSettings → Unlock Trigger → tap “Display over other apps” → disable UnlockToLearn
Battery optimization exemptionSettings → Unlock Trigger → tap “Battery optimization” → enable optimization for UnlockToLearn
CameraAndroid Settings → Apps → UnlockToLearn → Permissions → Camera → Deny
Read PhotosAndroid Settings → Apps → UnlockToLearn → Permissions → Photos and Videos → Deny
Read Audio FilesAndroid Settings → Apps → UnlockToLearn → Permissions → Music and audio → Deny
Record AudioAndroid Settings → Apps → UnlockToLearn → Permissions → Microphone → Deny
All dataUninstall the app (create a backup first if you don’t want to lose your flashcards)

Lawful Basis for Processing (GDPR Art. 6)

Data TypeLawful Basis
Local flashcard dataContract / App functionality — necessary to provide the service
Anonymous analyticsLegitimate interest (Art. 6(1)(f)) — PostHog is configured without a distinct_id, meaning no user identifier is assigned or transmitted. Events are fully anonymous and cannot be linked to any individual. Full opt-out is available in Settings.

Data Protection Contact

For privacy-related concerns or GDPR requests:

Email: apps@vincentschill.ing
Subject line: GDPR Request
Response time: Within 30 days, as required by GDPR


7. Children’s Privacy

UnlockToLearn is designed for students aged 13 and older. We do not knowingly collect personal information from children under 13.

  • No personal data is collected under any circumstances
  • Anonymous usage analytics are collected by default but contain no personal information and can be disabled in Settings → Terms and Privacy → Anonymous Analytics
  • No account creation is required to use the app
  • There are no social features or in-app communication with other users
  • All flashcard content stays on the child’s device and is never transmitted

Parents: If your child uses this app, please note that all study content stays on their device. Anonymous, non-identifiable usage analytics may be sent to our analytics provider unless you disable this feature in the app settings.

If you believe a child under 13 has provided personal data through the feedback form, please contact us at apps@vincentschill.ing and we will take immediate steps to address it.


8. Changes to This Policy

We may update this privacy policy occasionally to reflect:

  • New features or functionality added to the app
  • Legal or regulatory changes
  • Improvements to our privacy practices

How you’ll be notified:

  • An in-app notification when the policy changes significantly
  • An updated “Last Updated” date at the top of this document
  • Continued use of the app after a policy update constitutes acceptance of the revised policy

For major changes that meaningfully affect your rights, we will request your explicit acknowledgement within the app before you continue using it.

Previous versions of this policy are available upon request by emailing apps@vincentschill.ing.


9. Contact Information

For questions about this privacy policy, your data, or to exercise your rights:

Email: apps@vincentschill.ing
Website: https://apps.vincentschill.ing/unlock-to-learn/
Developer: Vincent Schilling

General inquiries: We aim to respond within 3 business days.
GDPR / data protection requests: Please use the subject line GDPR Request. We will respond within 30 days as required by law.


Applicable Law and Jurisdiction

This privacy policy is governed by and construed in accordance with the laws of the Federal Republic of Germany and applicable European Union regulations, including the General Data Protection Regulation (GDPR).


Privacy Policy for UnlockToLearn — de.froblix.unlocktolearn
Last Updated: March 3, 2026 Version: 1.1