summaryrefslogtreecommitdiff
path: root/static/index.html
blob: 116d7889c071afa79f4d8364c25896926f67cd71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<!DOCTYPE html>
<html lang="en" prefix="og: http://ogp.me/ns#">
    <head>
        <meta charset="utf-8"/>
        <title>GrapheneOS</title>
        <meta name="description" content="GrapheneOS is a security and privacy focused mobile OS with Android app compatibility."/>
        <meta name="theme-color" content="#212121"/>
        <meta name="msapplication-TileColor" content="#ffffff"/>
        <meta name="viewport" content="width=device-width, initial-scale=1"/>
        <meta name="twitter:site" content="@GrapheneOS"/>
        <meta name="twitter:creator" content="@GrapheneOS"/>
        <meta property="og:title" content="GrapheneOS"/>
        <meta property="og:description" content="GrapheneOS is a security and privacy focused mobile OS with Android app compatibility."/>
        <meta property="og:type" content="website"/>
        <meta property="og:image" content="https://grapheneos.org/opengraph.png"/>
        <meta property="og:image:width" content="512"/>
        <meta property="og:image:height" content="512"/>
        <meta property="og:image:alt" content="GrapheneOS logo"/>
        <meta property="og:url" content="https://grapheneos.org/"/>
        <meta property="og:site_name" content="GrapheneOS"/>
        <link rel="icon" type="image/vnd.microsoft.icon" href="/favicon.ico"/>
        <link rel="mask-icon" href="/safari-pinned-tab-icon.svg" color="#000000"/>
        <link rel="stylesheet" href="/grapheneos.css?13"/>
        <link rel="manifest" href="/manifest.webmanifest"/>
        <link rel="canonical" href="https://grapheneos.org/"/>
    </head>
    <body>
        <nav>
            <ul>
                <li class="active"><a href="/">GrapheneOS</a></li>
                <li><a href="/install">Install</a></li>
                <li><a href="/build">Build</a></li>
                <li><a href="/usage">Usage</a></li>
                <!--<li><a href="/faq">FAQ</a></li>-->
                <li><a href="/releases">Releases</a></li>
                <li><a href="/source">Source</a></li>
                <li><a href="/donate">Donate</a></li>
                <li><a href="/contact">Contact</a></li>
            </ul>
        </nav>
        <div id="content">
            <h1 id="grapheneos">
                <a href="#grapheneos">GrapheneOS</a>
            </h1>
            <p>GrapheneOS is an open source privacy and security focused mobile OS with Android
            app compatibility.</p>
            <p>Official releases are available on the <a href="/releases">releases page</a> and
            installation instructions are on the <a href="/install">install page</a>.</p>
            <p>See the <a href="https://github.com/GrapheneOS">GitHub organization</a> for sources
            of the OS and various standalone sub-projects including the cutting edge
            <a href="https://github.com/GrapheneOS/hardened_malloc/blob/master/README.md">new
            hardened memory allocator</a> and other projects.</p>
            <p>The official GrapheneOS releases are supported by the
            <a href="https://github.com/GrapheneOS/Auditor/releases">Auditor app</a> and
            <a href="https://attestation.app/">attestation service</a> for hardware-based
            attestation. For more details, see the <a
            href="https://attestation.app/about">about page</a> and <a
            href="https://attestation.app/tutorial">tutorial</a>. You can also extend these with
            support for your own builds.</p>
            <p>The sources are available via the
            <a href="https://github.com/GrapheneOS/platform_manifest">manifest on GitHub</a>.</p>
            <h2 id="early-stage-of-development">
                <a href="#early-stage-of-development">Early stage of development</a>
            </h2>
            <p>GrapheneOS is a privacy / security research and engineering project that has been
            under way for over 5 years. It recently became rebranded as GrapheneOS and is taking a
            different direction based on obtaining funding for the research and development work
            as a non-profit open source project rather than being a company. The reborn project is
            still in a very early stage and lots of the past work on privacy and security has not
            yet been restored for the new incarnation of the OS.</p>
            <p>The grapheneos.org site is very new and is currently being put together. It will
            have lots of additional documentation and tutorials in the future along with coverage
            of various software, firmware and hardware privacy/security topics.</p>
            <p>GrapheneOS is being supported with funding and developers from various companies
            and other organizations interested in contributing to this shared base for a feature
            rich private and secure mobile operating system able to run many existing
            applications. It will take more time to organize and deploy these resources in order
            for the project to have a strong development team with proper infrastructure behind
            it.</p>
            <h2 id="roadmap">
                <a href="#roadmap">Roadmap</a>
            </h2>
            <p>Details on the roadmap of the project will be posted on the site in the near
            future. In the long term, it aims to move beyond a hardened fork of the Android Open
            Source Project. Achieving the goals requires moving away from relying the Linux kernel
            as the core of the OS and foundation of the security model. It needs to move towards a
            microkernel-based model with a Linux compatibility layer, with many stepping stones
            leading towards that goal including adopting virtualization-based isolation.</p>
            <p>The initial phase for the long-term roadmap of moving away from the current
            foundation will be to deploy and integrate a hypervisor like Xen to leverage it for
            reinforcing existing security boundaries. Linux would be running inside the virtual
            machines at this point, inside and outside of the sandboxes being reinforced. In the
            longer term, Linux inside the sandboxes can be replaced with a compatibility layer
            like gVisor, which would need to be ported to arm64 and given a new backend alongside
            the existing KVM backend. Over the longer term, i.e. many years from now, Linux can
            fade away completely and so can the usage of virtualization. The anticipation is that
            many other projects are going to be interested in this kind of migration, so it's not
            going to be solely a GrapheneOS project, as demonstrated by the current existence of
            the gVisor project and various other projects working on virtualization deployments
            for mobile. Having a hypervisor with verified boot still intact will also provide a
            way to achieve some of the goals based on extensions to Trusted Execution Environment
            (TEE) functionality even without having GrapheneOS hardware.</p>
            <p>Hardware and firmware security are core parts of the project, but it's currently
            limited to research and submitting suggestions and bug reports upstream. In the long
            term, the project will need to move into the hardware space.</p>
            <h2 id="device-support">
                <a href="#device-support">Device support</a>
            </h2>
            <p>In the current early stage of the project, GrapheneOS provides production releases
            for the Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL, Pixel 3a and Pixel
            3a XL. <strong>The recommended devices with the best hardware, firmware and software
            security along with the longest future support time are the Pixel 3a, Pixel 3a XL,
            Pixel 3 and Pixel 3 XL.</strong> It will support other devices in the future, but
            devices are carefully chosen based on their merits rather than the project aiming to
            have broad device support. Broad device support is counter to the aims of the
            project, and the project will eventually be engaging in hardware and firmware level
            improvements rather than only offering suggestions and bug reports upstream for those
            areas. Much of the work on the project involves changes that are specific to different
            devices, and officially supported devices are the ones targeted by most of this
            ongoing work. GrapheneOS also has source level support without device-specific
            hardening for the Android emulator, HiKey, HiKey 960 and also generic targets
            providing basic support for many other devices.</p>
            <p>Devices need to be meet the standards of the project in order to be considered as
            potential targets. In addition to support for installing other operating systems,
            standard hardware-based security features like the hardware-backed keystores, verified
            boot, attestation and various hardware-based exploit mitigations need to be available.
            Devices also need to have decent integration of IOMMUs for isolating components such
            as the GPU, radios (NFC, Wi-Fi, Bluetooth, Cellular), media decode / encode, image
            processor, etc. as if the hardware / firmware support is missing or broken, there's
            not much that the OS can do to provide an alternative. Devices with support for
            alternative operating systems as an afterthought will not be considered. Devices need
            to have proper ongoing support for their firmware and software specific to the
            hardware like drivers in order to provide proper full security updates too. Devices
            that are end-of-life and no longer receiving these updates will not be supported.</p>
            <p>In order to support a device, the appropriate resources also need to be available
            and dedicated towards it. Releases for each supported device need to be robust and
            stable, with all standard functionality working properly and testing for each of the
            releases.</p>
            <p>Hardware, firmware and software specific to devices like drivers play a huge role
            in the overall security of a device. The goal of the project is not to slightly
            improve some aspects of insecure devices and supporting a broad set of devices would
            be directly counter to the values of the project. A lot of the low-level work also
            ends up being fairly tied to the hardware.</p>
            <p>Some of the GrapheneOS sub-projects support other operating systems on a broader
            range of devices. Device support for Auditor and AttestationServer is documented in
            the <a href="https://attestation.app/about">overview of those projects</a>. The
            <a href="https://github.com/GrapheneOS">hardened_malloc</a> project supports nearly
            any Linux-based environment due to official support for musl, glibc and Bionic along
            with easily added support for other environments. It can easily run on non-Linux-based
            operating systems too, and supporting some like HardenedBSD is planned but depends on
            contributors from those communities.</p>
        </div>
        <footer>
            <a href="/"><img src="https://grapheneos.org/logo.png" width="512" height="512" alt=""/>GrapheneOS</a>
            <ul id="social">
                <li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
                <li><a href="https://github.com/GrapheneOS">GitHub</a></li>
            </ul>
        </footer>
    </body>
</html>