Privacy Policy
We want you to understand how we use your information and the choices you have. This policy explains what we collect, why we use it, who helps us process it, and how you can manage it.
1. Overview
In this policy, "LearnStack," "we," "us" and "our" refer to the Florida, United States-based operator of LearnStack at learnstack.co. This policy covers Learn lessons, Practice, assessment and review tools, Pro and Teacher features, billing, and support. You can contact us using the details at the end of this policy.
- Your browser saves learning progress.
- Learning progress stays mainly on the browser you use. Signing in does not turn on synchronization. You can voluntarily download a private study file and restore supported learning records in a browser without existing study work. This manual transfer happens on your device without uploading the file to LearnStack. Files may contain answers, notes and other saved learning content; keep them private. Sign-in credentials and payment access are excluded. Bounded recovery copies are also kept in your browser: at most four versions, within a 4 MB storage limit, removed when you delete saved progress.
- Some features send information off your device.
- AI requests, secure medical assessments, payments, and teacher share codes use server services. Browser-only storage does not mean all activity stays on your device.
- No sale or targeted advertising.
- LearnStack does not sell personal information or share it for targeted advertising. The application does not include advertising pixels or third-party marketing analytics scripts.
LearnStack is an educational tool. Do not enter real patient details, confidential student records, payment credentials, or other sensitive information into lessons, notes, questions, rubrics, shared tests, or feedback.
2. Information collected
Profile and preferences
For a verified account, you provide an email address, password, optional display name, confirmation that you are at least 13, Terms acceptance and Privacy Policy acknowledgment. We send signup and sign-in credentials to our authentication provider, Supabase, through our server functions. Supabase stores the password hash, account metadata, and session information. We do not put the password or session tokens in browser storage or send them to AI or billing endpoints. A browser-only legacy profile is not a verified account. Guest use does not require a real email address.
We also save your age-13-or-older confirmation, Terms acceptance, Privacy Policy acknowledgment and versions, theme, sound-effects preference, and other settings. We do not request a full birth date.
Lessons, practice, and assessments
- Topics, chosen exams, selected experience level, units, learning goals, difficulty, question settings, class notes, and instructions you provide.
- Generated lessons and questions, answer choices, explanations, references, your answers and written reasoning, check results, feedback, scores, and missed questions.
- Lesson notes, completed tests, saved lesson state, review schedules, learning progress, and inferred strengths, gaps, and misconceptions used to tailor learning.
- For secure medical assessments: a generated session identifier, exam and objective identifiers, questions, selected answers, confidence ratings, response times, submission time, and grading results.
Medical-exam study content is not a medical record, but anything personal you include in a prompt or note becomes part of that content. Saved lesson notes may be included in later Practice generation requests.
Rubrics and shared tests
You may provide a course rubric or a previous test as pasted text, one PDF or UTF-8 text file, or up to three PNG, JPG, or WebP photos. Each file may be up to 5 MB, with 6 MB total per upload and no more than 10 PDF pages. We process the file content, type and size to extract rubric criteria or a practice blueprint. The browser may display the file name. LearnStack does not retain original uploads in its own storage; extracted material may remain with your browser's practice settings or learning records. Review reading errors and remove names, grades and personal information before submission.
If the limited course-material preview is enabled, it allows one sample question and two file-reading attempts per signed-in account per 90 days. Each reading attempt counts even when a file is unclear. Requesting a question sends up to 6,000 characters you reviewed to our AI provider. Account-hashed reading and question allowances, a request-content hash and the generated question are stored in Cloudflare D1 for the allowance period; the preview table does not store uploaded files or original source text. Do not include personal information. A grading challenge sends your original question, answer and optional objection to the AI provider for a second AI check, not human review. The original result and review history remain in your browser; applying a second judgment is your choice.
Teacher sharing uses a temporary code, creation and expiry times, and a copy of the test subject, questions, answer choices, correct answers, explanations, topics, and question types. Edits to a teacher's shared-test draft are saved locally. A student's shared-test answers and completion record are saved in that student's browser; this flow does not automatically send a student score report to the teacher.
Students may separately download and share an assignment-report file. It contains an exact-test fingerprint, random submission receipt, completion flag and per-question correctness, not names or answer text. These reports are self-reported, not authenticated assessments. Teachers import them locally; LearnStack does not upload them or automatically diagnose misconceptions. Exact-version teacher-review attestations remain in the teacher's browser and are not independent certification.
Payments
Stripe collects payment details through its hosted checkout and billing portal. LearnStack sends the selected plan and your profile email when available, and receives the identifiers and status needed to manage access: checkout session, customer, subscription and invoice references, customer email when returned, payment status, plan, renewal period, and cancellation status. LearnStack does not receive full card numbers, card security codes, or bank account numbers.
Support and technical data
Interactive activity ratings
When you submit a usefulness rating, we store the activity, your 1–5 star score, the submission or update time, and a hashed random receipt specific to that activity. The receipt is saved in this browser only when you submit feedback and lets you update or remove your rating without creating an account. We do not attach your account, email, answers or lesson progress. Public previews show only the average score and number of ratings, not individual receipts. Ratings are voluntary feedback, separate from optional analytics, and work when analytics is declined. Clearing browser storage removes your receipt, not the server rating. Ratings expire after approximately 180 days from their last update and are removed at daily cleanup. You can remove a rating using its original browser before then. Hosting and anti-abuse processing still apply.
Private feedback
Send feedback lets you submit a message directly on LearnStack without an account or email address. We store the message you choose to send, its type (general feedback, problem or suggestion), a broad site area (such as Learn or Practice), the server submission time, a random message receipt and its review status. If you choose Plans and pricing feedback, the plan and reason you select are included in your message. We use this information to understand problems and improve LearnStack. Only the LearnStack owner can access the feedback inbox; messages are not shown to other users.
We do not automatically attach your account name, email, account ID, lesson content, answers, full page URL, campaign parameters or device details. The feedback request omits account cookies. Please do not include personal records, passwords, patient details or unnecessary personal information in your message. Opening or typing in the form does not submit it. Feedback is separate from optional analytics and works when analytics is declined. Hosting and anti-abuse request processing still apply as described below.
If you contact LearnStack separately by email, we receive your sender address, message and any details or attachments you include.
Cloudflare processes requests to deliver and protect the site, including IP addresses, request paths, relevant headers, timestamps, and response status. LearnStack uses hashed request identifiers for rate limits. Operational logs may include error details and medical-assessment events such as session and exam identifiers, objective identifiers, question counts, and correct-answer counts.
Separately, our service counters increment daily totals for a fixed set of page and API categories, request method, broad HTTP outcome (including rate limits), and response-time range. We do not keep individual request records in this counter store. The counters contain no IP address or IP hash, account or session ID, cookie value, exact event timestamp, raw URL or query string, referrer, campaign code, location, device information, learning content or answer. They are not linked to accounts, billing records, security logs or optional analytics.
3. How information is used
- Build units and lessons, evaluate checks and answers, adapt explanations to learning evidence, and generate relevant practice and review.
- Save the progress supported by each feature and schedule retrieval of missed or fragile knowledge.
- Provide calculator-question generation, rubric-guided exams and grading, similar problems, and Teacher sharing and editing.
- Process subscriptions, verify paid access, prevent duplicate checkout, and open billing management.
- Respond to feedback and privacy requests, diagnose failures, prevent abuse, and protect the service.
- Record account acknowledgments, meet applicable legal obligations, and resolve billing or other disputes.
Automated learning assessments personalize educational content. They are not official examination results, professional certification, or medical advice.
Our basis for processing
Where applicable law requires a lawful basis, we use information as necessary to provide services you request, meet legal obligations, and pursue legitimate interests in operating a secure, reliable service, subject to your rights and the required balancing assessment. Our service counters use aggregate totals rather than identifiable visitor records. Optional account-linked product measurement relies on your separate permission. A first-party system or acknowledgment of this policy is not, by itself, permission for tracking or other processing.
5. Storage and retention
- Browser learning data and settings
- Saved local profiles, lessons, answers, notes, test history, review schedules, rubric text, and preferences have no fixed time-based expiry. They remain until replaced, removed through a relevant control, or cleared by you or your browser. Some history lists have size limits and discard older entries. Browser storage is not a guaranteed backup, including after private browsing, device cleanup, or storage eviction.
- Temporary lesson preparation
- Server preparation records have a 24-hour recovery window from creation. Background collection can finish a requested lesson, including its bounded automatic repair, while the browser is closed. Expired records cannot be resumed and are removed by scheduled cleanup or subsequent preparation requests; provider backups and operational logs have separate retention. The preparation identifier saved in your browser is required to recover the result. Clearing browser data removes that identifier but does not immediately cancel generation or delete the temporary server record. This is recovery, not cross-device lesson-history synchronization.
- Verified account data
- Supabase retains the account and authentication records until the account is deleted or retention rules require removal. Sign-out removes this browser's session; it does not delete the remote account. Contact LearnStack for account deletion or export assistance. LearnStack does not offer an automatic permanent account-delete button.
- Payment references on your device
- The browser keeps checkout and entitlement references to verify access and manage billing. A billing-management reference may remain after paid access ends. Clearing it does not cancel a subscription and can make billing recovery harder.
- Teacher share codes
- Quick share codes expire after 15 minutes by default. Closing their share panel requests early revocation, which requires a successful network request; if that request fails, the code can remain usable until expiry. Teachers can explicitly choose a 24-hour or 7-day server share instead; these remain available after the panel closes unless revoked early or expired. Early revocation also requires a successful network request. Local preview codes use temporary browser-session storage. Expiry or revocation stops new code access but does not delete copies already opened or saved by recipients, the teacher's original test, or a recipient's saved completion record.
- Secure medical-assessment sessions
- The session can be used for two hours from creation. Its server record contains questions and, after submission, answers, confidence, timing, and grading. KV records have a two-hour expiry from their most recent save; submitting answers can therefore retain the stored record beyond the original session-access deadline. Browser results and operational logs have separate retention.
- Rate-limit records
- Server counters expire at twice the endpoint's rate-limit window, generally about two minutes. They use hashed identifiers rather than a plain-text IP address as the record key.
- Rubric images
- LearnStack validates and forwards images for analysis without deliberately saving the original image to its own persistent server storage. Extracted rubric content may remain in browser settings or test records. OpenAI's separate retention practices still apply.
- Billing records
- Stripe retains payment records under its own policy and legal obligations. LearnStack's billing-event deduplication records expire after seven days. Its subscription, checkout, customer, and invoice-status records do not currently have an automatic expiry; contact us about records that can be deleted, subject to billing, fraud-prevention, and legal needs.
- Support messages and operational logs
- Support correspondence and hosting logs are separate from browser storage. Their retention depends on email or hosting settings and what is needed to resolve a request, investigate an incident, or meet legal obligations. We do not promise a fixed deletion deadline for these records; contact us for help with a specific request.
- In-site feedback
- Feedback messages and review status are kept for approximately 180 days from submission and removed at the next daily cleanup. They are not used to build a visitor profile or measure individual learning. If you contact us about a particular message, include its receipt so we can locate it; do not send passwords or unnecessary personal details. Email correspondence and provider logs have separate retention.
- Aggregate service counters
- Daily operational totals are kept for approximately 90 days and removed at the next daily cleanup. A non-personal first-observed date remains to show when measurement began. These totals cannot be located or deleted for a particular visitor because no visitor identifier or individual request record is stored. We do not attempt to re-identify or join these totals to personal records.
Providers may process information outside your country, including in the United States and other locations where they operate. LearnStack does not promise that all data stays in your country. Contact us for information about the arrangements that apply to your data.
7. Your choices and deletion
- Choose what to submit. You can browse without generating AI content. Avoid AI generation or rubric upload when you do not want that content sent for processing. Guest use still involves server processing for the features described above.
- Delete saved progress. In Account Settings, this removes saved test history, missed-question review data, review schedules, rubric summaries, exam settings, and similar-problem state. It keeps your local account, consent, and billing references. It does not currently clear every Learn lesson, note, or standardized-learning record.
- Clear browser data. The "Clear data from this browser" setting attempts to revoke tracked shares and clear this site's local and session storage, browser databases, caches, cached account information, and accessible cookies. It signs out this browser, but does not permanently delete a server-backed account or cancel a subscription. Browser restrictions or failed network requests can limit cleanup. Use your browser's clear-site-data controls if needed. Data on other browsers and devices is separate.
- Manage billing before clearing data. Use Manage subscription in the payment or account controls, or contact LearnStack for billing help. Deleting local data does not cancel a Stripe subscription or erase provider-held payment records.
- Request server-side deletion. Email djoseb2007@gmail.com for records LearnStack can identify and control. Local deletion does not automatically erase billing records, unexpired assessment sessions, support emails, provider logs, or copies held by other users.
On a shared device, signing out alone is not a promise that learning history has been erased. Use a separate browser profile, or clear LearnStack site data when finished.
8. Privacy requests and rights
Depending on your location and applicable law, you may have rights to access, correct, delete, or obtain a copy of your personal information, restrict processing, withdraw consent where processing relies on it, or complain to a data-protection authority.
You may also have the right to object to certain processing. Contact us to exercise a right or ask how it applies. Withdrawing consent does not undo processing that was lawful before withdrawal.
Please describe your request and provide enough context to find the relevant record, such as the email used for billing and an approximate date. We may need to verify your identity or authority before disclosing or deleting information. Do not send passwords, full card details, or access tokens. We will respond within the period required by applicable law and explain any limitation, including where data exists only in a browser we cannot access.
This policy does not limit rights available to you under applicable law.
9. Security
LearnStack uses HTTPS, request validation, upload checks, server-side payment verification, signed owner sessions, and rate limits. No website, browser store, or transmission can be guaranteed secure. Local learning data is not separately encrypted by LearnStack and may be accessible to someone using your device or browser profile.
Do not treat LearnStack as storage for confidential medical, school, employer, or financial records. Use fictional or appropriately de-identified examples and only submit content you are authorized to share.
10. Students and children
LearnStack is not directed to children under 13. Account creation asks users to confirm they are at least 13; this is an attestation, not verified age checking. Guest access is not age-verified. Optional analytics separately requires a 13+ confirmation and is not enabled by default. We do not offer an under-13 account or parental-consent flow. If you believe a child under 13 has supplied personal information, contact us so we can investigate and address records we control.
Teachers and schools should assess the service before requiring student use, including any school authorization, parental permission, and privacy requirements that apply. Teacher Mode is a sharing feature, not a claim that LearnStack meets every school's student-record obligations. Do not include student rosters or identifiable student records in shared tests or AI prompts.
11. Policy changes
We may update this policy as the service changes. The date above identifies this version. For material changes, we will provide additional notice or obtain consent where required by applicable law. A policy update does not automatically rewrite the acknowledgment recorded when an existing local account was created.
12. Third-party data sharing
We do not sell your personal information or share it for targeted advertising.
We may share personal information with service providers that process data on our behalf, as necessary to operate, secure, maintain, and improve LearnStack. These services include hosting, data storage, communications, authentication, payment processing, operational analytics where used, and artificial intelligence. The specific providers and data flows are described in Who receives information.
When processing information on our behalf, service providers may process it only for the purposes for which it is provided and subject to their applicable contractual and legal obligations. A provider's separate processing for its own legal, security, or other independent purposes is governed by its applicable privacy policy and law, as described above.
We may also disclose information when required by law, to protect our rights or the rights, safety, or security of others, or in connection with a business transaction such as a merger, acquisition, financing, reorganization, or sale of assets, subject to applicable law and any required notice or consent.
13. Contact LearnStack
For privacy questions, data requests, or billing-data assistance, email djoseb2007@gmail.com. Use the subject line "LearnStack privacy request" and avoid including sensitive information that is not needed to understand the request.