Privacy Policy
Last updated: August 2026
1. Overview
apprenti.dev has no application backend. There is no account to create and no server that stores your data. The app is Git-native and offline-first: your curriculum, progress, reflections, and submissions live as plain files in a Git repository that you host, on a provider you chose (typically GitHub or GitLab). A small local database on your device is a rebuildable cache of that repository, not a separate copy apprenti.dev controls. This page explains what stays on your device, what lives in your repository, and the only circumstance under which anything leaves the device at all. Use of the app is also subject to our Terms of Use.
2. What's stored in your Git repository
Your curriculum repository is the source of truth for apprenticeship data. Depending on your role, it holds:
- •Curriculum content — paths, tasks, and competencies, as JSON metadata and Markdown instructions
- •Your task state, notes, time logs, and reflections, kept in your own personal folder
- •Evidence and submissions you attach to a task for review
- •Mentor reviews and notes, kept in the mentor's own personal folder, written only by the mentor role
These are ordinary files, committed with ordinary Git operations. apprenti.dev never receives a copy of them — they exist only in the repository you push to and pull from, subject to whatever visibility and access controls you set on your Git host. Publishing or sharing a fork of a repository is your own Git operation; remember that the apprentice and mentor personal-data folders should be removed from a fork before sharing it, and that Git history may still contain them even after removal. On GitHub, note that a fork of a public repository is itself always public — see Keeping your fork private if that's not what you intend.
3. What's stored only on your device
Some data never goes into Git and never leaves your device:
- •A local SQLite database — a projection of your Git repository used for fast search and display. It is rebuildable from Git at any time and is not itself a source of truth.
- •Git provider credentials and any AI provider API keys, held in your platform's secure storage (Keychain, Credential Manager, or equivalent) — never written to Git, Markdown, JSON files, or logs.
- •Chat threads with the in-app AI assistant. These are a local, rebuildable cache, not Git-durable, unless you explicitly save a reply as a note on a task.
Secrets are redacted from application logs, and the app validates local model files and repository paths before using them to reduce the risk of a corrupted file or a malicious path affecting your device.
4. AI providers
AI features are optional. You choose how they run:
- •Local models (GGUF) run entirely on your device. Nothing about your prompts, curriculum, or answers leaves the device in this mode.
- •Cloud providers — OpenAI, Mistral, Anthropic, or OpenRouter — are only used if you configure one yourself with your own API key. When you do, the active task's context is sent to that provider to generate a reply; your broader history and other tasks are not included.
The app always labels which mode produced a reply — Local or Cloud · <provider> — so it's never ambiguous whether anything left your device. You can disable cloud AI entirely from Settings → AI → Local only; there are no hidden cloud calls.
Any cloud provider you configure processes your prompts under its own privacy policy and terms, not apprenti.dev's — see Third parties below.
5. Mentor communication
Today, mentor and apprentice communication happens through review comments on a submission or revision request. Like everything else in apprenti.dev, that content is stored as an ordinary Git object in the shared repository — there is no chat server and no third party relaying it — with no additional, application-level encryption layered on top. Its confidentiality depends entirely on your repository's own visibility and access controls; see Keeping your fork private if you need that to actually be private rather than just assumed to be. A separate, encrypted messaging layer with its own privacy verification is a written proposal, not something built or shipping yet — see Mentoring & communication for what that would add if it's ever built.
6. What apprenti.dev does NOT do
- ✗No analytics or usage tracking by default
- ✗No ads
- ✗No selling or sharing of your data — there is nothing centrally stored to sell
- ✗No user account, and no server-side database of learners, mentors, or curricula
- ✗No sending of your data to a cloud AI provider unless you configure one yourself
- ✗No auto-approval or silent AI decisions — AI output is assistive only, and never changes review state on its own
7. Third parties
Because apprenti.dev has no backend, the only third parties involved are the ones you personally choose to use:
- •Your Git host (e.g. GitHub or GitLab) — stores your repository and is subject to that provider's own privacy policy and terms.
- •Your chosen cloud AI provider (OpenAI, Mistral, Anthropic, or OpenRouter), only if and when you configure one — subject to that provider's own privacy policy and terms.
- •If you use local models, the model files themselves may be downloaded from a file location you configure (for example, a Google Drive file you provide); once downloaded, the model runs entirely on-device.
apprenti.dev itself does not operate any of these services and does not receive your data through them.
8. Your rights and control
Because there is no central account or server-side store, there is nothing to request from apprenti.dev — you already hold everything. In practice:
- •To access, edit, or delete your data, access, edit, or delete it in your Git repository — it's yours, hosted where you chose.
- •To clear the local cache, clear the app's local data on your device; the SQLite projection rebuilds from Git the next time you open the repository.
- •To remove a saved API key or Git credential, remove it from the app's settings; it is deleted from secure storage on your device.
9. Contact
apprenti.dev has no support inbox tied to an account, since there is no account. For privacy questions, send a message through the feedback form. The application repository isn't public yet — once it is, this section will also link directly to its GitHub Issues and Discussions.