Usage
This page is currently a placeholder and will be filled with lots of content over time.
+Auditor ¶
See the tutorial page on the site for the attestation sub-project.
++ Updates + ¶ +
+ +The update system implements automatic background updates. It checks for updates + approximately once every four hours when there's network connectivity and then + downloads and installs updates in the background. It will pick up where it left off if + downloads are interrupted, so you don't need to worry about interrupting it. + Similarly, interrupting the installation isn't a risk because updates are installed to + a secondary installation of GrapheneOS which only becomes the active installation + after the update is complete. Once the update is complete, you'll be informed with a + notification and simply need to reboot with the button in the notification or via a + normal reboot. If the new version fails to boot, the OS will roll back to the past + version and the updater will attempt to download and install the update again.
+ +The updater will use incremental updates to download only changes rather than the + whole OS unless the current version is behind the current release by more than 3 + versions. As long as you have working network connectivity on a regular basis and + reboot when asked, you'll almost always be on one of the past couple versions of the + OS which will minimize bandwidth usage since incrementals will always be available. If + you fall more than 3 versions behind, it will download a large full update shipping + the full OS so it can update from any version.
+ +The updater works while the device is locked / idle, including before the first + unlock since it's explicitly designed to be able to run before decryption of user + data.
+ +Release changelogs are available in a section on the releases page.
+ ++ Settings + ¶ +
+ +The settings are available in the Settings app in System ➔ Advanced ➔ Update + settings.
+ +The "Release channel" setting can be changed from the default Stable channel to the + Beta channel if you want to help with testing. The Beta channel will usually simply + follow the Stable channel, but the Beta channel may be used to experiment with new + features.
+ +The "Permitted networks" setting controls which networks will be used to perform + updates. It defaults to using any network connection. It can be set to "Non-roaming" + to disable it when the cellular service is marked as roaming or "Unmetered" to disable + it on cellular networks and also Wi-Fi networks marked as metered.
+ +The "Require battery above warning level" setting controls whether updates will + only be performed when the battery is above the level where the warning message is + shown. The standard value is at 15% capacity.
+ +Enabling the opt-in "Automatic reboot" setting allows the updater to reboot the + device after an update once it has been idle for a long time. When this setting is + enabled, a device can take care of any number of updates completely automatically even + if it's left completely idle.
+ ++ Security + ¶ +
+ +The update server isn't a trusted party since updates are signed and verified along + with downgrade attacks being prevented. The update protocol doesn't send identifiable + information to the update server and works well over a VPN / Tor. GrapheneOS isn't + able to comply with a government order to build, sign and ship a malicious update to a + specific user's device based on information like the IMEI, serial number, etc. The + update server only ends up knowing the IP address used to connect to it and the + version being upgraded from based on the requested incremental.
+ +Android updates can support serialno constraints to make them validate only on a + certain device but GrapheneOS rejects any update with a serialno constraint for both + the Stable and Beta channels.
+ ++ Disabling + ¶ +
+ +It's highly recommended to leave automatic updates enabled and to configure the + permitted networks if the bandwidth usage is a problem on your mobile data connection. + However, it's possible to turn off the update client by going to Settings ➔ Apps, + enabling Show system via the menu, selecting Seamless Update Client and disabling the + app. If you do this, you'll need to remember to enable it again to start receiving + updates.
+