The published source of this policy is https://github.com/dawei7/professor-euler-privacy/blob/main/PRIVACY_POLICY.md. This page is the same text, on the app home page.
Privacy policy - Professor Euler
Last updated: 18 October 2026
Who provides the app
Professor Euler is a free, non-commercial mathematics study app for adults aged 18 and older, created by David Schmid. Contact: ai.professor.euler@gmail.com. This policy describes the Android app and the Windows app. Google Play and services you choose to use have their own policies.
Work stored on your device
The app stores local profile names, reading progress, section notes, the exercise, question and bookmark frames you draw on textbook pages with their sheets and conversations, saved study Reports, exercise drafts, handwriting, drawings, PDF annotations, submitted answers, AI feedback, chats, settings and a daily AI request count. Profiles are local and do not create an online account. The developer does not receive this work automatically. Avoid putting personal or sensitive information in work you intend to send to an AI service.
The Trophy dashboard calculates points, academic game levels and achievements from local progress. It records aggregate study time by date, book and study mode on your device, pausing in the background and after five minutes without interaction. It does not store a raw touch log or send activity statistics to the developer. Time records are profile-specific and included in ZIP backups; deleting a profile removes its records. Historical study duration from before this feature is not reconstructed.
Optional AI features: Google Gemini, DeepSeek, OpenRouter and DeepInfra
Reading, drawing and local progress do not need an AI connection. You choose Google Gemini, DeepSeek, OpenRouter or DeepInfra in Settings and supply your own API key for that provider. When you use Check, AI solutions or Ask Euler, the app sends relevant questions or textbook excerpts, messages, selected handwritten work/images, and conversation or grading context directly to the selected provider over HTTPS. For a frame you drew in Read, pressing Check sends the framed region(s), any context region you marked for it, and your sheet; asking Euler about a frame sends its region(s) and the textbook page(s) they are on, with your question. Nothing about a frame is sent until you press Check or send a question. Pressing Apply makes an authenticated connection check to the selected provider before saving the key and choice. This check sends no exercise work, images or generation prompts. The provider receives connection metadata such as your IP address. The developer does not operate an intermediary grading server.
Google processes Gemini requests under its API terms and privacy policies. The app requires Google's eligibility and active-billing declaration while Gemini is selected; this declaration is not a requirement for DeepSeek, OpenRouter or DeepInfra. Retention, human review and use to improve models depend on the provider's service terms, account and location. Consult https://ai.google.dev/gemini-api/terms and https://policies.google.com/privacy before using Gemini.
DeepSeek requires a paid API key. DeepSeek processes the content sent to its API under the terms applicable to your account. Review https://platform.deepseek.com/ and its linked service and privacy terms before enabling it. DeepSeek's published privacy policy describes processing and storage in the People's Republic of China: https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html . Do not submit personal or sensitive information in your study work. The app cannot verify your provider billing or regional eligibility, control provider retention or training practices, or delete copies retained by a provider.
OpenRouter lets you choose a model and routes the submitted content to that model's hosting provider. Both OpenRouter and the hosting provider process the request under their applicable terms and your account settings; storage, training and location can differ by route. Review https://openrouter.ai/privacy , https://openrouter.ai/terms and https://openrouter.ai/docs/guides/privacy/provider-logging before enabling it. The app does not certify user-selected models or change your OpenRouter privacy settings.
DeepInfra receives the content sent to the selected model under its service and model-specific terms. Data handling can vary by model and hosting arrangement. Review https://docs.deepinfra.com/account/data-privacy , https://deepinfra.com/privacy and https://deepinfra.com/terms before enabling it. The app does not change your DeepInfra account settings or certify user-selected models.
Each provider's eligibility, regional restrictions and charges apply. Availability of this offline app in a country does not guarantee that any AI provider can be used there. AI can make mistakes and is not a formal assessment authority.
Adult eligibility
Before entering the app, you are asked to confirm that you are 18 or older. While Gemini is selected, an additional declaration covers Google's age, regional and active-billing requirements. These declarations are stored locally. The app does not collect a birth date or identity document and does not claim to verify your age. It is not intended for children or other users under 18.
Reporting an AI response
If you choose Report AI response and then Send report, the selected AI response (up to 32,000 characters), reason, optional note, app version and a random report reference are sent over HTTPS to David's reporting service for safety and quality review. The report does not attach your API key, profile, handwritten images, source PDFs, user prompts or other chat messages. The response itself may repeat something personal you previously included; review the included response and avoid personal information in your note.
The reporting service uses Cloudflare Workers and D1. Cloudflare processes connection metadata, including your IP address, under its policies. The service uses a daily salted value derived from the IP address for short-term abuse limiting; IP addresses are not written to the reports table. Reports have no public viewing endpoint and are accessible to the developer through the hosting account. Active reports are removed within 90 days. Limited hosting recovery copies may persist for the provider's recovery period afterward. See https://www.cloudflare.com/privacypolicy/ . To request earlier deletion, contact David with your report reference. Sending a report is optional and does not change your work or grades.
API key and request count
Each provider has a separate saved API key, encrypted using Android Keystore, tied to your device, and excluded from the app's ZIP backup and configured Android backup rules. You can remove saved keys in Settings. Request counts, token totals and OpenRouter/DeepInfra model IDs, reported charges and cost estimates stay on the device. API costs shows local usage only, not a complete provider bill. Its reset controls remove the selected local usage totals; they do not change provider records.
Backups and sharing
You can save a ZIP backup to Downloads and share it using an app you choose. It can contain profile names and all saved study work and is not password-encrypted. Anyone with access to it can read its contents. Restoring creates separate local profiles. Exported backup files remain until you delete them, including after uninstalling the app. Your Android settings and device manufacturer may also enable system cloud backup or device transfer of eligible local data; API keys and replaceable textbook caches are excluded by the app's backup configuration.
Library downloads the unchanged original textbook. In Reports, you can select source pages, annotations, drafts, submitted exercise work, grading feedback, section notes, the frames you drew in Read (each as a sharp crop of the textbook) and complete Ask Euler exchanges to create a personal study PDF. A completed report is saved locally before preview, export or sharing; saved reports are included in the app's ZIP backups. Report generation runs on the device without sending this work to the developer or making an AI request.
PDFs are not password-encrypted. Exported PDFs are saved to Downloads; use Share to keep a copy elsewhere. Anyone you share a PDF with can read its included work. PDFs alone cannot be restored as editable study work. Delete exported and shared copies separately when no longer wanted. Manage backups can delete an app-created ZIP after you confirm its filename; this does not erase the current study work or copies elsewhere.
Optional Google Drive sync
Sync stays off until you turn on Sync this profile and sign in with Google. Professor Euler then asks Google only for access to a hidden app folder in your own Google Drive (https://www.googleapis.com/auth/drive.appdata) and for your email address, so the app can tell which Google account is connected. It does not request access to the rest of your Drive, Gmail, or Photos.
The profile you choose to sync can place study files in that hidden folder, including notes, handwriting, frames, progress, conversations, and a book you imported yourself. Those files use your Google account storage. Built-in curriculum textbooks are not uploaded. The developer does not receive these files. Drive's website does not list them as ordinary files. You open them again inside Professor Euler on a device where you sign in to the same Google account.
The newest saved copy of each study file is the one kept. API keys, the Google sign-in token, and device settings, including appearance, quiet study, gestures, and calibration, stay on the device. They are not written into the hidden folder. Turning sync off does not remove the Google connection. Disconnect removes the saved sign-in from that device. Uninstalling the app does not delete the hidden folder. You can remove the app's access in your Google Account, and you can delete the hidden app data from Google Drive settings. Google's own policy and terms apply to your account and to files stored there: https://policies.google.com/privacy and https://policies.google.com/terms .
Feedback and external links
Feedback buttons open your email app. A message is sent only if you choose to send it. David receives your email address and whatever you include, and uses it to respond and investigate the reported issue. Do not include API keys or private student information. LinkedIn, GitHub, Google, DeepSeek, OpenRouter, DeepInfra and other external destinations apply their own privacy policies. Contact David to request deletion of feedback correspondence, subject to any applicable retention obligations.
Advertising and analytics
The app includes no advertising SDK, analytics SDK, subscription service or automatic developer telemetry. Optional AI processing, Android backup and user-directed sharing are described above and are not a claim that the app never transmits data.
Your controls and deletion
Use the app's profile and data-management controls to remove local work, or clear Android app storage/uninstall to remove the app's private data. These actions do not delete ZIPs you saved to Downloads, shared copies, email correspondence, system backups, submitted AI reports, data held by your AI provider, or study files already stored in your Google Drive hidden app folder. Delete those separately through their respective services. Keep a separate backup of important work; no device or software can guarantee permanent storage.
Windows
On Windows, study files are kept in your user profile under Professor Euler. The app does not require an account. When the Windows app starts, it requests a small public version file from euler.dawei7.com to see whether a newer installer has been published. That request sends no name, study work, or Google account. The site does not keep an account of the check. If you press Update, the app downloads the installer from this same site and opens it only after the file matches the published fingerprint. Nothing is downloaded until you ask.
Permissions
Internet access supports optional direct requests to the selected AI provider, optional Google sign-in and profile sync, the Windows version check described above, and reports you choose to submit to the developer. Network-state access supports connection handling. Backup files use Android's scoped storage or temporary content-URI access; the app does not request broad access to all your files, location, contacts, microphone or camera.
Changes and questions
This policy will be updated if the app's data handling changes. For privacy questions, corrections or deletion of correspondence, email ai.professor.euler@gmail.com.