Keeping your fork private

apprenti.dev's own personal-data folders (an apprentice's reflections and submissions, a mentor's reviews) are only as private as the repository they live in. This page is for anyone — apprentice, mentor, or content creator — who wants that repository to actually be private, on either GitHub or GitLab.

GitHub: a fork of a public repository stays public

This is a GitHub platform rule, not something apprenti.dev controls or can work around: every fork of a public repository is itself public, and that can't be changed afterward — not by you, not by an organization owner. If you use GitHub's Fork button on a public curriculum repository, the copy you get is public too, and so is everything you commit into it afterward, including your personal folder.

The practical workaround is to skip GitHub's Fork feature entirely and create a private repository yourself:

  1. Clone the public curriculum repository to your device.
  2. On GitHub, create a new repository and set its visibility to Private — use New repository, not Fork, and leave it empty (no README, no license file).
  3. Point your local clone at that new private repository instead of the original, and push everything to it.
  4. You can still pull future curriculum updates from the original — just keep it as a second remote.
git clone https://github.com/apprenti-dev/software-engineering-base.git
cd software-engineering-base

# Point the clone at your new EMPTY private repo instead of the original
git remote rename origin upstream
git remote add origin https://github.com/your-username/your-private-fork.git
git push -u origin main

# Later, to pull curriculum updates:
git fetch upstream
git merge upstream/main

This isn't a GitHub "fork" in the platform sense anymore — no fork-network badge, no built-in pull-request link back to the original — but apprenti.dev doesn't need either of those. The app only needs a Git URL to clone and sync with; it works identically either way.

GitLab: you can choose your fork's visibility

GitLab doesn't have this restriction. When you fork a project on GitLab, the fork-creation screen includes its own Visibility level setting — set it to Private right there, and your fork (and everything you add to it) stays private from the start. No workaround needed; GitLab's own Fork feature already does what the GitHub workaround above achieves manually.

Either way, apprenti.dev doesn't know or care

Whether your working copy is a real GitLab fork, a manually created private GitHub repository, or a fully local folder with no remote at all, the app opens it the same way — Clone repository with the URL, or Open local repository for a folder already on your device. Visibility is entirely a decision you make on the hosting platform, before you ever open the app.