The Hidden Cost of a Single GitHub Account
(Optional Privacy Upgrade) Recruiters finding your old game jam repo? Personal SaaS experiments showing up next to client work? Yeah. Been there. This is one way to clean that up. Take it or leave it.
Quick question.
If you clicked on your GitHub right now,
would it feel like you today…
or like a time capsule?
Because some of us are walking around with the GitHub equivalent of…
dragonSlayer92@youremail.com (guilty)
Most founders definitely don’t choose a messy GitHub.
They just never clean it up.
You start building.
You shove all your code into the same account.
And somehow… years have passed.
Now you’re shipping real products, talking to real customers…
and your personal experiments are still sitting right there.
Nothing’s really “wrong.”
It’s just louder than it needs to be.
Compartmentalization is essentially keeping things in the right place.
Personal email vs work email.
Different password vaults.
Different browser profiles.
GitHub can work the same way.
This post shows one way to set it up on Windows.
Not the only way.
Not even the “best” way.
Just a way that works.
And once you see it…
… you can’t unsee it 😎
Your Personal GitHub
1. Open Git Bash
Start → search “Git Bash”
(If it’s missing: git-scm.com)
2. Create your personal SSH key
mkdir -p ~/.ssh
cd ~/.ssh
ssh-keygen -t ed25519 -C "yourpersonal@protonmail.com" -f ~/.ssh/id_ed25519_personal -N ""Tip: Using -N “” creates a key without a passphrase for convenience.
For extra security, you can add a passphrase.
Just remember to use an SSH agent so Git can access it automatically.
3. Copy the public key
clip < ~/.ssh/id_ed25519_personal.pubNote: (Windows only. Mac users can use pbcopy < ~/.ssh/id_ed25519_personal.pub, Linux users can cat ~/.ssh/id_ed25519_personal.pub and copy manually)
The contents of this file are now on your clipboard.
4. Add your SSH key to your Personal GitHub
Go to GitHub → Settings → SSH and GPG keys → New SSH key.
Create a title that helps you remember this key (example: Home Desktop)
Paste the public key you copied.
Click Add SSH key.
Tip: Use a descriptive title for each device/account. This helps if you ever need to revoke or manage keys later.
Your Work Account
1. Create your work account SSH key
ssh-keygen -t ed25519 -C "yourwork@company.com" -f ~/.ssh/id_ed25519_work -N ""Tip: Using -N “” creates a key without a passphrase for convenience.
For extra security, you can add a passphrase.
Just remember to use an SSH agent so Git can access it automatically.
2. Copy the public key
clip < ~/.ssh/id_ed25519_work.pubNote: (Windows only. Mac users can use pbcopy < ~/.ssh/id_ed25519_work.pub, Linux users can cat ~/.ssh/id_ed25519_work.pub and copy manually)
Again, the contents of this file are now on your clipboard.
3. Add this SSH key to your Work GitHub Account
Go to GitHub → Settings → SSH and GPG keys → New SSH key.
Create a title that helps you remember this key.
Paste the public key you copied.
Click Add SSH key.
Your SSH Config File
Now that both keys exist and are registered with GitHub,
Create the SSH config file to tell your computer which key belongs to which account.
This ensures Git automatically picks the right key for each account.
Without it, you’d have to manually specify which key to use every time you push, pull, or clone.
Still in Git Bash:
notepad ~/.ssh/configThis opens your notepad.
Now, paste:
# Personal account
Host github-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
IdentitiesOnly yes
# Work account
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
IdentitiesOnly yesSave and close.
Testing Your SSH Setup
Personal:
ssh -T git@github-personalWork:
ssh -T git@github-workGitHub should greet you with the correct username for each.
Your computer automatically picked the right key for each account.
See it in Action (Cloning Repos With the Right Key)
On your repo using your personal account:
git clone git@github-personal:yourusername/privacy-saas.git personal-privacy-saas
cd personal-privacy-saas
git config user.name "Your Name"
git config user.email "yourpersonal@protonmail.com"Or your work account:
git clone git@github-work:company/project.git work-project
cd work-project
git config user.name "Work Name"
git config user.email "yourwork@company.com"And you’re good!
Pushing, Pulling, Committing (Just Like Working Out… except without the sore muscles)
Here’s what your workflow now looks like.
On Personal projects:
cd personal-privacy-saas
git pull
git add .
git commit -m "feat: encryption"
git pushOn Work projects:
cd ../work-project
git pull
git add .
git commit -m "fix: api"
git pushVS Code (or whichever IDE you’re on) now automatically uses the right identity for each folder.
Something not working?
Permission denied → double-check
.pubkey pasted into GitHubWrong key tried → check spacing in
~/.ssh/config(spaces, not tabs)Editor issues → use
notepad ~/.ssh/configStill weird → restart Git Bash
You’re Already Ahead
If you made it this far, you already get it.
You now understand:
✅ What GitHub compartmentalization actually means
✅ Why it quietly affects credibility and privacy
✅ How to use SSH-based setup successfully
You don’t need to do this today.
Or ever, if you don’t want to.
But now you clearly know it’s an option.
And knowing you have options?
That’s kind of the whole privacy mindset.
Now, if you had to pick:
Folders or SSH, which feels easier?


really nice read. interesting subject that i think a lot more people could benefit from being aware on.
This is very interesting. Would it work the same on Mac as well?