📋 Overview

Ingrain ("we", "our", or "the app") helps you learn from videos by generating AI-powered quizzes and using spaced repetition to make the answers stick. This Privacy Policy explains what data the app handles, why, and the choices you have.

The short version: Ingrain requires an account so your videos, quiz progress, and friends sync across devices. We only collect what is necessary to run the app. No advertising. No third-party analytics or tracking SDKs. You can request full account deletion at any time.

🗄️ What We Collect

Anonymous account: The first time you open Ingrain, we create an anonymous account with a random identifier. This lets you save videos, take quizzes, and (if you subscribe) hold an Ingrain Pro entitlement without sharing any personal information. The anonymous identifier is not linked to your Apple ID, email, name, or device serial.

Account data (optional Apple Sign-In): If you choose to sign in with Apple — required for friends, the activity feed, and cross-device sync — we receive a unique Apple identifier and the name and email address you choose to share (Apple offers a "Hide My Email" relay). We use these to upgrade the anonymous account to a persistent one, identify you across devices, and contact you if you reach out to support.

Profile data: An optional username, display name, avatar URL, and a generated friend code so other users can add you. You control everything in this section.

Learning data: The video URLs you save, the AI-generated quizzes and summaries linked to them, your answers, mastery scores, streak history, and spaced repetition state. This is the core data that makes the app work.

Activity data: Records of completed quizzes (video title, score, mastery, completion time) so your activity feed and friends features can show recent learning. You can turn activity visibility off in Profile.

We do NOT collect:

  • Advertising identifiers (IDFA)
  • Precise or coarse location data
  • Contacts, photos, microphone, or camera access
  • Behavioral data for advertising or third-party profiling
  • Health, financial, or payment information

🧠 How We Use Your Data

We use the data above only to:

  • Generate, store, and sync your videos, quizzes, and review schedule across your devices
  • Display your streaks, mastery, and statistics inside the app
  • Power the friends feature and activity feed (only if you opt in and add friends)
  • Cache popular quizzes so other users get faster results for the same videos
  • Diagnose crashes and bugs reported directly to support
  • Respond to your support emails

We do not sell your data, rent it, or share it with advertisers — there are no advertisers in Ingrain.

🎬 Videos & AI Processing

When you add a video, Ingrain sends the video URL to our Supabase edge function. The edge function fetches the video's public transcript and metadata from the platform (YouTube, TikTok, Instagram, Facebook) using Supadata and, for YouTube specifically, the official YouTube Data API as a fallback.

The transcript is then sent to Anthropic Claude to generate a summary and a set of quiz questions. The video URL and the generated quiz data are stored in our database so:

  • You can see and re-take the quiz on any device
  • Other users who save the same video can receive the cached quiz instantly
  • You can rate quizzes thumbs up or down to improve quality for everyone

The shared quiz cache is keyed by a normalized version of the video URL — for YouTube videos, this is just the video ID. The cache is not tied to your account: another user receiving a cached quiz never sees who originally generated it.

Ingrain only processes video content that the source platform makes publicly available. We do not bypass DRM, scrape private content, or store the video file itself.

👥 Friends & Activity

The friends feature is fully optional. You start with no friends and no shared activity. To connect with someone, one person sends a friend request to the other's friend code, and the other accepts.

Once connected, friends can see your recently completed quizzes (video title, channel, mastery and score percentages, completion time). They never see your full quiz history, your individual answers, or your spaced repetition state.

You can:

  • Toggle activity visibility entirely off in Profile at any time
  • Remove a friend at any time, which also removes their access to your activity going forward
  • Reject incoming friend requests with no notification to the sender

🔗 Third-Party Services

Ingrain uses the following services in order to function. None of them are used for advertising or behavioral tracking.

  • Apple Sign in with Apple — authenticates you and provides a privacy-preserving identifier
  • Apple StoreKit — processes Ingrain Pro subscriptions through the App Store
  • Apple UserNotifications — sends optional review reminders (requires your permission)
  • Supabase — hosts our database, authentication, and edge functions (project region: Frankfurt, EU)
  • Anthropic Claude — generates quiz questions and summaries from video transcripts
  • Google Gemini — secondary AI model used for follow-up question generation and certain quiz-content paths; receives only the video transcript and quiz context, never your identifier
  • Supadata — fetches public video metadata and transcripts
  • YouTube Data API — fallback metadata source for YouTube videos only

We do not embed analytics, advertising, crash reporting, or social tracking SDKs from any third party. There is no Facebook SDK, no Google Analytics, no Mixpanel, no Amplitude, no AppsFlyer, no Adjust.

💳 Subscriptions

Ingrain Pro is processed entirely by Apple through StoreKit. We receive your subscription status (active / inactive / tier) from Apple's servers, never your payment details.

To keep the subscription state in sync — for example so an Ingrain Pro purchase on your iPhone is recognized on your iPad — Apple sends signed server-to-server notifications (App Store Server Notifications V2) to our edge function each time a transaction changes (purchase, renewal, refund, expiration). The payload contains Apple's transaction ID and a random token we generate on purchase to tie the transaction to your Ingrain account. It does not contain payment information.

You can manage or cancel your subscription at any time in iOS Settings → your name → Subscriptions. Cancellation takes effect at the end of the current billing period.

Data Retention

Your account data, videos, quizzes, and activity are retained for as long as your account exists. This is intentional — losing your spaced repetition history would erase your learning progress.

If you stop using the app for an extended period, your account is not auto-deleted. You can request deletion at any time and we will remove your account, profile, saved videos, questions, and activity from our database. Quiz content cached in the shared cache (and not personally identifiable) may remain so future users benefit from it.

🔒 Data Security

We rely on industry-standard practices to keep your data safe:

  • All traffic between the app and Supabase is encrypted over HTTPS / TLS
  • Database access is gated by Supabase Row Level Security — your rows are only readable by you
  • Authentication tokens are stored in the iOS Keychain
  • API keys for third-party services are held server-side, never embedded in the app

No system is perfectly secure. If we ever become aware of a breach affecting your data, we will notify you promptly.

⚖️ Your Rights

Regardless of where you live, Ingrain gives you the following controls over your data:

  • Access — view all your saved videos, quizzes, and activity directly in the app
  • Correction — edit your display name, username, and friend visibility from Profile
  • Portability (GDPR Art. 20) — tap Profile → Account → Export My Data to download a JSON file containing every video, question, and activity record tied to your account. Exports are rate-limited to one per hour per account to prevent abuse. The download is generated server-side at request time, not stored.
  • Deletion (GDPR Art. 17) — tap Profile → Account → Delete Account. This permanently deletes your account, profile, saved videos, questions, activity history, and all friendships from our database, and wipes all local progress on the device. Shared quiz cache entries (which are not personally identifiable) may remain so future users benefit from them. The action takes effect immediately. You can also email support if you'd rather we run the deletion server-side.
  • Withdrawal of consent — disable activity visibility, remove friends, or sign out and delete the app

To prevent automated abuse of the export endpoint, we keep a small audit log (data_export_audit) recording the request timestamp, your user ID, and the row counts returned. It contains no quiz content, no answers, and no video URLs. This log is purged when you delete your account.

If you are in the EU, UK, California, or another region with specific privacy laws (GDPR, UK GDPR, CCPA / CPRA), these rights are explicitly granted to you. For requests we can't surface in-app, contact support@edgarpielb.com from the email tied to your account.

👶 Children's Privacy

Ingrain is not directed at children under 13 (or the equivalent minimum age in your country). We do not knowingly collect personal information from children. If you believe a child has created an account, please email us and we will delete the account and any associated data.

📝 Changes to This Policy

We may update this Privacy Policy from time to time. When we make material changes, we update the "Last updated" date at the top of this page and may surface a notice inside the app.

We will not introduce advertising, third-party tracking, or data sales without explicit notice and, where required by law, your consent.

✉️ Contact

Ingrain is built by Edgar Pielbusch as an independent developer. If you have any questions, concerns, or requests about your data, please reach out:

support@edgarpielb.com

I typically respond within 48 hours.