- Overview & scope
- Information we collect
- How we use your information
- AI tutor & data grounding
- Audio recording & transcription
- Push notifications
- Email communications
- Analytics & attribution
- Cookies & web storage
- Data storage & security
- Data sharing & third-party services
- Data retention & deletion
- Your rights
- Children's privacy
- Pricing & paid access
- Changes to this policy
- Contact us
1. Overview & scope
ClassMinds ("we," "our," or "us") builds a study platform for college students, consisting of an iOS app and a companion website at classminds.app. This Privacy Policy covers both surfaces and explains what information we collect, how we use it, who we share it with, and the rights you have over your data.
This policy applies when you create an account, use the iOS app, upload notes or recordings, chat with classmates or the AI tutor, sign up for the beta, or contact support. By using ClassMinds, you agree to the practices described here. If any part of this policy is unclear, email us and we'll explain it — see Contact us.
Plain-language summary: We collect what the app needs to work (your profile, classes, notes, chats). We don't sell your data. Your notes are never used to train AI models — yours, ours, or anyone else's. You can delete everything from Settings, and we run a real cascade deletion on request.
2. Information we collect
Account information
- Required: First name, last name, email address, Firebase Auth UID
- Optional: Phone number (and SMS verification state), college/school, grade level
- Auth method: Sign in with Apple, email/password, or — on the website — email link sign-in. We store only the identifiers your chosen method exposes (for Apple, a stable UID; for email, the address).
Academic data you create
- Classes: Course code, name, schedule times, instructor, your enrollment color
- Assignments & exams: Titles, descriptions, due dates, completion state, exam flag. Assignments are stored both at the class level (
classes/{id}/assignments) and as your personal synced copy (users/{uid}/assignments). - Notes: Typed notes, uploaded PDFs, slide decks, photos, and handwritten-image uploads. Stored in Firebase Storage at
notes/{classId}/{noteId}/. - Audio recordings: Lecture recordings you capture in-app (see section 5).
- Schedule imports: Screenshots of class schedules you upload. Sent to OpenAI Vision for parsing; not retained after parsing unless you save the result.
- Special events: Personal calendar items you create.
Communications
- Class chat messages stored per-class at
classes/{classId}/chat, visible to enrolled classmates only. - AI tutor conversations stored per-user at
users/{uid}/aiChats, private to you. - Support tickets & replies you submit to us.
- Chat image uploads stored at
chat-images/{classId}/{uid}/.
Device & technical data
- iOS app: App version, iOS version, platform identifier, APNs push token (via OneSignal), and device type.
- Website: Browser user-agent, approximate geographic region (derived from IP by Google Analytics, IP not stored by us), page URL, and referrer.
- Diagnostic logs: Errors and significant events are written to
appLogs/errorLogscollections with PII (email addresses, tokens, storage URLs) automatically redacted before storage.
Usage & cost data
- AI usage counters (token counts per call) stored at
aiUsage/{uid}— used for cost monitoring and per-user rate limits, not for advertising. - Admin audit log recording account-impacting actions (deletion requests, role grants) for security and compliance review.
3. How we use your information
We use the data we collect only for the following purposes:
- Provide the ClassMinds iOS app and website, including authentication and account recovery
- Organize your classes, assignments, and notes across devices
- Enable real-time class chat, scoped only to enrolled classmates
- Power the AI tutor with context from your own notes and class materials
- Transcribe audio recordings you submit, and summarize notes on request
- Send deadline reminders, chat mentions, and system notifications you've opted in to receive
- Respond to support requests and fix bugs you report
- Measure aggregate product usage to improve features (see section 8)
- Enforce rate limits and detect abuse (e.g., disposable email blocklist on beta signups, Cloudflare Turnstile CAPTCHA on public forms)
- Comply with legal obligations and protect the rights, safety, and property of ClassMinds and its users
We do not use your data to serve ads, build advertising profiles, or train any AI model.
4. AI tutor & data grounding
The AI tutor is designed to answer questions using your own class notes and uploads — not the open internet. Here's exactly how that works:
- When you ask the tutor a question, we fetch the most relevant passages from your uploaded notes, slides, or PDFs for the relevant class.
- We send your question and only those retrieved passages (plus your recent conversation turns) to our AI provider as one-time request context.
- The AI returns an answer that we display to you. We keep a record of the conversation at
users/{uid}/aiChatsso you can refer back to it.
Zero-training policy
Your notes, uploads, chats, and questions are never used to train AI models. We use OpenAI's API in zero-retention mode, which means OpenAI does not retain request payloads and does not use them for model training. Deepgram operates under the same commitment for transcription.
AI features that send data to our provider
- AI Tutor chat — retrieved note passages plus your question (models: gpt-4o-mini or gpt-4o)
- Schedule import via photo — the uploaded screenshot (model: gpt-4o vision)
- Note summaries — the note content you ask to summarize (model: gpt-4.1 Responses API)
- Audio transcription — your uploaded audio file (Deepgram Nova-2)
- GIF search — your search query only (Giphy). We never send your notes, messages, or profile data to Giphy.
- School lookup — your search query only (US Department of Education College Scorecard public API).
All AI calls go through our own Firebase Cloud Functions — no third-party API keys ship with the iOS app, so you can't be impersonated on those APIs.
5. Audio recording & transcription
The iOS app can record lecture audio when you explicitly start a recording. Microphone access is requested via the standard iOS permission prompt and is never accessed in the background.
- Recordings are captured as 16 kHz mono M4A files (~7 MB per hour) stored first in the app's temporary directory, then uploaded to Firebase Storage at
recordings/{uid}/. - The storage path is passed to our
aiTranscribeCloud Function, which forwards the audio to Deepgram (Nova-2) for transcription. - Deepgram returns the transcript to us; we store it in Firestore and associate it with the recording.
- The original audio file remains in your Storage bucket until you delete the recording or your account. You can delete individual recordings from the Notes tab at any time.
Your responsibility for recording consent
Recording lectures, classroom discussions, or any other speech may be governed by your educational institution's policies and by consent-to-record laws in your state, province, or country. You are solely responsible for obtaining any required consent — from your instructor, fellow students, or other participants — before initiating a recording, and for storing or sharing the resulting audio in a manner permitted by your institution and by applicable law. ClassMinds does not, and cannot, evaluate whether a particular recording is permitted at your school or under your local law. See section 17 of our Terms of Service for more on institutional compliance and academic-integrity considerations.
6. Push notifications
ClassMinds uses OneSignal to deliver push notifications to iOS devices.
- When you grant notification permission, iOS generates an APNs device token. Our app forwards that token to OneSignal, which maps it to your ClassMinds user ID so we can target notifications to you specifically (not broadcast to all users).
- What we send: deadline reminders, class chat messages & mentions, note-upload alerts for your classes, transcription-complete notices, and occasional important service announcements.
- What's in the payload: a short title and body, plus identifiers (classId, messageId, recordingId) so tapping the notification deep-links to the right screen. We don't put PII beyond your own data in notifications.
- Per-type preferences: You can turn off chat messages, mentions, note uploads, assignment reminders, syllabus updates, or transcription notices independently in Settings → Notifications, or turn off notifications entirely.
- OneSignal's own privacy policy: onesignal.com/privacy_policy.
7. Email communications
We send transactional email through Resend. This includes beta invites, support replies, and account-related notices. We do not send marketing email without a separate, explicit opt-in.
- Outbound: Sender address is
[email protected]. We send only to the email address on your account or the one you provided on a public form. - Inbound: When you email support, your message reaches our shared inbox. Our admin tooling reads this inbox over authenticated IMAP to reply — we do not forward it to a third-party helpdesk.
- Email content retention: Support threads are retained as long as needed to resolve the issue, and kept for up to 24 months for reference.
8. Analytics & attribution
We measure how the product is used so we can prioritize what to build. We do not tie analytics identifiers to marketing profiles or sell them.
Website analytics
- Google Analytics 4 (tag
G-081YYS6HV7) — collects standard page-view metrics, approximate region, device type, and referrer on the marketing site. IP is anonymized. Google's privacy policy. - Trybe attribution pixel (on the homepage only) — measures which advertising campaigns drove visits and beta signups. Uses a first-party domain (
track.classminds.app). Does not share your data with ad networks for retargeting.
Product analytics
- Firebase diagnostic & error logs — described in section 2. Used internally to find and fix bugs.
- AI usage counters — token counts per AI call, used to enforce fair-use caps and detect abuse.
We do not use Meta Pixel, TikTok pixel, Mixpanel, Amplitude, or Sentry. If we add any new analytics provider, we'll update this policy and notify you.
9. Cookies & web storage
The ClassMinds website uses the following browser storage:
- Firebase Auth session (localStorage) — keeps you signed in to the web app. Cleared on sign-out.
- Google Analytics cookies (
_ga,_ga_*) — first-party, measurement only, 24-month lifetime. - Cloudflare Turnstile — issues a short-lived anti-abuse token when you complete a form's challenge.
- Trybe attribution cookie (homepage only) — first-party, identifies the campaign that brought you to the site.
The iOS app does not use browser cookies.
10. Data storage & security
Your data is stored on Google Cloud infrastructure (Firebase), with the following protections:
- Encryption in transit: TLS 1.2 or higher for every API call, Firestore read/write, and Storage upload/download.
- Encryption at rest: AES-256, applied by Google Cloud's default encryption.
- Access control: Firestore security rules scope reads and writes to your own UID; class-level data is scoped to enrolled members via membership documents.
- Firebase App Check: being rolled out to prevent traffic from clients that aren't the real ClassMinds app or website.
- Per-user and per-IP rate limits on sensitive callables (signup, signin, beta signup, class joins) to prevent enumeration and abuse.
- PII redaction in logs — diagnostic logs have email addresses, JWTs, and storage signed URLs masked before being written.
No system is ever 100% secure. While we take reasonable steps to protect your data, we cannot guarantee absolute security. Report security issues to [email protected].
11. Data sharing & third-party services
ClassMinds does not sell your personal data and does not share it for advertising, retargeting, or data-brokerage purposes. Period.
We share data only with the service providers listed below, strictly as needed to operate the product. Each provider is bound by its own privacy policy and, where required, a data-processing agreement.
track.classminds.app. Policy →Other legally-required sharing
- Legal compliance: We may disclose information if required by law, valid legal process, or a good-faith belief that disclosure is necessary to protect the rights, safety, or property of ClassMinds or its users.
- Business transfers: If ClassMinds is acquired or merged, user data may transfer to the acquiring entity. You will be notified and given the option to delete your account before the transfer takes effect.
- FERPA note: ClassMinds is consumer-facing today, not a school official under FERPA. If your institution wants to deploy ClassMinds as a FERPA-scoped service with a Data Processing Agreement, email us.
12. Data retention & deletion
We retain your data while your account is active. You can delete your account at any time from Settings → Account → Delete Account in the iOS app.
What happens when you delete your account
Deletion runs through a 10-step cascade that purges personal data and anonymizes shared content so group threads aren't orphaned:
- Hard-deleted (permanently removed):
- Your user profile document
- Personal subcollections: assignments, joined classes, exams, special events, AI chat history, AI summaries
- Notification preferences and settings
- All files under
notes/{uid}/,recordings/{uid}/, and your chat-image uploads - Class membership records
- Your Firebase Authentication account (revoked last, so the cascade can complete)
- Tombstoned (kept but anonymized):
- Class chat messages — your messages remain in the thread so conversations make sense, but your display name is replaced with "[deleted user]" and your UID is removed.
- Support tickets — same tombstone treatment on the sender field.
- Audit trail: Each deletion is logged (actor UID, timestamp, steps completed) for security review. This audit log contains no content from your account.
If you cancel a paid subscription
Your account downgrades but is not deleted. Your notes, classes, chats, and AI history are retained for 90 days in case you resubscribe, then flagged for deletion according to the cascade above unless you sign back in.
Aggregate analytics
Anonymized, aggregated usage statistics (e.g., "70% of beta users imported a schedule in week 1") may be retained indefinitely after account deletion. These statistics cannot be used to re-identify you.
13. Your rights
Depending on where you live, you may have some or all of the following rights under laws like the GDPR (EU/EEA/UK) and CCPA (California). We honor these rights for every user, regardless of location.
- Access: Request a copy of the personal data we hold about you.
- Correction: Fix inaccurate or incomplete data. Most fields are editable directly in Settings; for others, contact support.
- Deletion: Trigger the cascade described in section 12, either in-app or by emailing us.
- Portability: Export your notes, assignments, and AI history in a machine-readable format. Email [email protected] to request an export while the in-app version is under development.
- Restrict or object: Pause processing of your data in specific ways (e.g., opt out of analytics cookies on the website).
- Withdraw consent: At any time — though withdrawing consent required for core functionality will effectively mean not using the app.
- Non-discrimination: We will not charge you a different price or degrade service because you exercised a privacy right.
- Lodge a complaint: With your local data-protection authority (e.g., your EU member-state DPA, the UK ICO, or the California Privacy Protection Agency).
To exercise any right, email [email protected]. We'll respond within 30 days (often much faster).
14. Children's privacy
ClassMinds is built for college and university students. The app is intended for users age 13 and older, and certain features assume a higher-education context. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has provided us with personal information, email [email protected] and we will delete the account and data promptly.
15. Pricing & paid access
ClassMinds is free during public beta. After beta, the product will cost $8.99 per month through an Apple App Store subscription — one plan, every feature included, no free tier. Beta users lock in the $8.99 rate permanently.
Subscriptions are billed by Apple under standard App Store rules. You can cancel anytime from iPhone Settings → Apple ID → Subscriptions. Cancellation is never gated by us. Continued use of the app after a pricing change constitutes acceptance of the new pricing; we will notify you in advance of any change.
16. Changes to this policy
We may update this Privacy Policy from time to time as the product evolves. When we make material changes (new data collection, new providers, changes to deletion rules, changes to your rights), we will:
- Update the effective date and version number at the top of this page
- Post a short summary of what changed
- Notify active users by email or in-app notice, at least 14 days before the change takes effect
Non-material changes (typo fixes, clarifications that don't change meaning) will be made without advance notice, but still reflected in the version number.
17. Contact us
If you have any questions, concerns, data requests, or complaints regarding this Privacy Policy, reach out:
- General & data requests: [email protected]
- Security disclosures: [email protected]
We read every email and typically respond within one business day.