Moving to a new email service does not have to be complicated. You can back up and move your email using any desktop email client such as Outlook, Thunderbird, Evolution, or Apple Mail on macOS. The entire process comes down to connecting both accounts and moving your folders.
For the past month, I have been working steadily towards securing all of my data from surveillance and becoming an online ghost. It’s a lot of work, but definitely worth the learning process. I have never attempted to fully lock down every aspect of my digital life and digital privacy before, so it’s been a great mental exercise to consider every possible element that goes into identifying someone online and gaining access to data about them.
This guide documents the system that came out of that process.
1. Core principles
Security scales when it is designed as a system. For deeper context on several of these terms, see NIST Zero Trust, CISA MFA Basics, and EFF on Encryption.
-
Zero trust. Verify every component and path.
-
Entropy. Long, unique passphrases outperform tool stacking.
-
Compartmentalization. Treat devices, accounts, and datasets as separate.
-
Zero knowledge encryption. Providers cannot view content.
-
Jurisdictional distance. Prefer privacy friendly legal regions.
-
Isolation. Keep personal, professional, and anonymous layers distinct.
-
Sync chains. Prefer device to device sync instead of identity bound accounts.
2. Functional stack
Encrypted cloud storage
Private DNS
-
NextDNS
Reference: Mozilla DNS over HTTPS
Encrypted email
Email aliases
-
Firefox Relay
Reference: Mozilla on email masking
Secure messaging
-
MEGA Chat
Reference: EFF secure messaging guide
Password management
Two factor authenticators
Passkeys and hardware security keys
Passkeys are platform or hardware backed FIDO credentials. Hardware keys are a passkey form factor.
VPN services
WireGuard is a protocol. Choose a service you trust.
-
Mullvad
Reference: Mozilla VPN explainer
Office suites
Browsers
-
Chromium
Reference: Mozilla privacy features
Operating systems
-
Ubuntu
Reference: Linux Foundation
Location spoofing
3. Step by step implementation
Step 1: Platform hardening
-
Set firmware and BIOS passwords.
-
Enable full disk encryption. On Linux, also encrypt swap.
-
Turn on Secure Boot.
-
Keep background services lean. Disable hardware interfaces you do not need and keep USB ports locked when idle.
-
Create separate OS user profiles for personal, work, and anonymous roles.
Step 2: Network layer
-
Configure private DNS such as Quad9 or NextDNS.
-
Subscribe to a trusted VPN service such as Proton VPN, MEGA VPN, or Mullvad and route all traffic through it.
-
Randomize MAC address on each Wi Fi connection.
-
Review DNS logs to spot anomalies. NextDNS and many routers provide simple views.
-
Keep jurisdiction in mind when selecting exit regions.
Step 3: Identity separation
-
Create isolated accounts for each role.
-
Use SimpleLogin or Firefox Relay for email aliases and forwarding.
-
Use strong, unique passphrases for each account and store them in Bitwarden, Proton Pass, or MEGA Pass.
-
Enroll passkeys on platforms and keep at least one hardware key as a backup.
-
Use separate phone numbers for verification with VOIP or prepaid lines when appropriate.
Step 4: Storage and backup
-
Store active data in Proton Drive or MEGA with client side encryption in mind.
-
Keep offline backups on encrypted external drives and test restoration on a schedule.
-
Rotate keys or passwords on a cadence that matches your threat model.
Step 5: Permissions and sensors
-
Grant permissions only when a function needs them.
-
Keep camera, microphone, and GPS inactive until required.
-
Use mock location for apps that request location without an operational reason.
Step 6: Browsers and sessions
-
In Brave, Firefox, or Chromium, block third party cookies and disable prefetch.
-
Set strict fingerprinting resistance where available.
-
Use separate browser profiles per role.
-
Clear session data on exit for anonymous profiles.
Reference: Mozilla anti tracking
Step 7: Messaging and email
-
Use Signal or Session for end to end chat, and MEGA Chat when you want storage tie in.
-
Use Proton Mail for encrypted email.
-
Place public facing forms and newsletters behind aliases with SimpleLogin or Relay.
Step 8: Two factor and passkeys
-
Use Aegis, andOTP, FreeOTP, or Raivo for offline TOTP codes.
-
Prefer passkeys for supported services.
-
Keep at least two hardware keys registered and stored in separate locations.
Step 9: Maintenance rhythm
-
Monthly review of accounts, device profiles, VPN and DNS provider policies, and backup status.
-
Quarterly review of browser extensions, startup services, and permissions.
-
Regular alias rotation for high exposure workflows.
4. Structural advantage
A system built on entropy, isolation, and verification resists correlation. Each component reinforces the rest. As services evolve, this structure adapts without losing clarity or control.
5. System checklist
✅ Firmware and BIOS passwords set
✅ Full disk encryption and Secure Boot enabled
✅ VPN and private DNS configured
✅ Passkeys and hardware keys enrolled
✅ Password manager in place and unique passphrases used
✅ Email aliases active for exposure points
✅ Secure messaging apps adopted
✅ Encrypted cloud plus offline encrypted backups
✅ Browser profiles separated by role
✅ Monthly and quarterly reviews scheduled
This is a living system. Keep it simple, keep it disciplined, keep it consistent. When the structure holds, your signal stays yours.
Want your VPN to start automatically when your Wi-Fi connects on Arch Linux with KDE Plasma? You can do this with nmcli or directly in KDE’s NetworkManager settings. This setup ensures your VPN is always active, keeping your connection secure from the moment you go online.
Step 1: Show all saved connections
Run this to see your Wi-Fi and VPN profiles:
nmcli connection show
Note the names of your Wi-Fi (e.g., The Promised LAN) and VPN connection.
Step 2: Enable Wi-Fi auto-connect
Make sure your Wi-Fi always connects first:
nmcli connection modify "The Promised LAN" connection.autoconnect yes
nmcli connection modify "The Promised LAN" connection.autoconnect-priority 10
Step 3: Configure VPN auto-connect
Option A: WireGuard/OpenVPN as VPN profile
If your VPN was imported as a proper VPN type:
nmcli connection modify "The Promised LAN" connection.secondaries "mega-us"
Replace "mega-us" with your VPN’s name.
If you get an error like:
'mega-us' is not a VPN connection profile
…it means your VPN wasn’t recognized as a VPN type by NetworkManager.
Option B: Any VPN type (recommended via KDE GUI)
-
Open System Settings in KDE.
-
Go to Connections → select your Wi-Fi.
-
Click Edit → General Configuration.
-
Check Automatically connect to VPN when using this connection.
-
Select your VPN profile from the dropdown.
This works with WireGuard, OpenVPN, L2TP, and all supported VPNs.
