summaryrefslogtreecommitdiff
path: root/static/index.html
blob: 60b6e40fe48e4a0b2727fae86c7c3297a47d2d05 (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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
<!DOCTYPE html>
<html lang="en" prefix="og: https://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:site_name" content="GrapheneOS"/>
        <meta property="og:url" content="https://grapheneos.org/"/>
        <link rel="canonical" href="https://grapheneos.org/"/>
        <link rel="icon" sizes="16x16 24x24 32x32 48x48 64x64" type="image/vnd.microsoft.icon" href="/favicon.ico"/>
        <link rel="icon" sizes="any" type="image/svg+xml" href="/mask-icon.svg"/>
        <link rel="mask-icon" href="/mask-icon.svg" color="#1a1a1a"/>
        <link rel="apple-touch-icon" href="/apple-touch-icon.png"/>
        <link rel="stylesheet" href="/grapheneos.css?29"/>
        <link rel="manifest" href="/manifest.webmanifest"/>
        <link rel="license" href="/LICENSE.txt"/>
        <script type="module" src="/js/redirect.js?10"></script>
    </head>
    <body>
        <header>
            <nav id="site-menu">
                <ul>
                    <li aria-current="page"><a href="/">GrapheneOS</a></li>
                    <li><a href="/features">Features</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="/articles/">Articles</a></li>
                    <li><a href="/donate">Donate</a></li>
                    <li><a href="/contact">Contact</a></li>
                </ul>
            </nav>
        </header>
        <main id="grapheneos">
            <h1><a href="#grapheneos">GrapheneOS</a></h1>

            <p>GrapheneOS is a privacy and security focused mobile OS with Android app
            compatibility developed as a non-profit <a href="/source">open source</a> project.
            It's focused on the research and development of privacy and security technology
            including substantial improvements to sandboxing, exploit mitigations and the
            permission model. GrapheneOS also develops various apps and services with a focus on
            privacy and security. Vanadium is a hardened variant of the Chromium browser and
            WebView specifically built for GrapheneOS. GrapheneOS also includes our minimal
            security-focused PDF Viewer, our hardware-based Auditor app / attestation service
            providing local and remote verification of devices, and the externally developed
            Seedvault encrypted backup which was initially developed for inclusion in
            GrapheneOS.</p>

            <p>GrapheneOS improves the privacy and security of the OS from the bottom up. It
            deploys technologies to mitigate whole classes of vulnerabilities and make exploiting
            the most common sources of vulnerabilities substantially more difficult. It improves
            the security of both the OS and the apps running on it. The app sandbox and other
            security boundaries are fortified. GrapheneOS tries to avoid impacting the user
            experience with the privacy and security features. Ideally, the features can be
            designed so that they're always enabled with no impact on the user experience and no
            additional complexity like configuration options. It's not always feasible, and
            GrapheneOS does add various toggles for features like the Network permission, Sensors
            permission, restrictions when the device is locked (USB peripherals, camera, quick
            tiles), etc. along with more complex user-facing privacy and security features with
            their own UX.</p>

            <p>The <a href="/features">features page</a> provides an overview of the substantial
            privacy and security improvements added by GrapheneOS to the Android Open Source
            Project.</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>

            <section id="never-google-services">
                <h2><a href="#never-google-services">No Google apps or services</a></h2>

                <p>GrapheneOS will never include either Google Play services or another
                implementation of Google services like microG. Those are not included in the
                Android Open Source Project and are not required for baseline Android
                compatibility. Apps designed to run on Android rather than only Android with
                bundled Google apps and services already work on GrapheneOS, so a huge number of
                both open and closed source apps are already available for it.</p>

                <p>AOSP APIs not tied to Google but that are typically provided via Play services
                will continue to be implemented using open source providers like the Seedvault
                backup app. Text-to-speech, speech-to-text, non-GPS-based location services,
                geocoding, accessibility services, etc. are examples of other open Android APIs
                where we need to develop/bundle an implementation based on existing open source
                projects. GrapheneOS is not going to be implementing these via a Google service
                compatibility layer because these APIs are in no way inherently tied to Google
                services.</p>

                <p>We're developing a minimal Play services compatibility layer as a regular app
                without any special privileges. The app will provide a stub implementation of the
                entire Play services API pretending the servers are down and the functionality is
                unavailable. It will always be disabled by default since apps will detect Play
                services is available and will try to use it rather than alternatives. As an
                example, Signal would try to use a non-functional FCM implementation rather than
                their own server push implementation. The intention is that users will only enable
                this in profiles dedicated to running apps with an unnecessary hard dependency on
                Play services. We'll likely prevent enabling it in the owner profile to help users
                avoid those kinds of pitfalls.</p>

                <p>Our Play services app won't have any special privileges or whitelisting in the
                OS like Play services or microG. There will be no support for bypassing arbitrary
                signature checks like the microG signature spoofing patch since it substantially
                compromises the OS security model and breaks other security features like verified
                boot. Instead, our app will be signed with a GrapheneOS Play services key and the
                only OS support for the app will be presenting the GrapheneOS Play services key as
                the Google Play services key.</p>

                <p>Ideally, Google themselves would support installing the official Play services
                as a regular Android app, rather than taking the monopolistic approach of forcing
                it to be bundled into the OS in a deeply integrated way with special privileged
                permissions and capabilities unavailable to other service providers competing with
                them. Even though we would never include it in GrapheneOS, it would be great if
                users did have the option to install Play services as a regular app in specific
                profiles. It's unfortunate that the approach taken to it is so deeply integrated
                and anti-competitive. GrapheneOS users can still choose to use Google services if
                they choose, but largely only via a browser. A few of their apps like Google Maps
                do work with reduced functionality without Play services but most won't.</p>
            </section>

            <section id="history">
                <h2><a href="#history">History</a></h2>

                <p>GrapheneOS was founded by Daniel Micay in late 2014. It started as a solo project
                incorporating his previous open source privacy/security work. The project initially
                created a port of OpenBSD malloc to Android's Bionic libc and a port of the PaX kernel
                patches to the kernels for the supported devices. It quickly expanded to having a
                large set of homegrown privacy and security improvements, particularly low-level
                hardening work on the compiler toolchain and Bionic. Work began on landing code
                upstream in AOSP and other upstream projects. A substantial portion of these early
                changes were either successfully landed upstream or heavily influenced the upstream
                changes which replaced them. The project was able to move very quickly in these days
                because there was so much low hanging fruit to address and it wasn't yet trying to
                produce a highly robust, production quality OS.</p>

                <p>In late 2015, a company was incorporated which became the primary sponsor of the
                project. GrapheneOS was previously known as CopperheadOS while it was sponsored by
                this company. The intention was to use the company to build a business around
                GrapheneOS selling support, contract work and customized proprietary variants of the
                OS. The company was supposed to serve the needs of the open source project, rather
                than vice versa. It was explicitly agreed that GrapheneOS would remain
                independently owned and controlled by Daniel Micay. This company failed to live up
                the promises and is no longer associated in any way with GrapheneOS. The company
                ended up holding back the open source project and taking far more from it than was
                provided to it.</p>

                <p>In 2018, the company was hijacked by the CEO who attempted to take over the project
                through coercion, but they were rebuked. They seized the infrastructure and stole the
                donations, but the project successfully moved on without them and has been fully
                revived. Since then, they've taken to fraudulently claiming ownership and authorship
                of our work, which has no basis in fact. They've tried to retroactively change the
                terms of their involvement and rewrite the history of the project. These claims are
                easily falsified through the public record and by people involved with the open source
                project and the former sponsor. This former sponsor has engaged in a campaign of
                misinformation and harassment of contributors to the project. Be aware that they are
                actively trying to sabotage GrapheneOS and are engaging in many forms of attacks
                against the project, the developers, contributors and supporters. Meanwhile, they
                continue profiting from our open source work which they falsely claim as their own
                creation.</p>

                <p>After splitting from the former sponsor, the project was rebranded to
                AndroidHardening and then to GrapheneOS and it has continued down the original path of
                being an independent open source project. It will never again be closely tied to any
                particular sponsor or company.</p>

                <p>GrapheneOS now has multiple full-time and part-time developers supported by
                donations and multiple companies collaborating with the project.</p>
            </section>

            <section id="upstream">
                <h2><a href="#upstream">Upstream contributions</a></h2>

                <p>See <a href="/faq#upstream">the FAQ section on our upstream work</a> improving
                privacy and security for billions of users by getting a subset of our changes into
                core infrastructure projects.</p>
            </section>

            <section id="copyright-and-licensing">
                <h2><a href="#copyright-and-licensing">Copyright and licensing</a></h2>

                <p>GrapheneOS is permissively licensed and has never used copyright assignment, so
                the work is owned by the developers. See the
                <a href="/faq#copyright-and-licensing">FAQ entry on copyright and licensing</a>
                for more details.</p>
            </section>

            <section id="roadmap">
                <h2><a href="#roadmap">Roadmap</a></h2>

                <p>See <a href="/faq#roadmap">the FAQ section on the roadmap</a>.</p>
            </section>

            <section id="device-support">
                <h2><a href="/faq#device-support">Device support</a></h2>

                <p>See <a href="/faq#device-support">the FAQ section on device support</a>.</p>
            </section>
        </main>
        <footer>
            <a href="/"><img src="/mask-icon.svg" 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>
                <li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
                <li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
            </ul>
        </footer>
    </body>
</html>