Harden Your Cell Phone
Introduction
Goals:
- GrapheneOS instead of stock Android
- No Google Play Services installed
- Not logged into any Google accounts
Google Pixel Phone
One goal of this article is to run GrapheneOS. The phones supported by GrapheneOS Releases are currently limited to Google Pixel devices.
Pick the newest Google Pixel Phone that is on the list of GrapheneOS supported devices and is in your price range.
GrapheneOS
GrapheneOS is a privacy and security focused mobile OS based on the Android Open Source Project (AOSP). GrapheneOS currently only supports Google Pixel devices, so this article assumes that you have a supported Google Pixel phone.
Follow the GrapheneOS Install Instructions. This article does not cover the OS installation procedure. After you complete the GrapheneOS install, return to this article for information and recommendations on app stores, specific applications, and configuration settings.
App Stores
This section covers app store options within GrapheneOS and their preferred order for obtaining apps.
GrapheneOS App Store
The GrapheneOS App Store is extremely limited and only contains GrapheneOS maintained apps (Camera, Messaging, PDF Viewer, Vanadium, …); Accrescent (a private and secure Android app store); and several core Android apps from Google for users that want to install them in a sandbox (Google Play Store, Google Play services, Android Auto, Markup).
Install:
- Accrescent (
app.accrescent.client
)
Do NOT install the Google Play Store, Google Play services, or the other Google apps unless absolutely necessary for your use case.
Accrescent
Accrescent is an Android app store focused on security, privacy, and usability. Accrescent is still in alpha, and doesn’t contain many apps. However, it is implicitly recommended by GrapheneOS via their app store, and it is a convenient way to install and update several apps.
Install:
- Organic Maps (
app.organicmaps
) - Just (Video) Player (
com.brouken.player
) - AppVerifier (
dev.soupslurpr.appverifier
) - BeauTyXT (
dev.soupslurpr.beautyxt
) - Auxio (
org.oxycblt.auxio
)
As more apps are added, prefer installing apps via Accrescent instead of the following methods.
Obtainium
The Obtainium website, wiki, and GitHub repository cover how to use the Obtainium app to install, update, and receive release notifications for other Android apps directly from their respective release pages on GitHub, GitLab, and other sources.
Install Obtainium directly from the project’s
GitHub Releases page.
Since we are using a newer Google Pixel device and are avoiding F-Droid packages,
you want the app-arm64-v8a-release.apk
.
Once Obtainium is installed and granted permission to install apps, you can Add App and either directly enter an app source URL, search various sources for the app, or use the link at the bottom of the panel to search supported crowdsourced app configurations. The following list will either specify searching the crowdsourced configurations or will provide a direct repository URL to enter into Obtainium.
Install:
- Aurora Store (
com.aurora.store
): crowdsourced app configuration - Brave (
com.brave.browser
): crowdsourced app configuration - DAVx5 (
at.bitfire.davdroid
): https://github.com/bitfireAT/davx5-ose/releases - Exodus (
org.eu.exodus_privacy.exodusprivacy
): crowdsourced app configuration - FairEmail (
eu.faircode.email
): crowdsourced app configuration- Choose
FairEmail-...-github-release.apk
- Choose
- KeePassDX (
com.hunzisoft.keepass.free
): https://github.com/Kunzisoft/KeePassDX/releases- Choose
KeePassDX-x.y.z-free.apk
- Choose
- Meshtastic (
com.geeksville.mesh
): https://github.com/meshtastic/Meshtastic-Android/releases- Choose
googleRelease-x.y.z.apk
- Choose
- NewPipe (
org.schabi.newpipe
): crowdsourced app configuration - Proton Calendar (
me.proton.android.calendar
): crowdsourced app configuration - Proton Drive (
me.proton.android.drive
): crowdsourced app configuration - Proton Mail (
ch.protonmail.android
): https://github.com/ProtonMail/android-mail/releases - Signal (
org.thoughtcrime.securesms
): crowdsourced app configuration - WireGuard (
com.wireguard.android
): crowdsourced app configuration
Google Play Store
Some apps are only available from the Google Play Store.
Use Aurora to install:
- Speech Recognition and Synthesis from Google (
com.google.android.tts
) - CoPilot GPS (
com.alk.copilot.mapviewer
) - ATAK-CIV (
com.atakmap.app.civ
)
F-Droid
The PrivSec article on F-Droid Security Issues and the Privacy Guides article on Obtaining Android Apps describe multiple problems with the F-Droid app store.
This article avoids using the F-Droid app store in any way.
Configuration
System Text-to-Speech
Text-to-Speech (TTS) support is required for turn-by-turn voice instructions in GPS navigation apps.
The following steps will temporarily grant the Google TTS app network permissions, download the data files for your selected voices, reduce the number of cases where the app will try to phone home, and then revoke the network (and all other) permissions. Once complete, you will have an offline TTS app that is unable to phone home.
- Open OS Settings app:
- Apps -> Speech Recognition and Synthesis from Google -> Permissions:
- Network: Allow (temporarily)
- Accessibility -> Text-to-speech output
- Preferred Engine: Speech Recognition and Synthesis from Google
- App settings gear:
- Install voice data: English (United States) -> Voice VI (personal preference)
- Use Wi-Fi only: Enable (Reduce attempts to use network permissions)
- Amplify speech volume: Enable
- Anonymous usage reports: Off (Prevent attempts to send usage reports)
- Press the Play button to verify TTS works properly
- Apps -> Speech Recognition and Synthesis from Google -> Permissions:
- Network: Don’t allow
- Sensors: Don’t allow
- (Anything else currently allowed): Don’t allow
- Apps -> Speech Recognition and Synthesis from Google -> Permissions:
Navigation App Text-to-Speech
Once the system is configured for Text-to-Speech (TTS), the GPS navigation apps must be configured to use the system’s TTS features.
Configure Organic Maps
- Open Organic Maps app -> Settings:
- Voice Instructions:
- Voice Instructions: Enable
- Announce Street Names: Enable
- Speed cameras: Always warn
- Press Test Voice Directions (TTS, Text-To-Speech) to verify TTS works properly
- Voice Instructions:
Configure CoPilot GPS
- Open CoPilot GPS app -> Settings:
- Regional and Voices -> Language:
- US English: US English com.google.android.tts
- Press the Test button at the bottom to verify TTS works properly
- Press the Done button at the top to save the settings
- US English: US English com.google.android.tts
- Safety Alerts and Warnings:
- Speed Limit:
- Show speed limit: Enable
- Show speed warning: Enable
- Receive audible speed warning: Enable
- Speed Limit:
- Regional and Voices -> Language:
Applications
Password Manager
- GrapheneOS/Android:
- KeePassDX:
GitHub Releases,
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 10 permissions (see full report for details)
- Exodus Privacy Report
- KeePassDX:
GitHub Releases,
Google Play Store
- iPhoneOS:
- KeePassium: Apple App Store
OpenPGP
- GrapheneOS/Android:
- OpenKeychain:
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 17 permissions (see full report for details)
- Exodus Privacy Report
- OpenKeychain:
Google Play Store
- iPhoneOS:
Online Communication
Virtual Private Network (VPN)
- GrapheneOS/Android:
- WireGuard:
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 8 permissions (see full report for details)
- Exodus Privacy Report
- WireGuard:
Google Play Store
- iPhoneOS:
- WireGuard: Apple App Store
Signal Private Messenger
- GrapheneOS/Android:
- Signal Private Messenger:
GitHub Releases,
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 72 permissions (see full report for details)
- Exodus Privacy Report
- Signal Private Messenger:
GitHub Releases,
Google Play Store
- iPhoneOS:
- Signal Private Messenger: Apple App Store
Proton Suite
- GrapheneOS/Android:
- Proton Mail:
Google Play Store
- Exodus Privacy Report
- 1 tracker (Sentry crash reporting)
- 15 permissions (see full report for details)
- Exodus Privacy Report
- Proton Calendar:
Google Play Store
- Exodus Privacy Report
- 1 tracker (Sentry crash reporting)
- 15 permissions (see full report for details)
- Exodus Privacy Report
- Proton Drive:
Google Play Store
- Exodus Privacy Report
- 1 tracker (Sentry crash reporting)
- 18 permissions (see full report for details)
- Exodus Privacy Report
- Proton Mail:
Google Play Store
- iPhoneOS:
- Proton Mail: Apple App Store
- Proton Calendar: Apple App Store
- Proton Drive: Apple App Store
https://protonmail.com/download/CalendarAndroid/ProtonCalendar-Android.apk https://proton.me/download/DriveAndroid/ProtonDrive-Android.apk
- GrapheneOS/Android:
- Thunderbird:
GitHub Releases,
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 17 permissions (see full report for details)
- Exodus Privacy Report
- FairEmail:
GitHub Releases,
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 34 permissions (see full report for details)
- Exodus Privacy Report
- Thunderbird:
GitHub Releases,
Google Play Store
- iPhoneOS:
It looks like K-9 Mail is half-way through re-branding as Thunderbird for Android.
Web Browser
- GrapheneOS/Android:
- Brave:
GitHub Releases,
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 31 permissions (see full report for details)
- Exodus Privacy Report
- Brave:
GitHub Releases,
Google Play Store
- iPhoneOS:
- Brave: Apple App Store
YouTube
In addition to the privacy concerns with Google’s official YouTube app, the official YouTube app has become unusable with multiple pre-video, mid-video, and post-video ads.
NewPipe is a lightweight, open source, privacy friendly application for playing YouTube videos.
- GrapheneOS/Android:
- NewPipe:
GitHub Releases
- Exodus Privacy Report
- 1 tracker (ACRA crash reporting)
- 9 permissions (see full report for details)
- Exodus Privacy Report
- NewPipe:
GitHub Releases
Offline Communication
Meshtastic
Meshtastic is an open source project that uses affordable, low-power, LoRa radio devices to build off-grid, decentralized, mesh networks.
- GrapheneOS/Android:
- Meshtastic:
GitHub Releases,
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 17 permissions (see full report for details)
- Exodus Privacy Report
- Meshtastic:
GitHub Releases,
Google Play Store
- iPhoneOS:
- Meshtastic: Apple App Store
Automatic Packet Reporting System (APRS)
- GrapheneOS/Android:
- APRSdroid: Google Play Store
- iPhoneOS:
- aprs.fi: Apple App Store
Offline Navigation
Text-to-Speech
A text-to-speech (TTS) service is required for GPS navigation apps to provide turn-by-turn voice directions. GrapheneOS does not yet include a text-to-speech (TTS) service.
While eSpeak NG is usable, and one of the better open source options, it still sounds like a 1980s Speak and Spell and is hard to understand if there is any significant road noise.
Google’s Speech Recognition and Synthesis package that ships with regular Android is unfortunately the best option for better sounding TTS in GrapheneOS at this time. This Google app does not depend on Google Play Services being present, and after initial configuration, all of its app permissions can be revoked to prevent it from sending out any data.
- Google Speech Recognition and Synthesis:
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 11 permissions
- Exodus Privacy Report
- eSpeak NG:
GitHub Releases
- Exodus Privacy Report
- 0 trackers
- 0 permissions
- Exodus Privacy Report
CoPilot GPS
- GrapheneOS/Android:
- CoPilot GPS Navigation:
Google Play Store
- Exodus Privacy Report
- 2 trackers (Google Firebase Analytics, Raygun analytics and crash reporting)
- 24 permissions (see full report for details)
- Exodus Privacy Report
- CoPilot GPS Navigation:
Google Play Store
- iPhoneOS:
- CoPilot GPS Navigation: Apple App Store
Organic Maps
Organic Maps is a privacy-focused offline map and GPS app that uses OpenStreetMap data.
- GrapheneOS/Android:
- Organic Maps:
GitHub Releases,
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 15 permissions (see full report for details)
- Exodus Privacy Report
- Organic Maps:
GitHub Releases,
Google Play Store
- iPhoneOS:
- Organic Maps: Apple App Store
TAK
The United States Government (USG) developed the Tactical Assault Kit (TAK). When they make a version available to civilians, the civilian name was changed to the Team Awareness Kit (TAK).
- GrapheneOS/Android:
- ATAK-CIV (Android TAK – Civil Use):
Google Play Store
- Exodus Privacy Report
- 1 tracker (ACRA crash reporting)
- 47 permissions (see full report for details)
- Exodus Privacy Report
- ATAK Plugins:
- Data Sync:
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 0 permissions
- Exodus Privacy Report
- Meshtastic: GitHub Releases
- VNS (Vehicle Navigation System):
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 3 permissions (see full report for details)
- Exodus Privacy Report
- WASP (Wide Area Search Plugin):
Google Play Store
- Exodus Privacy Report
- 0 trackers
- 1 permission (see full report for details)
- Exodus Privacy Report
- Data Sync:
Google Play Store
- ATAK-CIV (Android TAK – Civil Use):
Google Play Store
- iPhoneOS:
- iTAK (iOS TAK): Apple App Store
Unfortunately, due to Apple App Store requirements, plugins are not supported in iTAK.