← Back to articles

Ghost in the Machine: Building a Maximum OpSec Smartphone with GrapheneOS

Introduction

In an era where data is the new oil and surveillance capitalism is the business model of the internet, true privacy feels like a myth. Your phone is a tracking beacon, broadcasting location, habits, and conversations.

But it is possible to go dark with a device that looks like a smartphone but acts as a digital fortress. This is GrapheneOS. This guide covers the transition from zero to maximum Operational Security (OpSec), building a ghost device.

Phase 1: The Hardware – The Paradox

To escape Google, you must buy Google. The Google Pixel (6, 7, 8, or 9 series) is the only hardware secure enough for this purpose. Reasons:

  • Titan M2 Chip: A dedicated security module that protects encryption keys.
  • Verified Boot: Allows relocking the bootloader after installing a custom OS. Other phones require leaving the digital door unlocked.
  • Hardware Support: GrapheneOS is developed specifically for Pixels.

Phase 2: The Installation – The Secured Hotspot Method

Connecting a Pixel to residential Wi-Fi before a VPN is active allows the ISP to link the new MAC address to an identity. The masked web download method avoids this.

Network Shield Preparation (The Bridge Device)

  • The Bridge Device: A secondary smartphone or dedicated mobile 4G/5G router not tied to your identity (ideally using a cash-bought prepaid SIM never used at your residence).
  • Activate Shielding: Install and activate a strong VPN (e.g., Mullvad) on the Bridge Device.
  • Start Hotspot: Enable Mobile Hotspot on the Bridge Device. This becomes your temporary network shield.

Direct Download and Disconnect

  • Flash GrapheneOS via the Web Installer and relock the bootloader.
  • Skip SIM and Wi-Fi setup steps on the Pixel.
  • On the Pixel, connect only to the secured Hotspot.
  • Download APKs using Vanadium (default browser): Mullvad VPN and F-Droid directly to the Downloads folder.
  • Immediately disconnect Wi-Fi using the quick settings toggle.

Downloading directly from official sites (e.g., mullvad.net) is superior to relying on an app store initially.

Phase 3: The Network Lock – Kill Switch

Before letting the phone touch the internet, ensure the VPN is enforced.

  • Open Mullvad VPN and enter your account number (paid with Monero or cash sent by mail).
  • Go to Android Settings > Network & Internet > VPN.
  • Tap the gear icon next to Mullvad.
  • Turn ON Always-on VPN.
  • Turn ON Block connections without VPN.

Now connect to Wi-Fi. If the VPN tunnel fails, the phone cuts all internet access instantly.

Phase 4: System Hardening – The Settings

GrapheneOS is secure by default, but paranoid levels are achievable.

The Sensors Off Tile

Go to Settings > System > Developer Options > Quick settings developer tiles. Activate Sensors Off. This adds a button to the notification shade that physically cuts power to the camera, microphone, accelerometer, and gyroscope. Keep this active 24/7 unless actively on a call.

USB Peripherals

Go to Settings > Security > USB Accessories. Set to Deny new USB peripherals. If the phone is seized while unlocked, a Cellebrite machine or malicious USB stick cannot extract data.

Auto-Reboot

Go to Settings > Security > Auto-reboot. Set to 10 to 30 minutes. Encryption is strongest when the phone is “Before First Unlock” (BFU). If seized, the phone reboots shortly after, putting data back into a deep freeze.

Wi-Fi & Bluetooth Hygiene

  • Wi-Fi: Turn off Auto-connect.
  • Bluetooth: Keep off. Turn off Bluetooth Scanning in Location settings.
  • PIN Scrambling: Enable Scramble PIN layout (Settings > Security) to prevent smudge attacks.

Phase 5: The Software Stack – Your Arsenal

Stock apps are replaced with privacy-respecting alternatives.

RoleApplication
App StoreF-Droid (or Aurora Store for anonymous Google Play downloads)
BrowserVanadium (daily driving, hardened) + Tor Browser (identity protection)
EmailTuta (formerly Tutanota) – end-to-end encrypted, no phone number required
MessagingSimpleX Chat – no user IDs, routed via randomized onion network
2FAAegis Authenticator – offline, encrypted backups
KeyboardFlorisBoard or AOSP Keyboard – revoke network access
MapsOsmAnd~ (from F-Droid) – offline mode
PhotosAves Libre – strip EXIF metadata

Vanadium Configuration

Disable JIT (Just-In-Time) compiler for maximum security, though it slightly slows performance.

Keyboard Network Revocation

Go to App Settings for the keyboard and Revoke Network Access. The keyboard cannot log passwords if it cannot reach the internet.

Phase 6: Compartmentalization – The User Profiles

User Profiles in GrapheneOS separate identities.

  • Profile 1 – The Owner (Admin): Empty. Only VPN and system settings. Never used for daily tasks. Only for OS updates.
  • Profile 2 – The Daily Driver: Maps, music, generic browsing, read-only social media. If compromised, sensitive identity remains safe.
  • Profile 3 – The Ghost (Sock Puppet): SimpleX, Tuta, Tor Browser, social media accounts with fake identities. Encrypted with a different password. When the session ends (Settings > System > Multiple Users > End Session), encryption keys are wiped from RAM.

Phase 7: Behavioral OpSec – The Human Factor

Hardware and software are not enough without behavioral discipline.

The SIM Card Dilemma

  • Ideally, use no SIM. Use Wi-Fi only.
  • If mobile data is required, buy a prepaid SIM with cash. Never insert it near your home. Keep the phone in Airplane Mode within 1 mile of your safe house.

Gait Analysis & Metadata

  • Do not take photos of the view from your bedroom window. The angle can be used to geolocate you.
  • Do not type the way you usually type. Change capitalization habits and emoji usage in the Ghost profile.

The Faraday Bag

When not in use, the phone goes into a Faraday bag (e.g., Silent Pocket or Mission Darkness). This physically blocks all signals (cellular, GPS, Wi-Fi, Bluetooth).

Key Takeaways

OpSec LayerRisk AddressedMitigation
Hardware choice (Pixel)Weak bootloader security, inability to relockTitan M2 chip, Verified Boot
Network-shielded installationISP linking MAC address to identityBridge device + VPN, direct APK download
Always-on VPN with kill switchIP leakage, metadata exposureBlock connections without VPN
Sensors Off tilePhysical surveillance via camera/micPower cut to sensors
USB peripherals denialForensic extraction (Cellebrite)Deny new USB peripherals
Auto-rebootData accessible while unlocked (AFU)Reboot to BFU state
User profile compartmentalizationCross-profile contaminationSeparate encryption keys, session ending
Faraday bagRF tracking, remote exploitationFull signal blocking

Conclusion

Going from zero to OpSec is not convenient. It is a discipline: thinking before clicking, pausing before connecting, treating data like uranium. With a Pixel running GrapheneOS configured as above, the user becomes a ghost in the machine.

Stay safe. Stay hidden.