GrapheneOS [Unofficial]

1058 readers
1 users here now

Welcome to the GrapheneOS (Unofficial) community

This feed is currently only used for announcements and news.

Official support available on our forum and matrix chat rooms

GrapheneOS is a privacy and security focused mobile OS with Android app compatibility.

Links

More Site links

Social Media

This is a community based around the GrapheneOS projects including the hardened Android Open Source Project fork, Auditor, AttestationServer, the hardened malloc implementation and other projects.

founded 3 years ago
MODERATORS
26
 
 

GrapheneOS support for the Pixel 9 Pro Fold is no longer marked experimental and is now available through our production site:

https://grapheneos.org/releases https://grapheneos.org/install/web

Our 2024083100 release has been confirmed to be working and to have a working future upgrade path.

27
 
 

Changes in version 135:

  • update max supported version of Play services to 24.35
  • update max supported version of Play Store to 42.5
  • enable generation of v4 APK signatures

A full list of changes from the previous release (version 134) is available through the Git commit log between the releases (only changes to the gmscompat_config text file and config-holder/ directory are part of GmsCompatConfig).

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release.

28
 
 

Changes in version 134:

  • add new approach to disabling Play services OS update service required by 24.31 onwards to avoid uncaught exceptions in rare cases it tries to run
  • update Android Gradle plugin to 8.6.0

A full list of changes from the previous release (version 133) is available through the Git commit log between the releases (only changes to the gmscompat_config text file and config-holder/ directory are part of GmsCompatConfig).

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release.

29
 
 

Pixel 4a (5G) and Pixel 5 are end-of-life and shouldn't be used anymore due to lack of security patches for firmware and drivers. We provide extended support for harm reduction.

Tags:

  • 2024083100-redfin (Pixel 4a (5G), Pixel 5)
  • 2024083100 (Pixel 5a, Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, Pixel 8, Pixel 8 Pro, Pixel 8a, emulator, generic, other targets)
  • 2024083100-caimito (Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold)

Changes since the 2024082200 release:

  • don't hide Exploit protection Safety Center item in secondary users
  • Settings: improve UI for GrapheneOS app toggles including adding a screen for viewing the values across apps for each toggle
  • add more infrastructure for blocking dynamic code loading
  • Settings: add per-app memory dynamic code loading restriction toggle (applies to both native code and Android Runtime class loading for Java/Kotlin)
  • Settings: add per-app storage dynamic code loading restriction toggle (applies to both native code and Android Runtime class loading for Java/Kotlin), temporarily without a global toggle until Google phases out the old dynamite module system for Google Play due to many apps temporarily depending on this through it
  • Settings: add per-app WebView JIT restriction toggle
  • add production support for the Pixel 9, Pixel 9 Pro and Pixel 9 Pro XL
  • add experimental support for the Pixel 9 Pro Fold (we haven't received our preordered device for testing yet)
  • add support for enabling app association restrictions without exemptions (currently for use with Pixel Thermometer)
  • add support for Pixel Thermometer app available from our App Store for the Pixel 8 Pro, Pixel 9 Pro and Pixel 9 Pro XL with strict isolation from other apps
  • add missing feature compatibility matrix definitions (mainly for 9th generation Pixels)
  • Contact Scopes: explicitly set initialization order after ContactsProvider2 to avoid uncaught exceptions from a race
  • kernel (6.1): disable unused hibernation support
  • kernel (6.1, 6.6): enable struct randomization in the full mode with a deterministic seed based on kernel commit timestamp (we plan to also incorporate the device family and eventually make the seed specific to each device model, but it will increase our build/testing workload)
  • kernel (6.6): enable random kmalloc caches
  • kernel (5.10): update to latest GKI LTS branch revision
  • kernel (6.1): update to latest GKI LTS branch revision including update to 6.1.96
  • kernel (6.6): update to latest GKI LTS branch revision including update to 6.6.46
  • Vanadium: update to version 128.0.6613.88.1
  • Vanadium: update to version 128.0.6613.99.0
  • Auditor: update to version 84
  • GmsCompatConfig: update to version 131
  • GmsCompatConfig: update to version 132
  • GmsCompatConfig: update to version 133
  • drop restriction on modifying GrapheneOS-specific per-package settings via ADB shell since it makes certain important testing require debug builds and has no real security value
  • flash-all.sh: restore POSIX sh compatibility to allow using sh instead of bash on systems where sh is dash or another non-bash-compatible shell
  • add support for using backslashes in the passphrases for encrypting the keys for signing OS releases
30
 
 

We've published an initial experimental release for the Pixel 9 Pro Fold on our staging site:

https://staging.grapheneos.org/releases#comet-stablehttps://staging.grapheneos.org/install/web

Our preordered Pixel 9 Pro Fold for our device testing farm hasn't arrived yet so we'll be relying on others to test the early builds.

Everything has been ported for it already and there's nothing else to do for it without testing feedback from users. There's a high chance everything is already fine for it since we have production quality support for the other 9th gen Pixels and the original 7th gen Pixel Fold.

31
 
 

Source code and factory images for the Pixel 9 Pro Fold have been published. We've added support for it to our Auditor app: https://grapheneos.social/@GrapheneOS/113047519006891751. We're beginning work on adding GrapheneOS support but our test device hasn't arrived yet so we won't be able to test ourselves yet.

32
 
 

Notable changes in version 84:

  • add support for Pixel 9 Pro Fold with either the stock OS or GrapheneOS
  • update Android Gradle plugin to 8.6.0
  • update Kotlin to 2.0.20

A full list of changes from the previous release (version 83) is available through the Git commit log between the releases.

The Auditor app uses hardware security features on supported devices to validate the integrity of the operating system from another Android device. It will verify that the device is running the stock operating system with the bootloader locked and that no tampering with the operating system has occurred. It will also detect downgrades to a previous version.

It cannot be bypassed by modifying or tampering with the operating system (OS) because it receives signed device information from the device's Trusted Execution Environment (TEE) or Hardware Security Module (HSM) including the verified boot state, operating system variant and operating system version. The verification is much more meaningful after the initial pairing as the app primarily relies on Trust On First Use via pinning. It also verifies the identity of the device after the initial verification. Trust is chained through the verified OS to the app to bootstrap software checks with results displayed in a separate section.

This app is available through the Play Store with the app.attestation.auditor.play app id. Play Store releases go through review and it usually takes around 1 to 3 days before the Play Store pushes out the update to users. Play Store releases use Play Signing, so we use a separate app id from the releases we publish ourselves to avoid conflicts and to distinguish between them. Each release is initially pushed out through the Beta channel followed by the Stable channel.

Releases of the app signed by GrapheneOS with the app.attestation.auditor app id are published in the GrapheneOS App Store and on GitHub. These releases are also bundled as part of GrapheneOS. You can use the GrapheneOS App Store on Android 12 or later for automatic updates. Each release is initially pushed out through the Alpha channel, followed by the Beta channel and then finally the Stable channel.

GrapheneOS users must either obtain GrapheneOS app updates through our App Store or install it with adb install-multiple with both the APK and fs-verity metadata since fs-verity metadata is now required for out-of-band system app updates on GrapheneOS as part of extending verified boot to them.

33
 
 

Changes in version 128.0.6613.99.0:

  • update to Chromium 128.0.6613.99
  • backport upstream implementation of enforcing blob URL partitioning
  • enforce dynamic code execution restrictions with seccomp-bpf when JIT is disabled (prevent creating executable anonymous mappings, writable and executable file mappings or marking a non-executable mapping executable)
  • explicitly declare queries to Vanadium Config package for both the WebView and browser

A full list of changes from the previous release (version 128.0.6613.88.1) is available through the Git commit log between the releases.

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release. Vanadium isn't yet officially available for users outside GrapheneOS, although we plan to do that eventually. It won't be able to provide the WebView outside GrapheneOS and will have missing hardening and other features.

34
 
 

Changes in version 133:

  • update max supported version of Play services to 24.34

A full list of changes from the previous release (version 132) is available through the Git commit log between the releases (only changes to the gmscompat_config text file and config-holder/ directory are part of GmsCompatConfig).

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release.

35
 
 

Our 5th release for Pixel 9, Pixel 9 Pro and Pixel 9 Pro XL is available. Main improvement is replacing Linux 6.1.75 with latest GKI LTS (6.1.95). Remaining gap should go away soon. Pixel Thermometer is now supported for 9 Pro / 9 Pro XL and can be installed via our App Store.

Pixel Thermometer is also supported on the Pixel 8 Pro now too. 9th gen Pixel users are getting it early since we needed another early release to port them to our standard 6.1 GKI LTS branch. With the next official release, 9th gen Pixel should be on the regular release cycle.

36
 
 

Our 4th release for the Pixel 9, Pixel 9 Pro and Pixel 9 Pro XL is now available. It adds two Bluetooth bug fixes missing from the temporary Android Open Source Project branch for 9th generation Pixels. One of those is a Bluetooth issue we reported.

https://grapheneos.social/@GrapheneOS/112095059145360678

37
 
 

Changes in version 132:

  • add workaround for chain crash on unsupported Android 12.1 devices end-of-life for almost 3 years as a special exception which won't be followed with other fixes for known issues (not realistic for us to indefinitely support devices and users need to move to supported devices)

A full list of changes from the previous release (version 131) is available through the Git commit log between the releases (only changes to the gmscompat_config text file and config-holder/ directory are part of GmsCompatConfig).

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release.

38
 
 

Telegram has full access to all of the content of group chats and regular one-to-one chats due to lack of end-to-end encryption. Their opt-in secret chats use homegrown end-to-end encryption with weaknesses. Deleting the content from the app likely won't remove all copies of it.

Telegram has heavily participated in misinformation campaigns targeting actual private messaging apps with always enabled, properly implemented end-to-end encryption such as Signal. Should stop getting any advice from anyone who told you to use Telegram as a private messenger.

Telegram is capable of handing over all messages in every group and regular one-to-one chat to authorities in France or any other country. A real private messaging app like Signal isn't capable of turning over your messages and media. Telegram/Discord aren't private platforms.

A major example of how Telegram's opt-in secret chat encryption has gone seriously wrong before: https://words.filippo.io/dispatches/telegram-ecdh/.

The practical near term threat is for the vast majority of chats without end-to-end encryption: 100% of Telegram group chats and the regular 1-to-1 chats.

Companies should treat user data as toxic waste rather than as something they want to gather and hoard for business models like targeted advertising. It's not a good thing to have a bunch of sensitive data which could be obtained by adversaries or requested by a government.

Not using E2EE creates a lot more legal risk than using E2EE at least while E2EE is still legal in most of the world. Not using E2EE gives the technical capability to moderate, provide data, etc. and therefore governments expect that to be done. That's why they hate E2EE.

Apps like Signal and SimpleX can't access messages, media and profiles. Telegram has access to all content in private group chats and regular private messages unless people used a secret chat. They can automatically scan it, moderate and provide data to authorities based on it.

Telegram chose to have the technical capability to see all private group chats and regular direct messages. In doing so, they put private user data at risk of seizure by governments. The scramble to try to delete data shows lack of basic threat modelling:

https://x.com/sambendett/status/1827712700299821277

Even Facebook's WhatsApp uses end-to-end encrypted direct messages and group chats and WhatsApp is clearly not a private messaging app. It's not a niche feature. Telegram shouldn't have been heavily marketed as private/encrypted when most user data can be handed to governments.

39
 
 

Changes in version 131:

  • disable Play services OS update services to avoid errors being shown for some users
  • update max supported version of Play services to 24.33
  • update max supported version of Play Store to 42.4

A full list of changes from the previous release (version 130) is available through the Git commit log between the releases (only changes to the gmscompat_config text file and config-holder/ directory are part of GmsCompatConfig).

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release.

40
 
 

GrapheneOS support for the Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL is now available via our official site in addition to our staging site.

https://grapheneos.org/install/web

Most users don't have any issues. 2 people reported an occasional Wi-Fi connectivity issue not happening for others.

41
 
 

Our third release for the Pixel 9, Pixel 9 Pro and Pixel 9 Pro XL is now available with a fix for adjusting volume levels and support for configuration vibration intensity. There have been 2 reports of occasional Wi-Fi connectivity issues which we're currently investigating.

42
 
 

The first update for GrapheneOS on the Pixel 9, Pixel 9 Pro and Pixel 9 Pro XL is now available. It now has a full port of our hardware-level + software-level USB-C port control feature as a replacement for our legacy USB peripheral control feature: https://grapheneos.org/features#usb-c-port-and-pogo-pins-control.

Currently, the only known issue with support for 9th generation Pixels is all volume levels above 0% currently acting the same way. We're actively working on this and should have a fix for it available soon. Once that's resolved, we're already close to a production release.

43
 
 

Experimental releases of GrapheneOS for the Pixel 9, Pixel 9 Pro and Pixel 9 Pro XL can already be installed with the web installer on our staging site:

https://staging.grapheneos.org/install/web

Can also use the CLI install guide with the releases listed on the staging site releases page.

Our USB-C port control feature with both hardware-level and software-level enforcement hasn't been ported to them yet. They temporarily have our old USB peripherals toggle not depending on changes to device-specific USB HAL and USB-C kernel driver. We aim to get this done soon.

These are production builds signed with the official keys with our standard update system. They'll get updated to future releases without needing to reinstall the OS.

For now, please report issues to our testing chat room rather than our issue tracker: https://grapheneos.org/contact#community-chat.

44
 
 

Changes in version 128.0.6613.88.1:

  • rebuild to resolve regression caused by x86_64 build used for the emulator being done with the arm64 configuration

A full list of changes from the previous release (version 128.0.6613.88.0) is available through the Git commit log between the releases.

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release. Vanadium isn't yet officially available for users outside GrapheneOS, although we plan to do that eventually. It won't be able to provide the WebView outside GrapheneOS and will have missing hardening and other features.

45
 
 

Pixel 4a (5G) and Pixel 5 are end-of-life and shouldn't be used anymore due to lack of security patches for firmware and drivers. We provide extended support for harm reduction.

Tags:

  • 2024082200-redfin (Pixel 4a (5G), Pixel 5)
  • 2024082200 (Pixel 5a, Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, Pixel 8, Pixel 8 Pro, Pixel 8a, emulator, generic, other targets)

Changes since the 2024082000 release:

  • Settings: fix regression in the previous release which blocked it reaching the Stable channel by making the duress PIN/password configuration unavailable in secondary users again (it was only usable when the secondary user had the same unlock PIN/password as the Owner user)
  • adevtool: remove non-functional repair mode support
  • adevtool: remove non-functional digital car key support (requires privileged Google Play)
  • adevtool: remove invalid clock font family overlay (google-sans-clock font not included)
  • adevtool: update out-of-band carrier settings
  • Pixel 8a: add Let's Encrypt (ISRG) roots for Samsung gnssd SUPL connections via adevtool instead to share the implementation with 9th generation Pixels
  • kernel (6.1): update to latest GKI LTS branch revision
  • Auditor: update to version 83
  • Vanadium: update to version 128.0.6613.88.0
46
 
 

Changes in version 128.0.6613.88.0:

  • update to Chromium 128.0.6613.88

A full list of changes from the previous release (version 127.0.6533.104.3) is available through the Git commit log between the releases.

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release. Vanadium isn't yet officially available for users outside GrapheneOS, although we plan to do that eventually. It won't be able to provide the WebView outside GrapheneOS and will have missing hardening and other features.

47
 
 

Notable changes in version 83:

  • add support for Pixel 9, Pixel 9 Pro and Pixel 9 Pro XL with either the stock OS or GrapheneOS
  • mark legacy devices which are no longer supported as explicit unsupported
  • update Android Gradle plugin to 8.5.2
  • update Android NDK to 27.0.12077973
  • update Gradle to 8.10
  • update Guava library to 33.3.0

A full list of changes from the previous release (version 82) is available through the Git commit log between the releases.

The Auditor app uses hardware security features on supported devices to validate the integrity of the operating system from another Android device. It will verify that the device is running the stock operating system with the bootloader locked and that no tampering with the operating system has occurred. It will also detect downgrades to a previous version.

It cannot be bypassed by modifying or tampering with the operating system (OS) because it receives signed device information from the device's Trusted Execution Environment (TEE) or Hardware Security Module (HSM) including the verified boot state, operating system variant and operating system version. The verification is much more meaningful after the initial pairing as the app primarily relies on Trust On First Use via pinning. It also verifies the identity of the device after the initial verification. Trust is chained through the verified OS to the app to bootstrap software checks with results displayed in a separate section.

This app is available through the Play Store with the app.attestation.auditor.play app id. Play Store releases go through review and it usually takes around 1 to 3 days before the Play Store pushes out the update to users. Play Store releases use Play Signing, so we use a separate app id from the releases we publish ourselves to avoid conflicts and to distinguish between them. Each release is initially pushed out through the Beta channel followed by the Stable channel.

Releases of the app signed by GrapheneOS with the app.attestation.auditor app id are published in the GrapheneOS App Store and on GitHub. These releases are also bundled as part of GrapheneOS. You can use the GrapheneOS App Store on Android 12 or later for automatic updates. Each release is initially pushed out through the Alpha channel, followed by the Beta channel and then finally the Stable channel.

GrapheneOS users must either obtain GrapheneOS app updates through our App Store or install it with adb install-multiple with both the APK and fs-verity metadata since fs-verity metadata is now required for out-of-band system app updates on GrapheneOS as part of extending verified boot to them.

48
 
 

Pixel 4a (5G) and Pixel 5 are end-of-life and shouldn't be used anymore due to lack of security patches for firmware and drivers. We provide extended support for harm reduction.

Tags:

  • 2024082000-redfin (Pixel 4a (5G), Pixel 5)
  • 2024082000 (Pixel 5a, Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, Pixel 8, Pixel 8 Pro, Pixel 8a, emulator, generic, other targets)

Changes since the 2024080600 release:

  • Settings: enable Safety Center and port all of the relevant GrapheneOS settings to it both to provide the more modern user interface and to prepare for the release of Android 15
  • hide Safety Center camera extensions fallback toggle when it's not relevant (not used on Pixels)
  • Package Installer: fix upstream bug causing null pointer exception in rare edge cases including a rare race condition
  • require Owner user credential to check whether a duress PIN/password is enabled as hardening against potential UI bugs such as the upstream predictive back gesture issue we patched in the Settings app
  • apply upstream change for 6th generation Pixels making snapuserd available in recovery to avoid a problem in a rare edge case where a factory reset occurs before finishing booting a new update
  • apply minor upstream fixes for Settings which were temporarily only shipped for certain Pixels
  • add fastboot to otatools.zip for optimized factory images generation
  • flash-all: raise minimum fastboot version to 35.0.1
  • kernel (5.10): update to latest GKI LTS branch revision including update to 5.10.223
  • kernel (5.15): update to latest GKI LTS branch revision including update to 5.15.164
  • kernel (6.1): update to latest GKI LTS branch revision including update to 6.1.95
  • kernel (6.6): update to latest GKI LTS branch revision including update to 6.6.45
  • remove duplicate Android.bp from unpacked otatools.zip to avoid breaking subsequent builds when it's unpacked in the source tree
  • add Android 15 Beta build configuration for early development/testing of our Android 15 port via an ap2f release configuration enabling all of the available Android 15 feature flags
  • port GrapheneOS changes to new code for Android 15 used by our Android 15 Beta build configuration
  • Vanadium: update to version 127.0.6533.104.0
  • Vanadium: update to version 127.0.6533.104.1
  • Vanadium: update to version 127.0.6533.104.2
  • Vanadium: update to version 127.0.6533.104.3
  • GmsCompatConfig: update to version 128
  • GmsCompatConfig: update to version 129
  • GmsCompatConfig: update to version 130
49
 
 

We've started work on adding support for the Pixel 9, Pixel 9 Pro and Pixel 9 Pro XL. We haven't received our test devices yet but they should arrive within a couple days. Pixel 9 Pro Fold will be supported like the earlier Pixel Fold but it's launching later than the others.

Our device testing lab now has a Pixel 9 and Pixel 9 Pro XL. Pixel 9 Pro Fold is preordered and we should receive it at launch.

The regular Pixel 9 Pro was out-of-stock so we haven't ordered one yet. We can buy one later and use up the credit from buying the other 3 devices.

GrapheneOS support for Pixel 9, Pixel 9 Pro and Pixel 9 Pro XL is coming along nicely. It will be ready for public experimental testing soon. It's currently being delayed by Chromium v128 reaching Stable today. We also need another regular OS release due to a minor UI regression.

Our initial port to the Pixel 9, Pixel 9 Pro and Pixel 9 Pro XL is complete and is going to begin going through internal testing. There will likely be at least a few issues to resolve. We'll likely be able to publish a public experimental release in around 12 to 14 hours.

We're working on resolving an early boot crash with 9th generation Pixels caused by porting our hardware-level USB-C port control to them. If necessary, we can partially omit this feature for an initial experimental release. Our aim is to have a public experimental release today.

It's available now:

https://grapheneos.social/@GrapheneOS/113010526089814611

50
 
 

Changes in version 130:

  • add stub for PackageManager.getPackagesForUid() to cover our GmcPackageManager.getPackagesForUid() shim still throwing a security exception when handling passing an invalid negative UID due to how the OS APIs work instead of the error expected by Play services

A full list of changes from the previous release (version 129) is available through the Git commit log between the releases (only changes to the gmscompat_config text file and config-holder/ directory are part of GmsCompatConfig).

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release.

view more: ‹ prev next ›